asfdemux: don't leak payload bufs in gst_asf_demux_free_stream
[glsdk/gst-plugins-ugly0-10.git] / gst / asfdemux / gstasfdemux.c
index 743e432a2b42ebc35229b9ba89abe28375a2ce19..46cee6dad5b69695b2f3610fdb363b9c82fc5f93 100644 (file)
@@ -171,6 +171,12 @@ gst_asf_demux_free_stream (GstASFDemux * demux, AsfStream * stream)
     g_array_remove_index (stream->payloads, last);
   }
   if (stream->payloads) {
+    int i;
+    for (i = 0; i < stream->payloads->len; i++) {
+      AsfPayload *payload;
+      payload = &g_array_index (stream->payloads, AsfPayload, i);
+      gst_buffer_replace (&payload->buf, NULL);
+    }
     g_array_free (stream->payloads, TRUE);
     stream->payloads = NULL;
   }