From fd18185d44da1c774c02aa9ce88e844f6587c0f0 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 27 Mar 2009 17:48:13 +0100 Subject: [PATCH] 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. --- gst/rtsp/gstrtspsrc.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 9c6f26962c..64b501cb9e 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