summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@hotmail.com>2014-08-09 01:27:53 +0200
committerTim-Philipp Müller <tim@centricular.com>2014-08-10 12:38:57 +0100
commitb53433fbbf7e62ad19850bbe178455c17ddd6970 (patch)
tree6e8230bdc6e456ab5012708ab544dbcf28dfdff2
parent2f8e528f37311ab0dd40e69df2d264619f3eb295 (diff)
openal: Unref pad template caps after usage
https://bugzilla.gnome.org/show_bug.cgi?id=734520
-rw-r--r--ext/openal/gstopenalsink.c4
-rw-r--r--ext/openal/gstopenalsrc.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/ext/openal/gstopenalsink.c b/ext/openal/gstopenalsink.c
index 86f4709ce..1fa1c6574 100644
--- a/ext/openal/gstopenalsink.c
+++ b/ext/openal/gstopenalsink.c
@@ -575,7 +575,9 @@ gst_openal_sink_getcaps (GstBaseSink * basesink, GstCaps * filter)
if (sink->default_device == NULL) {
GstPad *pad = GST_BASE_SINK_PAD (basesink);
- caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad));
+ GstCaps *tcaps = gst_pad_get_pad_template_caps (pad);
+ caps = gst_caps_copy (tcaps);
+ gst_caps_unref (tcaps);
} else if (sink->probed_caps)
caps = gst_caps_copy (sink->probed_caps);
else {
diff --git a/ext/openal/gstopenalsrc.c b/ext/openal/gstopenalsrc.c
index 1c246b5c2..ef4847599 100644
--- a/ext/openal/gstopenalsrc.c
+++ b/ext/openal/gstopenalsrc.c
@@ -335,9 +335,12 @@ gst_openal_src_getcaps (GstBaseSrc * basesrc, GstCaps * filter)
if (device == NULL) {
GstPad *pad = GST_BASE_SRC_PAD (basesrc);
+ GstCaps *tcaps = gst_pad_get_pad_template_caps (pad);
+
GST_ELEMENT_WARNING (openalsrc, RESOURCE, OPEN_WRITE,
("Could not open temporary device."), GST_ALC_ERROR (device));
- caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad));
+ caps = gst_caps_copy (tcaps);
+ gst_caps_unref (tcaps);
} else if (openalsrc->probed_caps)
caps = gst_caps_copy (openalsrc->probed_caps);
else {