<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On May 29, 2015, at 1:52 AM, Stas Tsymbalov <<a href="mailto:tsymbalov@trueconf.ru" class="">tsymbalov@trueconf.ru</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><blockquote type="cite" class="">Yes, but the way to deliver these is through the “*DiscreteFramer” classes.  Specifically, if your input source consists of H.264 NAL units - each with a known presentation time - then you should feed your input source into a “H264VideoStreamDiscreteFramer” (and from there into a “H264VideoRTPSink”).  Note, BTW, that each H.264 NAL unit that you feed into a “H264VideoStreamDiscreteFramer” must *not* begin with a ‘start code’.<br class=""></blockquote><br class="">In my case encoder provides all NAL units corresponding for 1 frame of video in a byte stream</div></blockquote><div><br class=""></div>OK, it sounds like it doesn’t really provide a ‘byte stream’, but instead provides a chunk of data - for each frame - that consists of multiple NAL units, each with a ‘start code’ in front.  If that’s the case, then you don’t need the full parsing overhead of “H264VideoStreamFramer”.  Instead, you can parse this chunk of code much easier, with just a handful of lines of code.</div><div><br class=""></div><div>What I would suggest in this case is define your own filter (a subclass of “FramedFilter”) that receives each chunk of data from the encoder, and then delivers, one at a time, the NAL units that it contains - with presentation times, but without ‘start codes’ - to a downstream “H264VideoStreamDiscreteFramer”.  This will be a lot more efficient that using a “H264VideoStreamFramer”.</div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="">Thanks for advise, but passing presentation times separately from frames and around H264VideoStreamFramer seems far more complicated and clunky than this small change to framer, so I will stick with my solution.<br class=""></div></blockquote><br class="">OK, but remember this would complicate your obligations under the LGPL, because you would need to distribute your patch along with your product (so that your customers could - whenever they wished - replace the LIVE555 libraries with their own version).  Whereas if instead you use the existing, unmodified LIVE555 code with your own subclasses, then you wouldn’t need to distribute any of your own code.</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>See <a href="http://live555.com/liveMedia/faq.html#copyright-and-license" class="">http://live555.com/liveMedia/faq.html#copyright-and-license</a></div><br class=""><br class=""><div apple-content-edited="true" class="">
<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 class="">Live Networks, Inc.<br class=""><a href="http://www.live555.com/" class="">http://www.live555.com/</a></span></span>
</div>
<br class=""></body></html>