diff --git a/AUTHORS b/AUTHORS index 6f83529335..e97d8e876e 100644 --- a/AUTHORS +++ b/AUTHORS @@ -11,3 +11,4 @@ Martin Storsjo Jie Mao Anil Kumar Opera Software ASA +Silviu Caragea diff --git a/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_info_objc.mm b/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_info_objc.mm index 2a2a8ac87a..dbc5db8d00 100644 --- a/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_info_objc.mm +++ b/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_info_objc.mm @@ -41,6 +41,9 @@ using namespace webrtc; /// ***** Objective-C. Similar to C++ destructor /// ***** Returns nothing - (void)dealloc { + + [_captureDevicesInfo release]; + [super dealloc]; } diff --git a/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_objc.h b/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_objc.h index d48dbf1c98..597ca053ef 100644 --- a/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_objc.h +++ b/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_objc.h @@ -30,7 +30,6 @@ @interface VideoCaptureMacQTKitObjC : NSObject{ // class properties bool _capturing; - int _counter; int _frameRate; int _frameWidth; int _frameHeight; @@ -49,19 +48,8 @@ QTCaptureDecompressedVideoOutput* _captureDecompressedVideoOutput; NSArray* _captureDevices; int _captureDeviceCount; - int _captureDeviceIndex; - NSString* _captureDeviceName; char _captureDeviceNameUTF8[1024]; char _captureDeviceNameUniqueID[1024]; - char _captureDeviceNameProductID[1024]; - NSString* _key; - NSNumber* _val; - NSDictionary* _videoSettings; - NSString* _captureQuality; - - // other - NSAutoreleasePool* _pool; - } /************************************************************************** * diff --git a/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_objc.mm b/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_objc.mm index 48f734cc39..702daabd6b 100644 --- a/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_objc.mm +++ b/webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_objc.mm @@ -47,10 +47,21 @@ using namespace videocapturemodule; /// ***** Returns nothing - (void)dealloc { if(_captureSession) - { [_captureSession stopRunning]; - [_captureSession release]; + + if (_captureVideoDeviceInput) + { + if([[_captureVideoDeviceInput device] isOpen]) + [[_captureVideoDeviceInput device] close]; + + [_captureVideoDeviceInput release]; } + + [_captureDecompressedVideoOutput release]; + [_captureSession release]; + [_captureDevices release]; + [_rLock release]; + [super dealloc]; } @@ -279,10 +290,7 @@ using namespace videocapturemodule; return [NSNumber numberWithInt:0]; } - _pool = [[NSAutoreleasePool alloc]init]; - memset(_captureDeviceNameUTF8, 0, 1024); - _counter = 0; _framesDelivered = 0; _framesRendered = 0; _captureDeviceCount = 0; @@ -291,7 +299,6 @@ using namespace videocapturemodule; _frameRate = DEFAULT_FRAME_RATE; _frameWidth = DEFAULT_FRAME_WIDTH; _frameHeight = DEFAULT_FRAME_HEIGHT; - _captureDeviceName = [[NSString alloc] initWithFormat:@""]; _rLock = [[VideoCaptureRecursiveLock alloc] init]; _captureSession = [[QTCaptureSession alloc] init]; _captureDecompressedVideoOutput = [[QTCaptureDecompressedVideoOutput alloc] @@ -359,18 +366,9 @@ using namespace videocapturemodule; return [NSNumber numberWithInt:-1]; } - QTCaptureDevice* videoDevice = - (QTCaptureDevice*)[_captureDevices objectAtIndex:0]; - bool success = NO; NSError* error; - success = [videoDevice open:&error]; - if(!success) - { - return [NSNumber numberWithInt:-1]; - } - [_captureDecompressedVideoOutput setPixelBufferAttributes: [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithDouble:_frameWidth], (id)kCVPixelBufferWidthKey,