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:
Sebastian Dröge 2022-11-14 18:40:56 +02:00 committed by GStreamer Marge Bot
parent f74fb5142d
commit b181686211

View file

@ -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);
if (stream->eos)
goto was_eos;
stream->eos = TRUE;
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
@ -5155,6 +5143,17 @@ gst_rtspsrc_stream_push_event (GstRTSPSrc * src, GstRTSPStream * stream,
if (!stream->setup)
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]) {
GstEvent *sent_event;