liveadder: fix buffer leak
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Mon, 12 Dec 2011 13:59:33 +0000 (13:59 +0000)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Mon, 12 Dec 2011 14:00:22 +0000 (14:00 +0000)
gst/liveadder/liveadder.c

index ada42a5..205bd02 100644 (file)
@@ -1091,10 +1091,11 @@ gst_live_live_adder_chain (GstPad * pad, GstBuffer * buffer)
     if (skip) {
       GstClockTime subbuffer_duration = GST_BUFFER_DURATION (buffer) - skip;
       GstClockTime subbuffer_ts = GST_BUFFER_TIMESTAMP (buffer) + skip;
-
-      buffer = gst_buffer_create_sub (buffer,
+      GstBuffer *new_buffer = gst_buffer_create_sub (buffer,
           gst_live_adder_length_from_duration (adder, skip),
           gst_live_adder_length_from_duration (adder, subbuffer_duration));
+      gst_buffer_unref (buffer);
+      buffer = new_buffer;
       GST_BUFFER_TIMESTAMP (buffer) = subbuffer_ts;
       GST_BUFFER_DURATION (buffer) = subbuffer_duration;
     }