mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 07:58:51 +00:00
rtspsrc: Reset EOS flag also on FLUSH_STOP and not only on ssrc-active
Also don't bother not sending EOS if EOS was sent already: gst_pad_push_event() takes care of that for us already. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409>
This commit is contained in:
parent
f74fb5142d
commit
b181686211
1 changed files with 11 additions and 12 deletions
|
@ -3640,19 +3640,7 @@ gst_rtspsrc_do_stream_eos (GstRTSPSrc * src, GstRTSPStream * stream)
|
||||||
{
|
{
|
||||||
GST_DEBUG_OBJECT (src, "setting stream for session %u to EOS", stream->id);
|
GST_DEBUG_OBJECT (src, "setting stream for session %u to EOS", stream->id);
|
||||||
|
|
||||||
if (stream->eos)
|
|
||||||
goto was_eos;
|
|
||||||
|
|
||||||
stream->eos = TRUE;
|
|
||||||
gst_rtspsrc_stream_push_event (src, stream, gst_event_new_eos ());
|
gst_rtspsrc_stream_push_event (src, stream, gst_event_new_eos ());
|
||||||
return;
|
|
||||||
|
|
||||||
/* ERRORS */
|
|
||||||
was_eos:
|
|
||||||
{
|
|
||||||
GST_DEBUG_OBJECT (src, "stream for session %u was already EOS", stream->id);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -5155,6 +5143,17 @@ gst_rtspsrc_stream_push_event (GstRTSPSrc * src, GstRTSPStream * stream,
|
||||||
if (!stream->setup)
|
if (!stream->setup)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
|
switch (GST_EVENT_TYPE (event)) {
|
||||||
|
case GST_EVENT_EOS:
|
||||||
|
stream->eos = TRUE;
|
||||||
|
break;
|
||||||
|
case GST_EVENT_FLUSH_STOP:
|
||||||
|
stream->eos = FALSE;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (stream->udpsrc[0]) {
|
if (stream->udpsrc[0]) {
|
||||||
GstEvent *sent_event;
|
GstEvent *sent_event;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue