diff options
-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 |