4.1.4 Data Streaming Sequence
The following annotation shows the Set Allocator message sent from the server to the client. The various fields of the message indicate the buffer properties preferred by the server.
-
Set Allocator ChannelName = TSMF,48,server to client 00000000 00 00 00 40 00 00 00 00 12 01 00 00 79 40 84 8b ...@........y@.. 00000010 0e b7 0f 45 87 93 3d 7f fa 31 d0 53 01 00 00 00 ...E..=..1.S.... 00000020 64 00 00 00 05 00 01 00 01 00 00 00 00 00 00 00 d............... 00 00 00 40 -> Interface Id = 0x00000000 | mask STREAM_ID_PROXY (0x40000000) 00 00 00 00 -> Message Id = 0x00000000 12 01 00 00 -> SET_ALLOCATOR = 0x112 79 40 84 8b -> PresentationId (GUID) = {8b844079-b70e-450f-8793-3d7ffa31d053} 0e b7 0f 45 87 93 3d 7f fa 31 d0 53 01 00 00 00 -> StreamId = 0x01 64 00 00 00 -> cBuffers = 0x64 05 00 01 00 -> cbBuffer = 0x10005 01 00 00 00 -> cbAlign = 0x01 00 00 00 00 -> cbPrefix = 0x00
The following annotation shows the Notify Preroll message sent from the server to the client. This message indicates that the stream is preloading the media data before playback.
-
Notify Preroll ChannelName = TSMF,32,server to client 00000000 00 00 00 40 00 00 00 00 13 01 00 00 9e f9 48 4e ...@..........HN 00000010 46 7b 8e 4a b7 7a e4 0f b5 9e cc 63 01 00 00 00 F{.J.z.....c.... 00 00 00 40 -> Interface Id = 0x00000000 | mask STREAM_ID_PROXY (0x40000000) 00 00 00 00 -> Message Id = 0x00000000 13 01 00 00 -> NOTIFY_PREROLL = 0x113 9e f9 48 4e -> PresentationId (GUID) = {4e48f99e-7b46-4a8e-b77a-e40fb59ecc63} 46 7b 8e 4a b7 7a e4 0f b5 9e cc 63 01 00 00 00 -> StreamId = 0x01
The following annotation shows the On Sample message sent from the server to the client. Various fields of this message indicate the sample properties and the sample data encoded in the stream format.
-
On Sample ChannelName = TSMF,2090,server to client 00000000 00 00 00 40 00 00 00 00 03 01 00 00 79 40 84 8b ...@........y@.. 00000010 0e b7 0f 45 87 93 3d 7f fa 31 d0 53 01 00 00 00 ...E..=..1.S.... 00000020 06 08 00 00 37 00 00 00 00 00 00 00 38 00 00 00 ....7.......8... 00000030 00 00 00 00 15 16 05 00 00 00 00 00 00 00 00 00 ................ 00000040 03 00 00 00 e2 07 00 00 00 00 01 b3 14 00 f0 13 ................ 00000050 ff ff e0 c1 10 11 11 12 12 12 13 13 13 13 14 14 ................ (skipped) 00000820 09 9c 9a 91 80 0c 00 1b 93 78 .........x 00 00 00 40 -> Interface Id = 0x00000000 | mask STREAM_ID_PROXY (0x40000000) 00 00 00 00 -> Message Id = 0x00000000 03 01 00 00 -> ON_SAMPLE = 0x103 79 40 84 8b -> PresentationId (GUID) = {8b844079-b70e-450f-8793-3d7ffa31d053} 0e b7 0f 45 87 93 3d 7f fa 31 d0 53 01 00 00 00 -> StreamId = 0x01 06 08 00 00 -> numSample = 0x806 37 00 00 00 -> SampleStartTime = 0x37 00 00 00 00 38 00 00 00 -> SampleEndTime = 0x38 00 00 00 00 15 16 05 00 -> ThrottleDuration = 0x51615 00 00 00 00 00 00 00 00 -> SampleFlags = 0x00 03 00 00 00 -> SampleExtensions = TSMM_SAMPLE_EXT_CLEANPOINT | TSMM_SAMPLE_EXT_DISCONTINUITY = 0x03 e2 07 00 00 -> cbData = 0x7e2 00 00 01 b3 -> pData (variable size = 0x7e2) (skipped) 80 0c 00 1b 93 78
The following annotation shows the On Flush message sent from the server to the client. The StreamId field identifies the stream to be flushed.
-
On Flush ChannelName = TSMF,32,server to client 00000000 00 00 00 40 00 00 00 00 0e 01 00 00 99 ac f1 31 ...@...........1 00000010 0c 83 97 43 92 28 dc ff-1a 45 1d d1 01 00 00 00 ...C.(...E...... 00 00 00 40 -> Interface Id = 0x00000000 | mask STREAM_ID_PROXY (0x40000000) 00 00 00 00 -> Message Id = 0x00000000 0e 01 00 00 -> ON_FLUSH = 0x10e 99 ac f1 31 -> PresentationId (GUID) = {31f1ac99-830c-4397-9228-dcff1a451dd1} 0c 83 97 43 92 28 dc ff 1a 45 1d d1 01 00 00 00 -> StreamId = 0x01
The following annotation shows the On End of Stream message sent from the server to the client. The StreamId field identifies the stream for which the end of data has been reached.
-
On End of Stream ChannelName = TSMF,32,server to client 00000000 00 00 00 40 00 00 00 00 11 01 00 00 99 ac f1 31 ...@...........1 00000010 0c 83 97 43 92 28 dc ff 1a 45 1d d1 01 00 00 00 ...C.(...E...... 00 00 00 40 -> Interface Id = 0x00000000 | mask STREAM_ID_PROXY (0x40000000) 00 00 00 00 -> Message Id = 0x00000000 11 01 00 00 -> ON_END_OF_STREAM = 0x111 99 ac f1 31 -> PresentationId (GUID) = {31f1ac99-830c-4397-9228-dcff1a451dd1} 0c 83 97 43 92 28 dc ff 1a 45 1d d1 01 00 00 00 -> StreamId = 0x01