summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gst/rtsp/gstrtspsrc.c12
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