diff --git a/sys/dshowdecwrapper/gstdshowaudiodec.cpp b/sys/dshowdecwrapper/gstdshowaudiodec.cpp index 9fb83e5bee..ad73850391 100644 --- a/sys/dshowdecwrapper/gstdshowaudiodec.cpp +++ b/sys/dshowdecwrapper/gstdshowaudiodec.cpp @@ -364,6 +364,12 @@ gst_dshowaudiodec_base_init (gpointer klass) /* register */ gst_element_class_add_pad_template (element_class, src); gst_element_class_add_pad_template (element_class, sink); + + if (sinkcaps) + gst_caps_unref(sinkcaps); + + if (srccaps) + gst_caps_unref(srccaps); } static void diff --git a/sys/dshowdecwrapper/gstdshowvideodec.cpp b/sys/dshowdecwrapper/gstdshowvideodec.cpp index 9c2f59cfc7..7288f72fd3 100644 --- a/sys/dshowdecwrapper/gstdshowvideodec.cpp +++ b/sys/dshowdecwrapper/gstdshowvideodec.cpp @@ -409,6 +409,12 @@ gst_dshowvideodec_base_init (gpointer klass) gst_element_class_add_pad_template (element_class, src); gst_element_class_add_pad_template (element_class, sink); + + if (sinkcaps) + gst_caps_unref(sinkcaps); + + if (srccaps) + gst_caps_unref(srccaps); } static void diff --git a/sys/vdpau/gstvdpdecoder.c b/sys/vdpau/gstvdpdecoder.c index b41861f0cb..c3892f235c 100644 --- a/sys/vdpau/gstvdpdecoder.c +++ b/sys/vdpau/gstvdpdecoder.c @@ -360,6 +360,9 @@ gst_vdp_decoder_class_init (GstVdpDecoderClass * klass) gst_element_class_add_pad_template (element_class, src_template); + if (src_caps) + gst_caps_unref (src_caps); + g_object_class_install_property (object_class, PROP_DISPLAY, g_param_spec_string ("display", "Display", "X Display name", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));