x264enc: Fix unitialized variable and taglist event
authorMatej Knopp <matej.knopp@gmail.com>
Wed, 20 Jun 2012 17:36:25 +0000 (13:36 -0400)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 21 Jun 2012 07:45:22 +0000 (08:45 +0100)
ext/x264/gstx264enc.c

index 48a50ca..832b1dc 100644 (file)
@@ -1560,11 +1560,15 @@ gst_x264_enc_sink_event (GstVideoEncoder * encoder, GstEvent * event)
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_TAG:{
       GstTagList *tags = NULL;
-
-      event =
-          GST_EVENT (gst_mini_object_make_writable (GST_MINI_OBJECT (event)));
+      const GstStructure *s;
 
       gst_event_parse_tag (event, &tags);
+      tags = gst_tag_list_copy (tags);
+      s = gst_event_get_structure (event);
+
+      gst_event_take (&event, gst_event_new_tag (gst_structure_get_name (s),
+              tags));
+
       /* drop codec/video-codec and replace encoder/encoder-version */
       gst_tag_list_remove_tag (tags, GST_TAG_VIDEO_CODEC);
       gst_tag_list_remove_tag (tags, GST_TAG_CODEC);