summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--gst/avi/gstavimux.c20
2 files changed, 14 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 98e0abf0..4c9e05ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2008-12-15 Stefan Kost <ensonic@users.sf.net>
+ * gst/avi/gstavimux.c:
+ Instead of filtering wrongly just use the mergemode. Applications is
+ use KEEP_ALL if they want to supress tag-events. Fixes #563221 for
+ avi for real (I hope). Everyone chime in, before I fix the others.
+
+2008-12-15 Stefan Kost <ensonic@users.sf.net>
+
* ext/pulse/pulsemixerctrl.c:
Add note about memleak.
diff --git a/gst/avi/gstavimux.c b/gst/avi/gstavimux.c
index 24adda9b..697ae9ee 100644
--- a/gst/avi/gstavimux.c
+++ b/gst/avi/gstavimux.c
@@ -1687,20 +1687,14 @@ gst_avi_mux_handle_event (GstPad * pad, GstEvent * event)
avimux = GST_AVI_MUX (gst_pad_get_parent (pad));
switch (GST_EVENT_TYPE (event)) {
- case GST_EVENT_TAG:
- if (gst_tag_setter_get_tag_merge_mode (GST_TAG_SETTER (avimux)) !=
- GST_TAG_MERGE_REPLACE_ALL) {
- GstTagList *list;
- gst_event_parse_tag (event, &list);
- if (avimux->tags) {
- gst_tag_list_insert (avimux->tags, list, GST_TAG_MERGE_PREPEND);
- } else {
- avimux->tags = gst_tag_list_copy (list);
- }
- } else {
- GST_DEBUG ("skipping tag-event");
- }
+ case GST_EVENT_TAG:{
+ GstTagList *list;
+
+ gst_event_parse_tag (event, &list);
+ avimux->tags = gst_tag_list_merge (avimux->tags, list,
+ gst_tag_setter_get_tag_merge_mode (GST_TAG_SETTER (avimux)));
break;
+ }
default:
break;
}