diff options
author | Garima Gaur <garima.g@samsung.com> | 2017-01-02 09:06:09 +0530 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2017-01-02 12:41:20 +0000 |
commit | 14dc964f0e4526a842a245fdb86b98985bb12e3f (patch) | |
tree | b94f8701c3528d3bbb884fdaee0d794398a149bc | |
parent | beb11a99ba7eaf431e4385146576ce96fdcb7283 (diff) |
Fix some caps leaks when creating pad templates
https://bugzilla.gnome.org/show_bug.cgi?id=776700
-rw-r--r-- | ext/libav/gstavauddec.c | 3 | ||||
-rw-r--r-- | ext/libav/gstavaudenc.c | 3 | ||||
-rw-r--r-- | ext/libav/gstavdemux.c | 2 | ||||
-rw-r--r-- | ext/libav/gstavmux.c | 3 | ||||
-rw-r--r-- | ext/libav/gstavviddec.c | 3 | ||||
-rw-r--r-- | ext/libav/gstavvidenc.c | 3 |
6 files changed, 17 insertions, 0 deletions
diff --git a/ext/libav/gstavauddec.c b/ext/libav/gstavauddec.c index ef63f53622..4d04dfac14 100644 --- a/ext/libav/gstavauddec.c +++ b/ext/libav/gstavauddec.c @@ -107,6 +107,9 @@ gst_ffmpegauddec_base_init (GstFFMpegAudDecClass * klass) gst_element_class_add_pad_template (element_class, srctempl); gst_element_class_add_pad_template (element_class, sinktempl); + gst_caps_unref (sinkcaps); + gst_caps_unref (srccaps); + klass->in_plugin = in_plugin; klass->srctempl = srctempl; klass->sinktempl = sinktempl; diff --git a/ext/libav/gstavaudenc.c b/ext/libav/gstavaudenc.c index f190ef98c2..12cc804ccf 100644 --- a/ext/libav/gstavaudenc.c +++ b/ext/libav/gstavaudenc.c @@ -124,6 +124,9 @@ gst_ffmpegaudenc_base_init (GstFFMpegAudEncClass * klass) gst_element_class_add_pad_template (element_class, srctempl); gst_element_class_add_pad_template (element_class, sinktempl); + gst_caps_unref (sinkcaps); + gst_caps_unref (srccaps); + klass->in_plugin = in_plugin; klass->srctempl = srctempl; klass->sinktempl = sinktempl; diff --git a/ext/libav/gstavdemux.c b/ext/libav/gstavdemux.c index 2a61be4405..c119798461 100644 --- a/ext/libav/gstavdemux.c +++ b/ext/libav/gstavdemux.c @@ -217,6 +217,8 @@ gst_ffmpegdemux_base_init (GstFFMpegDemuxClass * klass) gst_element_class_add_pad_template (element_class, audiosrctempl); gst_element_class_add_pad_template (element_class, sinktempl); + gst_caps_unref (sinkcaps); + klass->in_plugin = in_plugin; klass->videosrctempl = videosrctempl; klass->audiosrctempl = audiosrctempl; diff --git a/ext/libav/gstavmux.c b/ext/libav/gstavmux.c index a7599f8705..919c06ccd8 100644 --- a/ext/libav/gstavmux.c +++ b/ext/libav/gstavmux.c @@ -269,17 +269,20 @@ gst_ffmpegmux_base_init (gpointer g_class) /* pad templates */ srctempl = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, srccaps); gst_element_class_add_pad_template (element_class, srctempl); + gst_caps_unref (srccaps); if (audiosinkcaps) { audiosinktempl = gst_pad_template_new ("audio_%u", GST_PAD_SINK, GST_PAD_REQUEST, audiosinkcaps); gst_element_class_add_pad_template (element_class, audiosinktempl); + gst_caps_unref (audiosinkcaps); } if (videosinkcaps) { videosinktempl = gst_pad_template_new ("video_%u", GST_PAD_SINK, GST_PAD_REQUEST, videosinkcaps); gst_element_class_add_pad_template (element_class, videosinktempl); + gst_caps_unref (videosinkcaps); } beach: diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c index 65a3253544..17a6430a4a 100644 --- a/ext/libav/gstavviddec.c +++ b/ext/libav/gstavviddec.c @@ -192,6 +192,9 @@ gst_ffmpegviddec_base_init (GstFFMpegVidDecClass * klass) gst_element_class_add_pad_template (element_class, srctempl); gst_element_class_add_pad_template (element_class, sinktempl); + gst_caps_unref (sinkcaps); + gst_caps_unref (srccaps); + klass->in_plugin = in_plugin; } diff --git a/ext/libav/gstavvidenc.c b/ext/libav/gstavvidenc.c index 671f2f11ef..f7d32e57dc 100644 --- a/ext/libav/gstavvidenc.c +++ b/ext/libav/gstavvidenc.c @@ -161,6 +161,9 @@ gst_ffmpegvidenc_base_init (GstFFMpegVidEncClass * klass) gst_element_class_add_pad_template (element_class, srctempl); gst_element_class_add_pad_template (element_class, sinktempl); + gst_caps_unref (sinkcaps); + gst_caps_unref (srccaps); + klass->in_plugin = in_plugin; klass->srctempl = srctempl; klass->sinktempl = sinktempl; |