mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 15:51:11 +00:00
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:
parent
0540492ab2
commit
640de61740
1 changed files with 14 additions and 4 deletions
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue