winegstreamer: Don't only accept segment events when streams are enabled.

I don't know why this was done previously but this just creates a race condition, with no to me apparent benefit.
This commit is contained in:
Torge Matthies 2024-04-23 19:30:17 +02:00 committed by Alexandre Julliard
parent 490d8ed663
commit 215478fc46

View file

@ -576,24 +576,20 @@ static gboolean sink_event_cb(GstPad *pad, GstObject *parent, GstEvent *event)
switch (event->type) switch (event->type)
{ {
case GST_EVENT_SEGMENT: 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)
{ {
const GstSegment *segment; GST_FIXME("Unhandled format \"%s\".", gst_format_get_name(segment->format));
break;
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;
}
gst_segment_copy_into(segment, &stream->segment);
} }
pthread_mutex_lock(&parser->mutex);
gst_segment_copy_into(segment, &stream->segment);
pthread_mutex_unlock(&parser->mutex); pthread_mutex_unlock(&parser->mutex);
break; break;
}
case GST_EVENT_EOS: case GST_EVENT_EOS:
pthread_mutex_lock(&parser->mutex); pthread_mutex_lock(&parser->mutex);