Zebediah Figura : winegstreamer: Move the "flushing" field to struct wg_parser_stream.
Module: wine Branch: master Commit: cb7fb161471f495f2d678f793a9f59f87291f9a3 URL: https://source.winehq.org/git/wine.git/?a=commit;h=cb7fb161471f495f2d678f793... Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Wed Feb 3 17:41:40 2021 -0600 winegstreamer: Move the "flushing" field to struct wg_parser_stream. Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/winegstreamer/gstdemux.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c index 6aadeb29175..1332810e4ea 100644 --- a/dlls/winegstreamer/gstdemux.c +++ b/dlls/winegstreamer/gstdemux.c @@ -106,7 +106,7 @@ struct wg_parser_stream pthread_cond_t event_cond, event_empty_cond; struct wg_parser_event event; - bool eos; + bool flushing, eos; }; struct parser @@ -149,7 +149,6 @@ struct parser_source SourceSeeking seek; CRITICAL_SECTION flushing_cs; - bool flushing; HANDLE thread; }; @@ -725,9 +724,9 @@ static GstFlowReturn queue_stream_event(struct parser_source *pin, const struct * is solved by flushing the upstream source. */ pthread_mutex_lock(&parser->mutex); - while (!pin->flushing && stream->event.type != WG_PARSER_EVENT_NONE) + while (!stream->flushing && stream->event.type != WG_PARSER_EVENT_NONE) pthread_cond_wait(&stream->event_empty_cond, &parser->mutex); - if (pin->flushing) + if (stream->flushing) { pthread_mutex_unlock(&parser->mutex); GST_DEBUG("Filter is flushing; discarding event."); @@ -797,7 +796,7 @@ static gboolean event_sink(GstPad *pad, GstObject *parent, GstEvent *event) { pthread_mutex_lock(&parser->mutex); - pin->flushing = true; + stream->flushing = true; pthread_cond_signal(&stream->event_empty_cond); switch (stream->event.type) @@ -822,7 +821,7 @@ static gboolean event_sink(GstPad *pad, GstObject *parent, GstEvent *event) if (pin->pin.pin.peer) { pthread_mutex_lock(&parser->mutex); - pin->flushing = false; + stream->flushing = false; pthread_mutex_unlock(&parser->mutex); } break; @@ -2555,7 +2554,7 @@ static HRESULT GST_RemoveOutputPins(struct parser *This) pthread_mutex_lock(&parser->mutex); for (i = 0; i < This->source_count; ++i) { - This->sources[i]->flushing = true; + This->sources[i]->wg_stream->flushing = true; pthread_cond_signal(&This->sources[i]->wg_stream->event_empty_cond); } pthread_mutex_unlock(&parser->mutex);
participants (1)
-
Alexandre Julliard