summaryrefslogtreecommitdiff
path: root/sys/applemedia
diff options
context:
space:
mode:
authorIlya Konstantinov <ilya.konstantinov@gmail.com>2015-05-12 00:18:02 +0200
committerSebastian Dröge <sebastian@centricular.com>2015-06-09 16:36:41 +0200
commit05cc418ca23a7a3c3603b30db8599d989fac0b77 (patch)
tree5b52cc9cda075055ee8b04a8f97257caeec1cbe8 /sys/applemedia
parentfaf903720a6ab6d99b2567cd6af8195b07ff5fab (diff)
downloadgstreamer-plugins-bad-05cc418ca23a7a3c3603b30db8599d989fac0b77.tar.gz
avfassetsrc: fix huge memory leak
CMSampleBuffers were retained -> huge memory leak. https://bugzilla.gnome.org/show_bug.cgi?id=750638
Diffstat (limited to 'sys/applemedia')
-rw-r--r--sys/applemedia/avfassetsrc.m4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/applemedia/avfassetsrc.m b/sys/applemedia/avfassetsrc.m
index 0a40c0dbc..0aaf3adcf 100644
--- a/sys/applemedia/avfassetsrc.m
+++ b/sys/applemedia/avfassetsrc.m
@@ -1084,6 +1084,10 @@ gst_avf_asset_src_uri_handler_init (gpointer g_iface, gpointer iface_data)
}
buf = gst_core_media_buffer_new (cmbuf, FALSE, TRUE);
+ CFRelease (cmbuf);
+ if (buf == NULL)
+ return NULL;
+ /* cmbuf is now retained by buf (in meta) */
dur = CMSampleBufferGetDuration (cmbuf);
ts = CMSampleBufferGetPresentationTimeStamp (cmbuf);
if (dur.value != 0) {