<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>Hi Ross,</p>
<div id="v1_rc_sig">
<pre>> OK, so we’ve established (again!) that your problem is that your server’s presentation times are not properly aligned with ‘wall clock’ time <br />> (the time that you’d get by calling “gettimeofday()”).  This is necessary because the periodic RTCP “SR” (“Sender Report”) packets - <br />> sent by the server - are used, by receivers, to properly synchronize the stream, and the timestamps in these RTCP “SR” packets are set by calling <br />> “gettimeofday()”.  <br />> (Note, BTW, that these RTCP “SR” packets are sent frequently, and do *not* necessarily coincide with the connection of new RTSP clients.)
<br />So, this RTCP SR logic is calling gettimeofday() and changing fPresentationTime outside of my control?<br />
> If - using your current scheme - you cannot keep your presentation times aligned with wall clock time, then I suggest computing your presentation <br />> times by calling “gettimeofday()” each time - not just at the start of the stream.  Or, if you feel that that’s too expensive, <br />> then compute it using “gettimeofday()” something like every 100 frames.
<br />I've come full circle now, I started with calling gettimeofday() every single frame, but the users complained that vlc was way too jumpy and they <br />insisted that other encoders showed exactly 40ms between the presentation times of every frame. <br /><br />However, it sounds promising to re-align with wall-clock time every 100 frames, which is every 4 seconds in my application. <br /><br />- D

Ross Finlayson
Live Networks, Inc.
<a href="http://www.live555.com/" target="_blank" rel="noopener noreferrer">http://www.live555.com/</a></pre>
</div>
</body></html>