<html><body>
<p><font size="2" face="sans-serif">Hi,</font><br>
<br>
<font size="2" face="sans-serif">I don't if this problem was reported before, I just find out yesterday when doing some testing with April 1st version. Streaming over TCP is now broken because of a recent change in the lib, I debugged it and this is the faulty line file OnDemandSeverMediaSubsession.cpp (line 463)</font><br>
<br>
<font size="2" face="Courier"> if (fRTCPInstance != NULL) {</font><br>
<font size="2" face="Courier"> // Hack: Send an initial RTCP "SR" packet, before the initial RTP packet, so that receivers will (likely) be able to</font><br>
<font size="2" face="Courier"> // get RTCP-synchronized presentation times immediately:</font><br>
<font size="2" face="Courier"> fRTCPInstance->sendReport();</font><br>
<font size="2" face="Courier"> }</font><br>
<br>
<font size="2" face="sans-serif">In TCP mode it is breaking the PLAY server answer to the client, here is the Wireshark grab of the RTSP communication:</font><br>
<br>
<br>
<font size="2" face="sans-serif">PLAY rtsp://10.6.4.140:5554/test/ RTSP/1.0</font><br>
<font size="2" face="sans-serif">CSeq: 5</font><br>
<font size="2" face="sans-serif">User-Agent: LibVLC/2.0.5 (LIVE555 Streaming Media v2012.09.13)</font><br>
<font size="2" face="sans-serif">Session: 89934BBE</font><br>
<font size="2" face="sans-serif">Range: npt=0.000-</font><br>
<br>
<font size="2" face="sans-serif">$..8....N.....^..5.J...m............N.....ca-rd-sgrondin....RTSP/1.0 200 OK <-------------------- PROBLEM ---------------</font><br>
<font size="2" face="sans-serif">CSeq: 5</font><br>
<font size="2" face="sans-serif">Date: Thu, Apr 11 2013 16:09:08 GMT</font><br>
<font size="2" face="sans-serif">Range: npt=0.000-</font><br>
<font size="2" face="sans-serif">Session: 89934BBE</font><br>
<font size="2" face="sans-serif">RTP-Info: url=rtsp://10.6.4.140:5554/test/track1;seq=18959;rtptime=3703760758</font><br>
<br>
<br>
<font size="2" face="sans-serif">You see that a SR packet was inserted before the server answer, this will disconnect any clients waiting the OK from the server. Got the problem with VLC and my own application.</font><br>
<br>
<font size="2" face="sans-serif">Suggested fix:</font><br>
<br>
<font size="2" face="sans-serif">i</font><font size="2" face="Courier">f (dests->isTCP == False) {</font><br>
<font size="2" face="Courier"> if (fRTCPInstance != NULL) {</font><br>
<font size="2" face="Courier"> // Hack: Send an initial RTCP "SR" packet, before the initial RTP packet, so that receivers will (likely) be able to</font><br>
<font size="2" face="Courier"> // get RTCP-synchronized presentation times immediately:</font><br>
<font size="2" face="Courier"> fRTCPInstance->sendReport();</font><br>
<font size="2" face="Courier"> }</font><br>
<font size="2" face="Courier">}</font><br>
<br>
<font size="2" face="sans-serif">Thanks again for the great software library!</font><br>
<br>
<font size="2" face="sans-serif">Serge</font><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<p>DISCLAIMER:
Privileged and/or Confidential information may be contained in this
message. If you are not the addressee of this message, you may not
copy, use or deliver this message to anyone. In such event, you
should destroy the message and kindly notify the sender by reply
e-mail. It is understood that opinions or conclusions that do not
relate to the official business of the company are neither given
nor endorsed by the company.
Thank You.
</p>
</body></html>