<div dir="ltr">I read the source code again,yes,&quot;MPEG4GenericRTPSource&quot; indeed implements multiple frames per packet by reimplementation of the virtual function &quot;MPEG4GenericBufferedPacket::nextEnclosedFrameSize()&quot;,but it had not update the &quot;fPresentationTime&quot; after the first received frame,since &quot;frameDurationInMicroseconds&quot; is always 0.In that case,from a multiframed packet,we will get several frames with the same timestamp,is it a bug?<br>
<br><div class="gmail_quote">2008/9/16 Ross Finlayson <span dir="ltr">&lt;<a href="mailto:finlayson@live555.com">finlayson@live555.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">At 07:59 AM 9/15/2008, you wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
but what if the RTP payload which cached in buffered packet is a multiframed packet?In that case,what we get from &quot;MultiFramedRTPSource::doGetNextFrame1&quot; will be more than one frames<br>
</blockquote>
<br></div>
That&#39;s OK. &nbsp;However, not all of these frames will be delivered to the reading object at once. &nbsp;Instead, only one frame will be delivered at a time. &nbsp;This is implemented by the virtual function &quot;nextEnclosedFrameSize()&quot;, which calculates the size of each frame within the packet.<div class="Ih2E3d">
<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
,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?<br>

</blockquote>
<br></div>
&quot;MPEG4GenericRTPSource&quot; implements multiple frames per packet &nbsp;(except currently for interleaving); note the function &quot;MPEG4GenericBufferedPacket::nextEnclosedFrameSize()&quot;.<br>
<br>
However, you&#39;re correct that &quot;MPEG4ESVideoRTPSource&quot; currently does not implement multiple frames per packet (it currently does not reimplement the &quot;nextEnclosedFrameSize()&quot; virtual function).<br>

<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;Ross Finlayson<br>
 &nbsp; &nbsp; &nbsp; &nbsp;Live Networks, Inc. (<a href="http://LIVE555.COM" target="_blank">LIVE555.COM</a>)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;&lt;<a href="http://www.live555.com/" target="_blank">http://www.live555.com/</a>&gt;<br>
<br>
_______________________________________________<br>
live-devel mailing list<br>
<a href="mailto:live-devel@lists.live555.com" target="_blank">live-devel@lists.live555.com</a><br>
<a href="http://lists.live555.com/mailman/listinfo/live-devel" target="_blank">http://lists.live555.com/mailman/listinfo/live-devel</a><br>
</blockquote></div><br></div>