gst/base/gstbasetransform.c: Hold STREAM_LOCK while pushing newsegment or tag events as well.

Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_event):
Hold STREAM_LOCK while pushing newsegment or tag events as well.
This commit is contained in:
Tim-Philipp Müller 2005-11-08 12:33:09 +00:00
parent f9afde87d9
commit a80ccecd5b
3 changed files with 15 additions and 2 deletions

View file

@ -1,3 +1,8 @@
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),

View file

@ -1027,6 +1027,10 @@ gst_base_transform_event (GstPad * pad, GstEvent * event)
GST_STREAM_LOCK (pad);
unlock = TRUE;
break;
case GST_EVENT_TAG:
GST_STREAM_LOCK (pad);
unlock = TRUE;
break;
case GST_EVENT_NEWSEGMENT:
{
GstFormat format;
@ -1035,6 +1039,7 @@ gst_base_transform_event (GstPad * pad, GstEvent * event)
gboolean update;
GST_STREAM_LOCK (pad);
unlock = TRUE;
gst_event_parse_newsegment (event, &update, &rate, &format, &start, &stop,
&time);
if (format == GST_FORMAT_TIME) {
@ -1050,7 +1055,6 @@ gst_base_transform_event (GstPad * pad, GstEvent * event)
GST_DEBUG_OBJECT (trans,
"received NEW_SEGMENT in non-time format, ignoring");
}
GST_STREAM_UNLOCK (pad);
break;
}
default:

View file

@ -1027,6 +1027,10 @@ gst_base_transform_event (GstPad * pad, GstEvent * event)
GST_STREAM_LOCK (pad);
unlock = TRUE;
break;
case GST_EVENT_TAG:
GST_STREAM_LOCK (pad);
unlock = TRUE;
break;
case GST_EVENT_NEWSEGMENT:
{
GstFormat format;
@ -1035,6 +1039,7 @@ gst_base_transform_event (GstPad * pad, GstEvent * event)
gboolean update;
GST_STREAM_LOCK (pad);
unlock = TRUE;
gst_event_parse_newsegment (event, &update, &rate, &format, &start, &stop,
&time);
if (format == GST_FORMAT_TIME) {
@ -1050,7 +1055,6 @@ gst_base_transform_event (GstPad * pad, GstEvent * event)
GST_DEBUG_OBJECT (trans,
"received NEW_SEGMENT in non-time format, ignoring");
}
GST_STREAM_UNLOCK (pad);
break;
}
default: