From 03a9fd46c73af68fda89526531f9f9f6b2ed0515 Mon Sep 17 00:00:00 2001 From: panxiaochun <997856423@qq.com> Date: Fri, 28 Oct 2016 11:18:33 +0800 Subject: [PATCH] fix the problem: leak memory when repeatedly start and stop --- modules/videoio/src/cap_ios_abstract_camera.mm | 6 +++--- modules/videoio/src/cap_ios_video_camera.mm | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/videoio/src/cap_ios_abstract_camera.mm b/modules/videoio/src/cap_ios_abstract_camera.mm index 79e0c3d7a9..437b920240 100644 --- a/modules/videoio/src/cap_ios_abstract_camera.mm +++ b/modules/videoio/src/cap_ios_abstract_camera.mm @@ -203,11 +203,11 @@ } [self.captureSession stopRunning]; - self.captureSession = nil; + [self.captureSession release]; } - self.captureVideoPreviewLayer = nil; - self.videoCaptureConnection = nil; + [self.captureVideoPreviewLayer release]; + [self.videoCaptureConnection release]; captureSessionLoaded = NO; } diff --git a/modules/videoio/src/cap_ios_video_camera.mm b/modules/videoio/src/cap_ios_video_camera.mm index 54471cee2d..c9c17dbe2b 100644 --- a/modules/videoio/src/cap_ios_video_camera.mm +++ b/modules/videoio/src/cap_ios_video_camera.mm @@ -131,7 +131,7 @@ static CGFloat DegreesToRadians(CGFloat degrees) {return degrees * M_PI / 180;} { [super stop]; - self.videoDataOutput = nil; + [self.videoDataOutput release]; if (videoDataOutputQueue) { dispatch_release(videoDataOutputQueue); } @@ -144,11 +144,11 @@ static CGFloat DegreesToRadians(CGFloat degrees) {return degrees * M_PI / 180;} } else { NSLog(@"[Camera] Recording Error: asset writer status is not writing"); } - self.recordAssetWriter = nil; + [self.recordAssetWriter release]; } - self.recordAssetWriterInput = nil; - self.recordPixelBufferAdaptor = nil; + [self.recordAssetWriterInput release]; + [self.recordPixelBufferAdaptor release]; } if (self.customPreviewLayer) {