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);
}
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:
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:
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);
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:
}
/* 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;