[Live-devel] Seeking with live.com library

Ross Finlayson finlayson at live.com
Sun Aug 21 15:58:07 PDT 2005


At 08:43 AM 8/21/2005, you wrote:
>Hi all,
>In the last couple of days I've been working a little bit with seeking
>rtsp on-demand streams.
>When the RTPInfo data is present (the rstp server indicates in the answer
>to the play command the first RTSP packets after the resync point)
>everything is OK, but unfortunately rtpinfo is not mandatory.
>Right now, I'm using DSS 5.5.1, and RTPInfo is present only for UDP
>streaming, and for TCP streaming in extreme situations (like seeking
>at intervals of <100msec). I suppose that there might be some race
>condition in DSS.
>Anyone has any idea/opinion about this problem?

There is a known bug in the DSS that may be related to your problem.

Here, FYI, is a bug report that I submitted to Apple's 
"streaming-server-dev" mailing list back in June.  However, Apple is 
pretty much useless at fixing DSS and Quicktime bugs, so I don't have 
any confidence that this will get fixed.

Note: Any follow-up messages should go to one of Apple's mailing 
lists - not this list - as this is not a problem with the "LIVE.COM 
Streaming Media" code.

[My bug report from 6/2005:]

>DSS (version 5.x, Build/475, and apparently earlier versions also) 
>has a bug in the way it generates the RTP-timestamp-to-NTP-time 
>mapping in RTCP Sender Report ("SR") packets, if the RTP/RTCP stream 
>is carried within the RTSP TCP connection (as described in RFC 2326, 
>section 10.12).  The problem occurs *only* with RTP/RTCP-over-TCP 
>streaming.  For RTP/RTCP-over-UDP streaming, there is not a problem.
>
>I believe that the problem occurs with any DSS stream; however, for 
>illustration, I will use the hinted file at 
><http://www.live.com/ct.mov> as an example.
>
>When this file is streamed over UDP, the RTCP "SR"s are 
>OK.  However, when this file is streamed over TCP, the RTCP "SR"s 
>appear as follows:
>
>1/ The first "SR" contains a reasonable RTP-timestamp-to-NTP-time 
>mapping (the NTP time is about 1 second less than the time that the 
>RTP packet with the corresponding RTP timestamp was received).
>
>2/ The second "SR" - which arrives about 13 seconds later, and which 
>contains a RTP timestamp that indicates a difference of about 14 
>seconds from the previous "SR" - contains a NTP time that is 7 
>seconds later than that in the previous "SR".
>
>3/ The third "SR" - which arrives about 7 seconds later, and which 
>contains a RTP timestamp that indicates a difference of about 14 
>seconds from the previous "SR" - contains a NTP time that is 7 
>seconds later than that in the previous "SR".
>
>4/ The fourth "SR" - which arrives about 7 seconds later, and which 
>contains a RTP timestamp that indicates a difference of about 14 
>seconds from the previous "SR" - contains a NTP time that is 7 
>seconds later than that in the previous "SR".
>
>5/ The fifth "SR" - which arrives about 3 seconds later, and which 
>contains a RTP timestamp that indicates a difference of about 10 
>seconds from the previous "SR" - contains a NTP time that is 7 
>seconds later than that in the previous "SR".
>
>6/ The sixth "SR" - which arrives about 4 seconds later, and which 
>contains a RTP timestamp that indicates a difference of about 7 
>seconds from the previous "SR" - contains a NTP time that is 7 
>seconds later than that in the previous "SR".
>
>7/ The seventh and following "SR"s are OK: They arrive about 7 
>seconds apart,  contain a RTP timestamp that indicates a difference 
>of about 7 seconds from the previous "SR", and a NTP time that is 7 
>seconds later than that in the previous "SR".
>
>Therefore, the first, seventh and following "SR"s are OK; the second 
>through sixth "SR"s are bad.


	Ross Finlayson
	LIVE.COM
	<http://www.live.com/>



More information about the live-devel mailing list