rtspsrc: link to the on_npt_stop signal to EOS
authorWim Taymans <wim.taymans@collabora.co.uk>
Fri, 27 Mar 2009 16:48:13 +0000 (17:48 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Fri, 27 Mar 2009 16:49:15 +0000 (17:49 +0100)
Connect to the on_npt_stop signal of the session manager to schedule the EOS
actions.

gst/rtsp/gstrtspsrc.c

index 9c6f26962c5fab71afe7f7488036a56e19064bb7..64b501cb9e614b13b0cffd13cc247060122ea9f4 100644 (file)
@@ -1802,6 +1802,16 @@ on_timeout (GstElement * manager, guint session, guint32 ssrc, GstRTSPSrc * src)
   gst_rtspsrc_do_stream_eos (src, session);
 }
 
+static void
+on_npt_stop (GstElement * manager, guint session, guint32 ssrc,
+    GstRTSPSrc * src)
+{
+  GST_DEBUG_OBJECT (src, "SSRC %08x in session %u reached the NPT stop", ssrc,
+      session);
+
+  gst_rtspsrc_do_stream_eos (src, session);
+}
+
 /* try to get and configure a manager */
 static gboolean
 gst_rtspsrc_stream_configure_manager (GstRTSPSrc * src, GstRTSPStream * stream,
@@ -1860,6 +1870,8 @@ gst_rtspsrc_stream_configure_manager (GstRTSPSrc * src, GstRTSPStream * stream,
           src);
       g_signal_connect (src->session, "on-timeout", (GCallback) on_timeout,
           src);
+      g_signal_connect (src->session, "on-npt-stop", (GCallback) on_npt_stop,
+          src);
     }
 
     /* we stream directly to the manager, get some pads. Each RTSP stream goes