[Live-devel] seeking in DSS stream

alex mean.while.mw at gmail.com
Thu Oct 9 23:37:35 PDT 2008


hi,
I stream a mp4(h264+aac) file from a Darwin Streaming Server v5.5.3
and write a livemedia test client to test it.
When I do seeking operation, I find that when the client send pause,
seek and play command and start playing again, there will be a gap in
the DSS's RTCP SR ntpTimestamp(I print out this in
RTPReceptionStats::noteIncomingSR()), and this will cause the
MediaSubsession::getNormalPlayTime return a wrong NPT, jump from
201.17 to 3.78.
I think when client do seeking operation and send the rtsp play
command, the RTPReceptionStats::fHasBeenSynchronized should be set to
false, so that MediaSubsession::getNormalPlayTime can update the value
of fNPT_PTS_Offset with the new ntpTimestamp in the following RTCP SR.
Or if this jump of ntpTimestamp is a bug of the DSS server?
Could you please give me some advise?
I paste some of the logs after the mail. I print a message in
MediaSubsession::getNormalPlayTime(), and print a message when the
client receive incoming SR. The format is
 [ptsDouble*scale()]+[fNPT_PTS_Offset]=NPT[npt]-[curPacketRTPTimestamp][rtpInfo.timestamp]--A/V
 [1223617239.875652]-[-1223617038.702323]=NPT[201.173325]-[9813284][9756964]--A
Thank you very much for your help!
Yours, mw
-------------------------------------------------------------------------------------------------------
Sending request: PLAY rtsp://192.168.1.11/test.mp4/ RTSP/1.0
CSeq: 4
Session: 70888435244962
Range: npt=0.000-
User-Agent: RTP demuxer (LIVE555 Streaming Media v2008.05.12)


Received PLAY response: RTSP/1.0 200 OK
Server: DSS/5.5.3 (Build/489.12; Platform/Win32; Release/Darwin; )
Cseq: 4
Session: 70888435244962
Range: npt=0.00000-2099.88267
RTP-Info: url=rtsp://192.168.1.11/test.mp4/trackID=2;seq=30349;rtptime=4447,url=rtsp://192.168.1.11/test.mp4/trackID=6;seq=10665;rtptime=24057

(...omit some lines)

 [1223617035.630666]-[-1223617035.460000]=NPT[0.170666]-[9524][1332]--A
 [1223617035.660000]-[-1223617035.460000]=NPT[0.200000]-[46350][28350]--V
 [1223617035.715999]-[-1223617035.460000]=NPT[0.255999]-[13620][1332]--A
 [1223617035.700000]-[-1223617035.460000]=NPT[0.240000]-[49950][28350]--V
(...omit some lines)

 [1223617037.820000]-[-1223617035.460000]=NPT[2.360000]-[240750][28350]--V
 [1223617037.849324]-[-1223617035.460000]=NPT[2.389324]-[116020][1332]--A
 [1223617037.849324]-[-1223617035.460000]=NPT[2.389324]-[116020][1332]--A
 [1223617037.860000]-[-1223617035.460000]=NPT[2.400000]-[244350][28350]--V
(  seek to 200s)
Sending request: PAUSE rtsp://192.168.1.11/test.mp4/ RTSP/1.0
CSeq: 5
Session: 21775484192068
User-Agent: RTP demuxer (LIVE555 Streaming Media v2008.05.12)


 [1223617038.019990]-[-1223617035.460000]=NPT[2.559990]-[124212][1332]--A
 [1223617038.019990]-[-1223617035.460000]=NPT[2.559990]-[124212][1332]--A
Received PAUSE response: RTSP/1.0 200 OK
Server: DSS/5.5.3 (Build/489.12; Platform/Win32; Release/Darwin; )
Cseq: 5
Session: 21775484192068

 [1223617037.980000]-[-1223617035.460000]=NPT[2.520000]-[255150][28350]--V
 [1223617038.020000]-[-1223617035.460000]=NPT[2.560000]-[258750][28350]--V
===[noteIncomingSR][line:365]fSyncTime[0.000000]fSyncTimestamp[892679493]
===[noteIncomingSR][line:372]fSyncTime[1223617039.690000]fSyncTimestamp[171685]
Sending request: PLAY rtsp://192.168.1.11/test.mp4/ RTSP/1.0
CSeq: 6
Session: 21775484192068
Range: npt=200.000-
User-Agent: RTP demuxer (LIVE555 Streaming Media v2008.05.12)


 [1223617238.702323]-[-1223617035.460000]=NPT[203.242325]-[9756964][1332]--A
Received PLAY response: RTSP/1.0 200 OK
Server: DSS/5.5.3 (Build/489.12; Platform/Win32; Release/Darwin; )
Cseq: 6
Session: 21775484192068
Range: npt=200.00000-2099.88267
RTP-Info: url=rtsp://192.168.1.11/test.mp4/trackID=2;seq=4179;rtptime=18324000,url=rtsp://192.168.1.11/test.mp4/trackID=6;seq=21669;rtptime=9756964

(...omit some lines)
 [1223617239.875652]-[-1223617038.702323]=NPT[201.173325]-[9813284][9756964]--A
 [1223617239.875652]-[-1223617038.702323]=NPT[201.173325]-[9813284][9756964]--A
 [1223617239.875652]-[-1223617038.702323]=NPT[201.173325]-[9813284][9756964]--A
 [1223617239.864999]-[-1223617038.744999]=NPT[201.119995]-[18424800][18324000]--V
 [1223617239.904999]-[-1223617038.744999]=NPT[201.160004]-[18428400][18324000]--V
 [1223617239.944999]-[-1223617038.744999]=NPT[201.199997]-[18432000][18324000]--V
===[noteIncomingSR][line:365]fSyncTime[1223617239.875652]fSyncTimestamp[9813284]
===[noteIncomingSR][line:372]fSyncTime[1223617042.483000]fSyncTimestamp[9817380]
===[noteIncomingSR][line:365]fSyncTime[1223617239.944999]fSyncTimestamp[18432000]
===[noteIncomingSR][line:372]fSyncTime[1223617042.508000]fSyncTimestamp[18435600]
 [1223617042.483000]-[-1223617038.702323]=NPT[3.780677]-[9817380][9756964]--A
 [1223617042.483000]-[-1223617038.702323]=NPT[3.780677]-[9817380][9756964]--A
 [1223617042.483000]-[-1223617038.702323]=NPT[3.780677]-[9817380][9756964]--A
 [1223617042.483000]-[-1223617038.702323]=NPT[3.780677]-[9817380][9756964]--A
 [1223617042.508000]-[-1223617038.744999]=NPT[3.763001]-[18435600][18324000]--V
 [1223617042.568333]-[-1223617038.702323]=NPT[3.866010]-[9821476][9756964]--A
 [1223617042.568333]-[-1223617038.702323]=NPT[3.866010]-[9821476][9756964]--A


More information about the live-devel mailing list