Hello Andre

Andre Kirchner a écrit :
Thanks for the information. It was very helpful.

If the streamID is used to associate a response with a a request, what's the 
use of csid?

As you know, RTMP stands for Real Time Media Protocol which means you may use this protocol to exchange several streams at the time between a client and a server. To do so you need to multiplexe your streams (ex : one first stream for audio, a second one for video and so on). This is achived transmiting data into small pieces so you could toggle sending thses streams simultaneously.

For example you may want to send a 64KB data block to the server. This data block is splitted into small pieces (chunks), sent to the server and reassembled once received in order to recompose the original data block. The default size of a chunk is 128 bits (it can be modified sending a special low level protocol chunk, reserved csid 2, type 1).

As you can send several streams at the same time, client and server have to identify each chunk stream exchanged.

The use of csid aims to solve a performance issue. As I wrote in my last post, csid may be stored in only one byte where sid is always stored in 3 bytes. Multiplied by the number of chunks used to send a stream, it would represent useless extra bytes consumption (in my example 64KB data exchange may use an extra 1KB load if you consider sid would have to be sent instead of using a csid between 3 and 63. Saved 1.5% of trafic).

I also guess this protocol was implemented in order to make difficult to understand mecanisms behind Flash stream transmissions. After all, RTMP specification where made public only a few weeks ago. ;) ;)

Cheers.

--
Max.


_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

Reply via email to