[Live-devel] My MPEG4 Source does not make MPEG4ESVideoRTPSink set marker bits.
Cristiano Belloni
belloni at imavis.com
Mon Feb 25 09:26:31 PST 2008
Hi, I'm streaming MPEG4 and use FFMPEG library to encode MPEG4 frames
from my own live source.
I wrote my own FramedSource subclass and that does the trick.
The problem is, MPEG4ESVideoRTPSink does not set the marker bits at all.
I took a look at the code in the MPEG4ESVideoRTPSink.cpp file and it
goes like that:
00066 // Set the RTP 'M' (marker) bit iff this frame ends a VOP
00067 // (and there are no fragments remaining).
00068 // This relies on the source being a "MPEG4VideoStreamFramer".
00069 MPEG4VideoStreamFramer* framerSource =
(MPEG4VideoStreamFramer*)fSource;
00070 if (framerSource != NULL && framerSource->pictureEndMarker()
00071 && numRemainingBytes == 0) {
00072 setMarkerBit();
00073 framerSource->pictureEndMarker() = False;
00074 }
This means I should instead subclass MPEG4VideoStreamFramer and set the
pictureEndMarker everytime I have a complete frame? Is there no way to
have my marker bits set just subclassing FramedSource, just like I did
with H263 streaming?
Thanks and regards,
Cristiano.
--
Belloni Cristiano
Imavis Srl.
www.imavis.com <http://www.imavis.com>
belloni at imavis.com <mailto://belloni@imavis.com>
More information about the live-devel
mailing list