mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-29 21:21:12 +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);
|
||||
|
||||
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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue