h264parse: plug a few memory leaks
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Tue, 25 May 2010 14:37:58 +0000 (16:37 +0200)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Fri, 28 May 2010 11:36:23 +0000 (12:36 +0100)
Fixes #619617.

gst/h264parse/gsth264parse.c

index 4a2bd41..7351d90 100644 (file)
@@ -1297,9 +1297,9 @@ gst_h264_parse_update_src_caps (GstH264Parse * h264parse, GstCaps * caps)
         GST_DEBUG_OBJECT (h264parse, "setting new codec_data");
         gst_caps_set_simple (src_caps, "codec_data", GST_TYPE_BUFFER, buf,
             NULL);
-        gst_buffer_unref (buf);
         modified = TRUE;
       }
+      gst_buffer_unref (buf);
     } else {
       GST_DEBUG_OBJECT (h264parse, "no codec_data yet");
     }
@@ -1314,10 +1314,9 @@ gst_h264_parse_update_src_caps (GstH264Parse * h264parse, GstCaps * caps)
   /* save as new caps, caps will be set when pushing data */
   /* avoid replacing caps by a mere identical copy, thereby triggering
    * negotiating (which e.g. some container might not appreciate) */
-  if (modified) {
+  if (modified)
     gst_caps_replace (&h264parse->src_caps, src_caps);
-    gst_caps_unref (src_caps);
-  }
+  gst_caps_unref (src_caps);
 
   return TRUE;
 }