flacparse: Fix buffer refcount issue
authorArun Raghavan <arun.raghavan@collabora.co.uk>
Fri, 26 Mar 2010 16:49:01 +0000 (16:49 +0000)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Fri, 8 Apr 2011 17:07:06 +0000 (18:07 +0100)
When called from the GST_FLAC_PARSE_STATE_HEADERS case,
gst_flac_parse_hand_headers() does a gst_buffer_set_caps() on a buffer
with refcount > 1. This change handles this case by making the buffer
metadata_Writable.

https://bugzilla.gnome.org/show_bug.cgi?id=614037

gst/audioparsers/gstflacparse.c

index 0c8aa90..2ea30ec 100644 (file)
@@ -1015,6 +1015,7 @@ push_headers:
     GstFlowReturn ret;
 
     l->data = NULL;
+    buf = gst_buffer_make_metadata_writable (buf);
     gst_buffer_set_caps (buf,
         GST_PAD_CAPS (GST_BASE_PARSE_SRC_PAD (GST_BASE_PARSE (flacparse))));