From: Tim-Philipp Müller Date: Tue, 1 Jun 2010 08:26:11 +0000 (+0100) Subject: Revert "avimux, flvmux, matroskamux: don't crash if tags arrive on multiple input... X-Git-Tag: 1.19.3~509^2~8545 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d51576b14cad4f868d6c075667e803ba28723fb5;p=platform%2Fupstream%2Fgstreamer.git Revert "avimux, flvmux, matroskamux: don't crash if tags arrive on multiple input pads at the same time" This reverts commit 6a9983cd20c48b96396229b3f94d0254a05ddf48. Rely on locking done in GstTagSetter in core git. --- diff --git a/gst/avi/gstavimux.c b/gst/avi/gstavimux.c index 17ec92d..8a7d843 100644 --- a/gst/avi/gstavimux.c +++ b/gst/avi/gstavimux.c @@ -1166,10 +1166,7 @@ gst_avi_mux_riff_get_avi_header (GstAviMux * avimux) else { /* need to make snapshot of current state of tags to ensure the same set * is used next time around during header rewrite at the end */ - /* FIXME: remove locking again after GstTagSetter has been fixed */ - GST_OBJECT_LOCK (avimux); tags = gst_tag_setter_get_tag_list (GST_TAG_SETTER (avimux)); - GST_OBJECT_UNLOCK (avimux); if (tags) tags = avimux->tags_snap = gst_tag_list_copy (tags); } @@ -1922,15 +1919,10 @@ gst_avi_mux_handle_event (GstPad * pad, GstEvent * event) case GST_EVENT_TAG:{ GstTagList *list; GstTagSetter *setter = GST_TAG_SETTER (avimux); - GstTagMergeMode mode; + const GstTagMergeMode mode = gst_tag_setter_get_tag_merge_mode (setter); gst_event_parse_tag (event, &list); - - /* FIXME: remove locking again after GstTagSetter has been fixed */ - GST_OBJECT_LOCK (avimux); - mode = gst_tag_setter_get_tag_merge_mode (setter); gst_tag_setter_merge_tags (setter, list, mode); - GST_OBJECT_UNLOCK (avimux); break; } default: diff --git a/gst/flv/gstflvmux.c b/gst/flv/gstflvmux.c index 1addaa4..883ebb7 100644 --- a/gst/flv/gstflvmux.c +++ b/gst/flv/gstflvmux.c @@ -256,15 +256,10 @@ gst_flv_mux_handle_sink_event (GstPad * pad, GstEvent * event) case GST_EVENT_TAG:{ GstTagList *list; GstTagSetter *setter = GST_TAG_SETTER (mux); - GstTagMergeMode mode; + const GstTagMergeMode mode = gst_tag_setter_get_tag_merge_mode (setter); gst_event_parse_tag (event, &list); - - /* FIXME: remove locking again after GstTagSetter has been fixed */ - GST_OBJECT_LOCK (mux); - mode = gst_tag_setter_get_tag_merge_mode (setter); gst_tag_setter_merge_tags (setter, list, mode); - GST_OBJECT_UNLOCK (mux); break; } case GST_EVENT_NEWSEGMENT: @@ -639,10 +634,7 @@ gst_flv_mux_create_metadata (GstFlvMux * mux) guint8 *data; gint i, n_tags, tags_written = 0; - /* FIXME: remove locking again after GstTagSetter has been fixed */ - GST_OBJECT_LOCK (mux); tags = gst_tag_setter_get_tag_list (GST_TAG_SETTER (mux)); - GST_OBJECT_UNLOCK (mux); GST_DEBUG_OBJECT (mux, "tags = %" GST_PTR_FORMAT, tags); diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c index 15441a1..e21e763 100644 --- a/gst/matroska/matroska-mux.c +++ b/gst/matroska/matroska-mux.c @@ -625,11 +625,8 @@ gst_matroska_mux_handle_sink_event (GstPad * pad, GstEvent * event) g_free (lang); } - /* FIXME: remove locking again after GstTagSetter has been fixed */ - GST_OBJECT_LOCK (mux); gst_tag_setter_merge_tags (GST_TAG_SETTER (mux), list, gst_tag_setter_get_tag_merge_mode (GST_TAG_SETTER (mux))); - GST_OBJECT_UNLOCK (mux); break; } case GST_EVENT_NEWSEGMENT: @@ -2208,10 +2205,7 @@ gst_matroska_mux_finish (GstMatroskaMux * mux) } /* tags */ - /* FIXME: remove locking again after GstTagSetter has been fixed */ - GST_OBJECT_LOCK (mux); tags = gst_tag_setter_get_tag_list (GST_TAG_SETTER (mux)); - GST_OBJECT_UNLOCK (mux); if (tags != NULL && !gst_tag_list_is_empty (tags)) { guint64 master_tags, master_tag;