mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-30 05:06:15 +00:00
winegstreamer: Fix race between wg_parser_stream_en/disable and GST_EVENT_FLUSH_START/STOP.
This commit is contained in:
parent
7c0aa6fd8c
commit
490d8ed663
|
@ -608,17 +608,14 @@ static gboolean sink_event_cb(GstPad *pad, GstObject *parent, GstEvent *event)
|
|||
case GST_EVENT_FLUSH_START:
|
||||
pthread_mutex_lock(&parser->mutex);
|
||||
|
||||
if (stream->enabled)
|
||||
{
|
||||
stream->flushing = true;
|
||||
pthread_cond_signal(&stream->event_empty_cond);
|
||||
stream->flushing = true;
|
||||
pthread_cond_signal(&stream->event_empty_cond);
|
||||
|
||||
if (stream->buffer)
|
||||
{
|
||||
gst_buffer_unmap(stream->buffer, &stream->map_info);
|
||||
gst_buffer_unref(stream->buffer);
|
||||
stream->buffer = NULL;
|
||||
}
|
||||
if (stream->buffer)
|
||||
{
|
||||
gst_buffer_unmap(stream->buffer, &stream->map_info);
|
||||
gst_buffer_unref(stream->buffer);
|
||||
stream->buffer = NULL;
|
||||
}
|
||||
|
||||
pthread_mutex_unlock(&parser->mutex);
|
||||
|
@ -636,8 +633,7 @@ static gboolean sink_event_cb(GstPad *pad, GstObject *parent, GstEvent *event)
|
|||
pthread_mutex_lock(&parser->mutex);
|
||||
|
||||
stream->eos = false;
|
||||
if (stream->enabled)
|
||||
stream->flushing = false;
|
||||
stream->flushing = false;
|
||||
|
||||
pthread_mutex_unlock(&parser->mutex);
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue