<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><blockquote type="cite"><div dir="ltr"><div><div>So my concern and my question was more about <span style="" class="">recieving</span>/sending frames than <span style="" class="">recieving</span>/sending packets, so that I was asking if inside <span style="" class="">livemedia</span> there is any buffer that stores packets, sorts them and compile them in frames.</div></div></div></blockquote><div><br></div>Sort of. First, our RTP reception code automatically ensures that incoming data is delivered in the correct order, even if packets happen to get reordered on the network. So that's not something that you ever need to worry about. Our code also deals with the fact that H.264 NAL units may be fragmented over multiple RTP packets. Our RTP reception code ("H264VideoRTPSource", for H.264 video) always delivers either a complete NAL unit, or (if one of the fragment packets happened to have been lost) no NAL unit at all. (Note that if a H.264 video 'access unit' has been split into several slices (each one being a NAL unit), then these slices will be delivered - in order, and completely (or not at all) - to the recipient.)</div><div><br></div><div>Also, the incoming NAL units will be sorted into 'decode order' - because that's the order (according to the H.264/RTP payload format standard) in which they were originally transmitted.</div><div><br></div><div>Finally, we have a Boolean function "RTPSource::curPacketMarkerBit()" that the receiving code can call to check whether or not the most recently-received NAL unit ends an 'access unit'.</div><div><br></div><div>The bottom line is that our code automatically deals with the RTP packetization/depacketization. All you (as a programmer) need to deal with is 'NAL units'.</div><div><br></div><div>You can illustrate this by running the "testRTSPClient" demo application on a H.264 RTSP stream. See also <a href="http://www.live555.com/liveMedia/faq.html#testRTSPClient-how-to-decode-data">http://www.live555.com/liveMedia/faq.html#testRTSPClient-how-to-decode-data</a></div><div><br></div><div>(ps. When responding to an email, please remember to properly trim the text of the quoted message that you're responding to.)</div><br><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>