[Live-devel] Problemofnewsupportfor unicastRTSP/RTPstreaming froma single input source

Ross Finlayson finlayson at live.com
Wed Dec 1 16:39:27 PST 2004


>I still have problem to stream live Transport Stream by using
>"testOnDemandRTSPServer".
>
>Since OnDemandRTSPServer supports live streaming by sharing one single
>source. I have tested live streaming on all types of media. Now I can make
>MPEG2-PS, MPEG2-ES, MPEG4-ES live steaming work just fine. But MPEG2-TS live
>streaming almost fail to me every time (There was only once it did work for
>me good which I do not understand). It always give me the error "Missing
>sync byte!"

The problem is your input data: It's apparently malformed (at least, when 
it gets to the "MPEG2TransportStreamFramer" code).

The "Missing sync byte" error message (in 
"MPEG2TransportStreamFramer::updateTSPacketDurationEstimate()") occurs when 
the data that you've just read does not contain a proper Transport Stream 
sync byte (0x47) at position 188, or 188*2, or 188*3 etc.  (At this point 
the code has already checked that the first byte (at position 0) is a sync 
byte.)

You can verify this by adding code to "MPEG2TransportStreamFramer.cpp" at 
line 95 - i.e., just after the line
         } // else normal case: the data begins with a sync byte
that prints out the data (from "fTo[0]" through "fTo[fFrameSize-1]", 
inclusive).  If you do this, you'll see that your input data is bad.


	Ross Finlayson
	LIVE.COM
	<http://www.live.com/>



More information about the live-devel mailing list