I wrote:

I have two independent ByteStreamFileSource objects - One feeds MPEG-4 video elementary stream (.m4v) data to an MPEG4VideoStreamFramer. One feeds MPEG-1, Layer 3 (.mp3) audio data to an MPEG1or2AudioStreamFramer.

Those framers then each feed a MPEG2TransportStreamFromESSource object.
The resultant transport stream feeds a FileSink object that writes my .ts file.

My own additional debug output suggests that my MPEG2TransportStreamFromESSource object just stops calling getNextFrame() on the video input source (MPEG4VideoStreamFramer). I have no idea why this would be. It seems that the MPEG2TransportStreamFromESSource is running into trouble when it has to deal with my two framer objects feeding it at the same time.

Here's an update:

(See InputESSourceRecord::askForNewData() in MPEG2TransportStreamFromESSource.cpp)

I have confirmed that MPEG2TransportStreamFromESSource object stops
calling getNextFrame() on my video framer source because
fInputSource->isCurrentlyAwaitingData()  almost always returns True for
my MPEG4VideoStreamFramer object.  Since both my audio and video framer
objects work fine independently, I wonder if there is a bug
in MPEG2TransportStreamFromESSource that causes it to get its sources
confused (and hence, thinks that  the MPEG4VideoStreamFramer object is
awaiting data when it really isn't).  A very similar problem was
cited here:
<http://lists.live555.com/pipermail/live-devel/2008-June/008763.html> ,
but I  don't think that there was ever a resolution to it.









_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to