Index: media/video/capture/mac/video_capture_device_factory_mac.mm |
diff --git a/media/video/capture/mac/video_capture_device_factory_mac.mm b/media/video/capture/mac/video_capture_device_factory_mac.mm |
index f0efe6b760b534880623738f832b8da4934720c7..f5a6a1cec44d3cc2877ee8b8d65e64f311dd3d11 100644 |
--- a/media/video/capture/mac/video_capture_device_factory_mac.mm |
+++ b/media/video/capture/mac/video_capture_device_factory_mac.mm |
@@ -13,6 +13,7 @@ |
#import "media/video/capture/mac/avfoundation_glue.h" |
#include "media/video/capture/mac/video_capture_device_mac.h" |
#import "media/video/capture/mac/video_capture_device_avfoundation_mac.h" |
+#import "media/video/capture/mac/video_capture_device_decklink_mac.h" |
#import "media/video/capture/mac/video_capture_device_qtkit_mac.h" |
namespace media { |
@@ -157,6 +158,9 @@ void VideoCaptureDeviceFactoryMac::GetDeviceNames( |
} |
} |
} |
+ |
+ // Also retrieve Blackmagic devices, if present, via DeckLink SDK API. |
+ VideoCaptureDeviceDeckLinkMac::EnumerateDevices(device_names); |
} else { |
// We should not enumerate QTKit devices in Device Thread; |
NOTREACHED(); |
@@ -183,11 +187,13 @@ void VideoCaptureDeviceFactoryMac::GetDeviceSupportedFormats( |
const VideoCaptureDevice::Name& device, |
VideoCaptureFormats* supported_formats) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
- if (device.capture_api_type() == VideoCaptureDevice::Name::AVFOUNDATION) { |
+ switch (device.capture_api_type()) { |
+ case VideoCaptureDevice::Name::AVFOUNDATION: |
DVLOG(1) << "Enumerating video capture capabilities, AVFoundation"; |
[VideoCaptureDeviceAVFoundation getDevice:device |
supportedFormats:supported_formats]; |
- } else { |
+ break; |
+ case VideoCaptureDevice::Name::QTKIT: |
// Blacklisted cameras provide their own supported format(s), otherwise no |
// such information is provided for QTKit. |
if (device.is_blacklisted()) { |
@@ -203,6 +209,14 @@ void VideoCaptureDeviceFactoryMac::GetDeviceSupportedFormats( |
} |
} |
} |
+ break; |
+ case VideoCaptureDevice::Name::DECKLINK: |
+ DVLOG(1) << "Enumerating video capture capabilities, Blackmagic"; |
+ VideoCaptureDeviceDeckLinkMac::EnumerateDeviceCapabilities( |
+ device, supported_formats); |
+ break; |
+ default: |
+ NOTREACHED(); |
} |
} |