<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>Hi Ross,</p>
<div id="signature">
<pre>>Connecting a RTSP client to receive a multicast RTP stream should not change the RTP stream at all - so (unless you have a firewall <br />>or other middlebox somewhere that is altering the RTP stream) there must be a mistake in the way that your RTSP server application <br />>is delivering this stream.<br /><br />I believe, there still needs to be a RTSP handshake for VLC to join the multicast stream.<br />This is code which has run for many years. The change I made recently was to calculate the presentation time for each frame based on <br />the frame-rate, eg 40ms for 25fps, rather than calling gettimeofday() for every frame. Without this change, VLC was displaying a jerky video <br />stream. The change in presentationtime calculation fixed this jitter but has led to this new issue, where multiple VLC sessions can cause <br />a huge jump in presentation time.

>I can’t debug this without seeing your server code (in particular, how you’re using “RTSPServer”).  <br />>However, to start, you should run the existing “testH264VideoStreamer” demo application (in the “testProgs” directory), <br />>and make sure that this works correctly for you on your network (with multiple RTSP clients).  <br />>Then, compare the code for that application with your code, to see what is going wrong.  (Note, in particular, that - <br />>to deliver a multicast stream - your server needs to use a “PassiveServerMediaSubsession” rather than an “OnDemandServerMediaSubsession” <br />>(which is meant only for delivering a stream via unicast).)<br /><br />Yes I use PassiveServerMediaSubsession for the multicast stream. I'm sure it's a corruption of presentation time which is causing the issue,<br />but this does not seem to be in my code. I have added debug to every place where fPresentationTime is changed.<br /><br />I have tried to attach a screenshot of the wirshark trace so you can see how the time jumps for one consecutive frame to the next when a <br />VLC session is started and connected.<br /><br /></pre>
<p>- David</p>
</div>
</body></html>