From: Debarshi Ray Date: Fri, 10 Jun 2011 13:24:48 +0000 (+0530) Subject: matroskaparse: fix reference counting of parse->streamheader X-Git-Tag: 1.19.3~509^2~7136^2~473 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c8619aa0fdc114e9bae0f88f76aa093f96d066b3;p=platform%2Fupstream%2Fgstreamer.git matroskaparse: fix reference counting of parse->streamheader https://bugzilla.gnome.org/show_bug.cgi?id=652286 Signed-off-by: David Schleef --- diff --git a/gst/matroska/matroska-parse.c b/gst/matroska/matroska-parse.c index 8f8da64..a790a2f 100644 --- a/gst/matroska/matroska-parse.c +++ b/gst/matroska/matroska-parse.c @@ -2527,8 +2527,10 @@ gst_matroska_parse_output (GstMatroskaParse * parse, GstBuffer * buffer, s = gst_caps_get_structure (caps, 0); g_value_init (&streamheader, GST_TYPE_ARRAY); g_value_init (&bufval, GST_TYPE_BUFFER); - GST_BUFFER_FLAG_SET (parse->streamheader, GST_BUFFER_FLAG_IN_CAPS); - gst_value_set_buffer (&bufval, parse->streamheader); + buf = gst_buffer_copy (parse->streamheader); + GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_IN_CAPS); + gst_value_set_buffer (&bufval, buf); + gst_buffer_unref (buf); gst_value_array_append_value (&streamheader, &bufval); g_value_unset (&bufval); gst_structure_set_value (s, "streamheader", &streamheader); @@ -2536,7 +2538,7 @@ gst_matroska_parse_output (GstMatroskaParse * parse, GstBuffer * buffer, //gst_caps_replace (parse->caps, caps); gst_pad_set_caps (parse->srcpad, caps); - buf = gst_buffer_make_metadata_writable (parse->streamheader); + buf = gst_buffer_copy (parse->streamheader); gst_buffer_set_caps (buf, caps); gst_caps_unref (caps);