fclose (qtmux->moov_recov_file);
qtmux->moov_recov_file = NULL;
}
+
+ GST_OBJECT_LOCK (qtmux);
gst_tag_setter_reset_tags (GST_TAG_SETTER (qtmux));
+ GST_OBJECT_UNLOCK (qtmux);
/* reset pad data */
for (walk = qtmux->sinkpads; walk; walk = g_slist_next (walk)) {
{
const GstTagList *tags;
+ GST_OBJECT_LOCK (qtmux);
tags = gst_tag_setter_get_tag_list (GST_TAG_SETTER (qtmux));
+ GST_OBJECT_UNLOCK (qtmux);
GST_LOG_OBJECT (qtmux, "tags: %" GST_PTR_FORMAT, tags);
case GST_EVENT_TAG:{
GstTagList *list;
GstTagSetter *setter = GST_TAG_SETTER (qtmux);
- const GstTagMergeMode mode = gst_tag_setter_get_tag_merge_mode (setter);
+ GstTagMergeMode mode;
+
+ GST_OBJECT_LOCK (qtmux);
+ mode = gst_tag_setter_get_tag_merge_mode (setter);
GST_DEBUG_OBJECT (qtmux, "received tag event");
gst_event_parse_tag (event, &list);
+
gst_tag_setter_merge_tags (setter, list, mode);
+ GST_OBJECT_UNLOCK (qtmux);
break;
}
default: