diff options
author | Sebastian Rasmussen <sebras@hotmail.com> | 2014-08-09 01:27:53 +0200 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2014-08-10 12:38:57 +0100 |
commit | b53433fbbf7e62ad19850bbe178455c17ddd6970 (patch) | |
tree | 6e8230bdc6e456ab5012708ab544dbcf28dfdff2 | |
parent | 2f8e528f37311ab0dd40e69df2d264619f3eb295 (diff) |
openal: Unref pad template caps after usage
https://bugzilla.gnome.org/show_bug.cgi?id=734520
-rw-r--r-- | ext/openal/gstopenalsink.c | 4 | ||||
-rw-r--r-- | ext/openal/gstopenalsrc.c | 5 |
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 { |