fdsink: do not supress legitimate errors when unlocking

Instead, only wait_preroll when writev_* returns FLUSHING

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/476>
This commit is contained in:
Mathieu Duponchelle 2020-05-12 02:05:25 +02:00 committed by GStreamer Merge Bot
parent 2812064734
commit 742291c799

View file

@ -264,7 +264,7 @@ gst_fd_sink_render_list (GstBaseSink * bsink, GstBufferList * buffer_list)
sink->current_pos += bytes_written; sink->current_pos += bytes_written;
skip += bytes_written; skip += bytes_written;
if (!sink->unlock) if (!sink->unlock || ret != GST_FLOW_FLUSHING)
break; break;
ret = gst_base_sink_wait_preroll (GST_BASE_SINK (sink)); ret = gst_base_sink_wait_preroll (GST_BASE_SINK (sink));
@ -299,7 +299,7 @@ gst_fd_sink_render (GstBaseSink * bsink, GstBuffer * buffer)
sink->current_pos += bytes_written; sink->current_pos += bytes_written;
skip += bytes_written; skip += bytes_written;
if (!sink->unlock) if (!sink->unlock || ret != GST_FLOW_FLUSHING)
break; break;
ret = gst_base_sink_wait_preroll (GST_BASE_SINK (sink)); ret = gst_base_sink_wait_preroll (GST_BASE_SINK (sink));