<DIV>Hi, All</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I think I have found a bug with live555 library which is used in VLC media player. When it' playing &nbsp;a RTSP stream from the MediaServer,&nbsp; I&nbsp;drag the slider to a new position but&nbsp;an error occurs&nbsp;: The slider will no longer move, while the video and audio still&nbsp;run correctly.&nbsp;(the tsx file is right there, and sequential playing is no problem). So I say, the live555 library with the client is not able to 'SEEK' to a position. </DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The cause is located in MediaSubsession::getNormalPlayTime() , MediaSession.cpp. Look at this line:</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; u_int32_t timestampOffset = rtpSource()-&gt;curPacketRTPTimestamp() - rtpInfo.timestamp;</DIV>
<DIV>In the suitation of 'SEEKING', it will not work because rtpInfo.timestamp will be larger than curPacketRTPTimestamp. According to RFC 2326, the media server echo a reply in response of 'PLAY' with the timestamp and seq_num. And should it be noted that the seq_num can be something in the future. So current RTP packet's timestamp maybe smaller than the rtpInfo.timestamp.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A solution to this problem can be just add a judgement before compute the new fNPT_PTS_Offset:</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; ..........................</DIV>
<DIV>&nbsp;&nbsp;&nbsp; if (rtpInfo.infoIsNew) {</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(rtpSource()-&gt;curPacketRTPSeqNum() &lt; rtpInfo.seqNum) return -0.1; // add this line<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; u_int32_t timestampOffset = rtpSource()-&gt;curPacketRTPTimestamp() - rtpInfo.timestamp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; double nptOffset = (timestampOffset/(double)(rtpSource()-&gt;timestampFrequency()))*scale();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ..........................<BR></DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Then the VLC media will work fine.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; John. ShaoFa</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2010-9-9</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>