rtspsrc: only EOS when our source sends BYE

Only EOS when we receive a BYE event from the SSRC of our stream.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=675453
This commit is contained in:
Wim Taymans 2013-02-06 13:52:26 +01:00
parent 0540492ab2
commit 640de61740

View file

@ -2403,20 +2403,30 @@ static void
on_bye_ssrc (GObject * session, GObject * source, GstRTSPStream * stream) on_bye_ssrc (GObject * session, GObject * source, GstRTSPStream * stream)
{ {
GstRTSPSrc *src = stream->parent; 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 static void
on_timeout (GObject * session, GObject * source, GstRTSPStream * stream) on_timeout (GObject * session, GObject * source, GstRTSPStream * stream)
{ {
GstRTSPSrc *src = stream->parent; 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 static void