Mercurial > mplayer.hg
changeset 12007:b41cc72bb8ad
We now allow for the possibility of the RTCP audio/video synchronization being
incorrect. (I encounted a stream for which this was the case.) Now, if
audio and video are out-of-sync by >60 seconds, we assume that the RTCP
sync is incorrect, and we don't discard any packets.
author | rsf |
---|---|
date | Tue, 02 Mar 2004 08:52:59 +0000 |
parents | f4537eee7c33 |
children | 8631b43c9d82 |
files | libmpdemux/demux_rtp.cpp |
diffstat | 1 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpdemux/demux_rtp.cpp Mon Mar 01 14:58:20 2004 +0000 +++ b/libmpdemux/demux_rtp.cpp Tue Mar 02 08:52:59 2004 +0000 @@ -305,8 +305,14 @@ // audio and video streams get this far apart.) // (We don't do this when streaming over TCP, because then the audio and // video streams are interleaved.) + // (Also, if the stream is *excessively* far behind, then we allow + // the packet, because in this case it probably means that there was + // an error in the source's timestamp synchronization.) const float ptsBehindThreshold = 1.0; // seconds - if (ptsBehind < ptsBehindThreshold || rtspStreamOverTCP) { // packet's OK + const float ptsBehindLimit = 60.0; // seconds + if (ptsBehind < ptsBehindThreshold || + ptsBehind > ptsBehindLimit || + rtspStreamOverTCP) { // packet's OK ds_add_packet(ds, dp); break; }