Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_event):
Hold STREAM_LOCK while pushing newsegment or tag events as well.
+2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
+
+ * gst/base/gstbasetransform.c: (gst_base_transform_event):
+ Hold STREAM_LOCK while pushing newsegment or tag events as well.
+
2005-11-08 Wim Taymans <wim@fluendo.com>
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
GST_STREAM_LOCK (pad);
unlock = TRUE;
break;
+ case GST_EVENT_TAG:
+ GST_STREAM_LOCK (pad);
+ unlock = TRUE;
+ break;
case GST_EVENT_NEWSEGMENT:
{
GstFormat format;
gboolean update;
GST_STREAM_LOCK (pad);
+ unlock = TRUE;
gst_event_parse_newsegment (event, &update, &rate, &format, &start, &stop,
&time);
if (format == GST_FORMAT_TIME) {
GST_DEBUG_OBJECT (trans,
"received NEW_SEGMENT in non-time format, ignoring");
}
- GST_STREAM_UNLOCK (pad);
break;
}
default:
GST_STREAM_LOCK (pad);
unlock = TRUE;
break;
+ case GST_EVENT_TAG:
+ GST_STREAM_LOCK (pad);
+ unlock = TRUE;
+ break;
case GST_EVENT_NEWSEGMENT:
{
GstFormat format;
gboolean update;
GST_STREAM_LOCK (pad);
+ unlock = TRUE;
gst_event_parse_newsegment (event, &update, &rate, &format, &start, &stop,
&time);
if (format == GST_FORMAT_TIME) {
GST_DEBUG_OBJECT (trans,
"received NEW_SEGMENT in non-time format, ignoring");
}
- GST_STREAM_UNLOCK (pad);
break;
}
default: