diff options
author | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2009-06-18 23:36:28 +0100 |
---|---|---|
committer | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2009-06-22 10:49:01 +0100 |
commit | 4fe23fbe4b71fee39ad7fa8ff0c4e3ad33314ca3 (patch) | |
tree | fdb040f6b424d868438f7dc86d1d802f451c5a68 /gst/avi | |
parent | b8176ee9cc01271dc2c471e28b75db222c973f8a (diff) |
avidemux: post container-format tag
Diffstat (limited to 'gst/avi')
-rw-r--r-- | gst/avi/gstavidemux.c | 19 |
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 |