[MPlayer-users] Re: status of the rtsp support NOVIRUS

Ross Finlayson finlayson at live.com
Wed Sep 24 00:08:54 CEST 2003


>Once again I did not explain the problem correctly, sorry :(
>The problem is that the difference between the packets' presentation
>times is about 3000 seconds... Hence, packets will no longer be
>discarded after about 48 minutes.
>I discovered this by defining DEBUG_PRINT_DISCARDED_PACKETS and by
>adding some printf()s.
>
>In my understanding the problem is due to the fact that after the
>arrival of the first RTCP packet (I think it is a SR) a stream is
>synchronized while the other one is not (hence, the packets'
>presentation times of the two streams cannot be reliably compared).

That's true.  However, once the *second* stream gets synchronized via RTCP, 
then both the audio and video stream will now have accurate presentation 
timestamps.

If, for some reason, only one of the two streams is sending RTCP packets, 
then this is a bug in your transmitting program.  (If the problem is with 
"vobStreamer", then please report this on the "live-devel" mailing list: 
<http://lists.sourceforge.net/lists/listinfo/live-devel>)

You should also check that both the receiving computer and the sending 
computer (if you have access to it) has a correct system clock.  This 
should ensure that reasonably accurate presentation times are generated 
even when one or both of the streams hasn't yet been synchronized using 
RTCP.  (I suspect that one of these two computers has a clock that's ~3000 
seconds too early or late.)

>What the patch does is simply to wait for the streams to be synchronized
>before beginning to play.

The trouble with this is that incoming packets should be useable even if 
their presentation times haven't yet been synchronized using RTCP (or if, 
for some reason, the sender doesn't send RTCP at all).

A better solution would be to leave the "ptsBehind" value at zero if one or 
both of the streams has not yet been synchronized using RTCP - so that the 
packet will never get discarded in that case.  (I had thought that the code 
already did that, but I see now that it doesn't.)  I'll check in a fix to 
CVS sometime within the next day or so.

         Ross.



More information about the MPlayer-users mailing list