summaryrefslogtreecommitdiffstats
path: root/gst/avi
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim.muller@collabora.co.uk>2009-06-18 23:36:28 +0100
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2009-06-22 10:49:01 +0100
commit4fe23fbe4b71fee39ad7fa8ff0c4e3ad33314ca3 (patch)
treefdb040f6b424d868438f7dc86d1d802f451c5a68 /gst/avi
parentb8176ee9cc01271dc2c471e28b75db222c973f8a (diff)
avidemux: post container-format tag
Diffstat (limited to 'gst/avi')
-rw-r--r--gst/avi/gstavidemux.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index a5b76d20..e51f4a62 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -260,7 +260,7 @@ gst_avi_demux_reset (GstAviDemux * avi)
gst_tag_list_free (avi->globaltags);
avi->globaltags = NULL;
- avi->got_tags = FALSE;
+ avi->got_tags = TRUE; /* we always want to push global tags */
avi->have_eos = FALSE;
gst_adapter_clear (avi->adapter);
@@ -4167,16 +4167,23 @@ push_tag_lists (GstAviDemux * avi)
for (i = 0; i < avi->num_streams; i++)
if (avi->stream[i].pad && avi->stream[i].taglist) {
+ GST_DEBUG_OBJECT (avi->stream[i].pad, "Tags: %" GST_PTR_FORMAT,
+ avi->stream[i].taglist);
gst_element_found_tags_for_pad (GST_ELEMENT (avi), avi->stream[i].pad,
avi->stream[i].taglist);
avi->stream[i].taglist = NULL;
}
- if (avi->globaltags) {
- gst_element_found_tags (GST_ELEMENT (avi), avi->globaltags);
- avi->globaltags = NULL;
- }
+
+ if (avi->globaltags == NULL)
+ avi->globaltags = gst_tag_list_new ();
+
+ gst_tag_list_add (avi->globaltags, GST_TAG_MERGE_REPLACE,
+ GST_TAG_CONTAINER_FORMAT, "AVI", NULL);
+
+ GST_DEBUG_OBJECT (avi, "Global tags: %" GST_PTR_FORMAT, avi->globaltags);
+ gst_element_found_tags (GST_ELEMENT (avi), avi->globaltags);
+ avi->globaltags = NULL;
avi->got_tags = FALSE;
- GST_DEBUG_OBJECT (avi, "Pushed tag lists");
}
static void