rtspsrc: reset-sync before play
authorWim Taymans <wim.taymans@collabora.co.uk>
Thu, 27 Jun 2013 15:02:14 +0000 (17:02 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Thu, 27 Jun 2013 15:02:14 +0000 (17:02 +0200)
Call reset-sync on the rtpbin before we go to playing. This makes us require SR
packets for all streams again before we attempt to sync them. If we don't reset,
it might be that we combine SR packets from before and after the PAUSE/PLAYING
state change and end up with huge bogus offsets.

gst/rtsp/gstrtspsrc.c

index 8f6a28e..e8b00c1 100644 (file)
@@ -6455,6 +6455,10 @@ gst_rtspsrc_play (GstRTSPSrc * src, GstSegment * segment, gboolean async)
    * udp sources */
   gst_rtspsrc_send_dummy_packets (src);
 
+  /* require new SR packets */
+  if (src->manager)
+    g_signal_emit_by_name (src->manager, "reset-sync", NULL);
+
   gst_rtspsrc_set_state (src, GST_STATE_PLAYING);
 
   /* construct a control url */