summaryrefslogtreecommitdiff
path: root/gst/rtsp/gstrtspsrc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/rtsp/gstrtspsrc.c')
-rw-r--r--gst/rtsp/gstrtspsrc.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index 16b13586b..22f10d19f 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -2403,20 +2403,30 @@ static void
on_bye_ssrc (GObject * session, GObject * source, GstRTSPStream * stream)
{
GstRTSPSrc *src = stream->parent;
+ guint ssrc;
- GST_DEBUG_OBJECT (src, "source in session %u received BYE", stream->id);
+ g_object_get (source, "ssrc", &ssrc, NULL);
- gst_rtspsrc_do_stream_eos (src, stream);
+ GST_DEBUG_OBJECT (src, "source %08x, stream %08x, session %u received BYE",
+ ssrc, stream->ssrc, stream->id);
+
+ if (ssrc == stream->ssrc)
+ gst_rtspsrc_do_stream_eos (src, stream);
}
static void
on_timeout (GObject * session, GObject * source, GstRTSPStream * stream)
{
GstRTSPSrc *src = stream->parent;
+ guint ssrc;
- GST_DEBUG_OBJECT (src, "source in session %u timed out", stream->id);
+ g_object_get (source, "ssrc", &ssrc, NULL);
- gst_rtspsrc_do_stream_eos (src, stream);
+ GST_WARNING_OBJECT (src, "source %08x, stream %08x in session %u timed out",
+ ssrc, stream->ssrc, stream->id);
+
+ if (ssrc == stream->ssrc)
+ gst_rtspsrc_do_stream_eos (src, stream);
}
static void