[Live-devel] what if MultiFramedRTPSource::doGetNextFrame1 get a multiframed packet?
Ross Finlayson
finlayson at live555.com
Mon Sep 15 21:25:20 PDT 2008
At 07:59 AM 9/15/2008, you wrote:
>but what if the RTP payload which cached in buffered packet is a
>multiframed packet?In that case,what we get from
>"MultiFramedRTPSource::doGetNextFrame1" will be more than one frames
That's OK. However, not all of these frames will be delivered to the
reading object at once. Instead, only one frame will be delivered at
a time. This is implemented by the virtual function
"nextEnclosedFrameSize()", which calculates the size of each frame
within the packet.
>,for example,we received a RTP packet which contain 3 MPEG4ES video
>frames before and save it to the buffered packet,then how to pick
>out the single frames and their config information like
>timestamp,length or else from this multiframed data?As I know,both
>class MPEG4ESVideoRTPSource and MPEG4GenericRTPSource have not been
>completed,do they need something like multiframe split as in last question?
"MPEG4GenericRTPSource" implements multiple frames per
packet (except currently for interleaving); note the function
"MPEG4GenericBufferedPacket::nextEnclosedFrameSize()".
However, you're correct that "MPEG4ESVideoRTPSource" currently does
not implement multiple frames per packet (it currently does not
reimplement the "nextEnclosedFrameSize()" virtual function).
Ross Finlayson
Live Networks, Inc. (LIVE555.COM)
<http://www.live555.com/>
More information about the live-devel
mailing list