From: Torge Matthies openglfreak@googlemail.com
I don't know why this was done previously but this just creates a race condition, with no to me apparent benefit. --- dlls/winegstreamer/wg_parser.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-)
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c index 021aa66ae12..b942273d02b 100644 --- a/dlls/winegstreamer/wg_parser.c +++ b/dlls/winegstreamer/wg_parser.c @@ -576,24 +576,20 @@ static gboolean sink_event_cb(GstPad *pad, GstObject *parent, GstEvent *event) switch (event->type) { case GST_EVENT_SEGMENT: - pthread_mutex_lock(&parser->mutex); - if (stream->enabled) - { - const GstSegment *segment; - - gst_event_parse_segment(event, &segment); - - if (segment->format != GST_FORMAT_TIME) - { - pthread_mutex_unlock(&parser->mutex); - GST_FIXME("Unhandled format "%s".", gst_format_get_name(segment->format)); - break; - } + { + const GstSegment *segment;
- gst_segment_copy_into(segment, &stream->segment); + gst_event_parse_segment(event, &segment); + if (segment->format != GST_FORMAT_TIME) + { + GST_FIXME("Unhandled format "%s".", gst_format_get_name(segment->format)); + break; } + pthread_mutex_lock(&parser->mutex); + gst_segment_copy_into(segment, &stream->segment); pthread_mutex_unlock(&parser->mutex); break; + }
case GST_EVENT_EOS: pthread_mutex_lock(&parser->mutex);