diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2009-03-27 17:48:13 +0100 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2009-03-27 17:49:15 +0100 |
commit | fd18185d44da1c774c02aa9ce88e844f6587c0f0 (patch) | |
tree | a4c80939d71fcefe31eadac6f1cf2a871a42f887 | |
parent | 3360f449c0bc70c91a82b5dd48da4546a1ae0192 (diff) |
rtspsrc: link to the on_npt_stop signal to EOS
Connect to the on_npt_stop signal of the session manager to schedule the EOS
actions.
-rw-r--r-- | gst/rtsp/gstrtspsrc.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 9c6f2696..64b501cb 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -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 |