<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></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 19, 2015, at 8:08 AM, Stas Tsymbalov <<a href="mailto:tsymbalov@trueconf.ru" class="">tsymbalov@trueconf.ru</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><br class="">Sometimes it is desired to use presentation time already stored with<br class="">input frames.</div></blockquote><div><br class=""></div></div>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’.<div class=""><br class=""></div><div class="">(In other words, your proposed patch here is completely unnecessary.)</div><div class=""><br class=""></div><div class="">If - for whatever reason - you want to have your H.264 video source as a byte stream, but with pre-computed presentation times stored separately, then you could implement this by having your H.264 video byte stream feed into a “H264VideoStreamFramer”, which in turn would feed into your own “FramedFilter” subclass that would also get presentation times from your separate source.  Your “FramedFilter” subclass would then feed these H.264 NAL units, along with the presentation times, into a “H264VideoStreamDiscreteFramer”.  Again, no change to the supplied code is needed to do this.</div><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>