modplug: fix caps leak
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Tue, 10 Jan 2012 17:27:54 +0000 (17:27 +0000)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Tue, 10 Jan 2012 17:27:54 +0000 (17:27 +0000)
ext/modplug/gstmodplug.cc

index 09dc510..09836a9 100644 (file)
@@ -490,7 +490,6 @@ gst_modplug_load_song (GstModPlug * modplug)
         gst_caps_copy_nth (gst_pad_get_pad_template_caps (modplug->srcpad), 0);
   }
   gst_pad_fixate_caps (modplug->srcpad, newcaps);
-  gst_pad_set_caps (modplug->srcpad, newcaps);
 
   /* set up modplug to output the negotiated format */
   structure = gst_caps_get_structure (newcaps, 0);
@@ -498,6 +497,9 @@ gst_modplug_load_song (GstModPlug * modplug)
   gst_structure_get_int (structure, "channels", &modplug->channel);
   gst_structure_get_int (structure, "rate", &modplug->frequency);
 
+  gst_pad_set_caps (modplug->srcpad, newcaps);
+  gst_caps_unref (newcaps);
+
   modplug->read_samples = 1152;
   modplug->read_bytes =
       modplug->read_samples * modplug->channel * modplug->bits / 8;