From 0aadab0941a4fb3d6560ed19cda3b34aa12c0040 Mon Sep 17 00:00:00 2001 From: ziggy90127 Date: Sat, 25 Feb 2017 15:48:09 -0700 Subject: [PATCH 1/2] Add AVMediaTypeMuxed capture devices to AVFoundation, just as QTKit does. --- modules/videoio/src/cap_avfoundation_mac.mm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/videoio/src/cap_avfoundation_mac.mm b/modules/videoio/src/cap_avfoundation_mac.mm index ce6e3d074c..e7c2e53cac 100644 --- a/modules/videoio/src/cap_avfoundation_mac.mm +++ b/modules/videoio/src/cap_avfoundation_mac.mm @@ -305,7 +305,8 @@ int CvCaptureCAM::startCaptureDevice(int cameraNum) { NSAutoreleasePool *localpool = [[NSAutoreleasePool alloc] init]; // get capture device - NSArray *devices = [AVCaptureDevice devicesWithMediaType: AVMediaTypeVideo]; + NSArray *devices = [[AVCaptureDevice devicesWithMediaType: AVMediaTypeVideo] + arrayByAddingObjectsFromArray:[AVCaptureDevice devicesWithMediaType:AVMediaTypeMuxed]]; if ( devices.count == 0 ) { fprintf(stderr, "OpenCV: AVFoundation didn't find any attached Video Input Devices!\n"); From d69b3e385ee8ef93bf8d97214b2d78a87462a2ad Mon Sep 17 00:00:00 2001 From: ziggy90127 Date: Sun, 26 Feb 2017 01:36:26 -0700 Subject: [PATCH 2/2] Add AVMediaTypeMuxed capture devices to AVFoundation, just as QTKit does. --- modules/videoio/src/cap_avfoundation.mm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/videoio/src/cap_avfoundation.mm b/modules/videoio/src/cap_avfoundation.mm index 867fcfba73..0866782eb9 100644 --- a/modules/videoio/src/cap_avfoundation.mm +++ b/modules/videoio/src/cap_avfoundation.mm @@ -317,7 +317,8 @@ int CvCaptureCAM::startCaptureDevice(int cameraNum) { capture = [[CaptureDelegate alloc] init]; AVCaptureDevice *device; - NSArray* devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; + NSArray* devices = [[AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo] + arrayByAddingObjectsFromArray:[AVCaptureDevice devicesWithMediaType:AVMediaTypeMuxed]]; if ([devices count] == 0) { std::cout << "AV Foundation didn't find any attached Video Input Devices!" << std::endl; [localpool drain];