[Live-devel] Request to Fix inconsistent timestamps in openrtsp

Ross Finlayson finlayson at live555.com
Mon Jan 18 18:18:12 PST 2010


>The problem I experience with VLC is that it takes the first set of 
>presentation stamps as it's seed.

VLC's "live555" demux module (see "modules_demux_live555.cpp") does 
not do this.  (At least, it shouldn't be doing this.  If - after 
inspecting that code - you're *sure* there's a bug there, then please 
report it to VLC (not to us; VLC is not our software).)  Note, in 
particular, the call to "hasBeenSynchronizedUsingRTCP()" in that 
code.  So, if you're not using the "live555" demux module, then you 
probably should.  Once again, please don't try to reinvent the wheel.


>I have tried playing with the code myself in vlc but have not had 
>success getting a proper result out of it, it's beyond my ability to 
>resolve.

Once again, are you using VLC's "live555" demux module?  If not, why 
not?  (In any case, alleged bugs in VLC are off-topic for this 
mailing list.)


>Could openRTSP

I think you mean "the LIVE555 Streaming Media libraries", not 
"openRTSP".  "openRTSP" is a demo application, not a library.

>  not simply calculate an offset after the RCTP packet and adjust 
>each subsequent packet by that offset to keep the whole PTS stream 
>consistent?

Because - in the case where you have more than one substream (e.g., 
audio + video), that would *not* keep their presentation times in 
sync.

Remember, once again, that the presentation times for the audio and 
video streams - after "hasBeenSynchronizedUsingRTCP()" returns True 
for both - will be accurate, and in sync with each other.  But the 
presentation times that occurred *before* 
"hasBeenSynchronizedUsingRTCP()" returns True will not be in sync. 
Therefore, although we could - in principle - add an offset to the 
audio presentation times so that their presentation times after RTCP 
sync are consistent with those before RTCP sync, we could not also do 
the same for the video presentation times, without bringing the audio 
and video presentation times out of sync with each other.

This is why only the presentation times that occur after 
"hasBeenSynchronizedUsingRTCP()" returns True can be trusted for A/V 
synchronization, and why VLC's "live555" demux module calls that 
function.
-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/


More information about the live-devel mailing list