camerabin2: Set tagsetters to merge replace mode
authorThiago Santos <thiago.sousa.santos@collabora.co.uk>
Thu, 23 Jun 2011 01:25:18 +0000 (22:25 -0300)
committerThiago Santos <thiago.sousa.santos@collabora.co.uk>
Thu, 23 Jun 2011 03:05:13 +0000 (00:05 -0300)
The default for tagsetters is to use merge keep mode, so tags
would never be replaced and all captures would have the same tags.

This commit watches all elements added into encodebin and sets
all tagsetters to merge replace mode

gst/camerabin2/gstcamerabin2.c

index 62c9e2adf60c883096e1a8f404fd6edab77d9784..9e34989373bb778f4ce8a96038563897587ee658 100644 (file)
@@ -828,6 +828,12 @@ encodebin_element_added (GstElement * encodebin, GstElement * new_element,
       g_object_set (new_element, "skip-to-first", TRUE, NULL);
     }
   }
+
+  if (gst_element_implements_interface (new_element, GST_TYPE_TAG_SETTER)) {
+    GstTagSetter *tagsetter = GST_TAG_SETTER (new_element);
+
+    gst_tag_setter_set_tag_merge_mode (tagsetter, GST_TAG_MERGE_REPLACE);
+  }
 }
 
 #define VIDEO_PAD 1