[0.11] gst-plugins-ugly: asfdemux: Don't leak pending payload buffers

Tim Müller tpm at kemper.freedesktop.org
Mon Oct 31 07:35:27 PDT 2011


Module: gst-plugins-ugly
Branch: 0.11
Commit: daecb7445672c1b334d64a701a20528dc305fe9e
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-ugly/commit/?id=daecb7445672c1b334d64a701a20528dc305fe9e

Author: Edward Hervey <bilboed at bilboed.com>
Date:   Sat Oct 29 11:57:40 2011 +0200

asfdemux: Don't leak pending payload buffers

Fixes #662964

---

 gst/asfdemux/gstasfdemux.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/gst/asfdemux/gstasfdemux.c b/gst/asfdemux/gstasfdemux.c
index 020d749..6391c44 100644
--- a/gst/asfdemux/gstasfdemux.c
+++ b/gst/asfdemux/gstasfdemux.c
@@ -156,6 +156,16 @@ gst_asf_demux_free_stream (GstASFDemux * demux, AsfStream * stream)
       gst_object_unref (stream->pad);
     stream->pad = NULL;
   }
+
+  while (stream->payloads->len > 0) {
+    AsfPayload *payload;
+    guint last;
+
+    last = stream->payloads->len - 1;
+    payload = &g_array_index (stream->payloads, AsfPayload, last);
+    gst_buffer_replace (&payload->buf, NULL);
+    g_array_remove_index (stream->payloads, last);
+  }
   if (stream->payloads) {
     g_array_free (stream->payloads, TRUE);
     stream->payloads = NULL;



More information about the gstreamer-commits mailing list