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]; diff --git a/modules/videoio/src/cap_avfoundation_mac.mm b/modules/videoio/src/cap_avfoundation_mac.mm index 225e2fad62..07aac1af9c 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");