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 3477621fe206959b71032f0bce64767ca91da6dd..94c56196aad162c657d7ead2e4d19de5d3a3eeec 100644 |
--- a/media/video/capture/mac/video_capture_device_factory_mac.mm |
+++ b/media/video/capture/mac/video_capture_device_factory_mac.mm |
@@ -98,11 +98,16 @@ scoped_ptr<VideoCaptureDevice> VideoCaptureDeviceFactoryMac::Create( |
return scoped_ptr<VideoCaptureDevice>(); |
} |
- scoped_ptr<VideoCaptureDeviceMac> capture_device( |
- new VideoCaptureDeviceMac(device_name)); |
- if (!capture_device->Init(device_name.capture_api_type())) { |
- LOG(ERROR) << "Could not initialize VideoCaptureDevice."; |
- capture_device.reset(); |
+ scoped_ptr<VideoCaptureDevice> capture_device; |
+ if (device_name.capture_api_type() == VideoCaptureDevice::Name::DECKLINK) { |
+ capture_device.reset(new VideoCaptureDeviceDeckLinkMac(device_name)); |
+ } else { |
+ VideoCaptureDeviceMac* device = new VideoCaptureDeviceMac(device_name); |
+ capture_device.reset(device); |
+ if (device->Init(device_name.capture_api_type())) { |
+ LOG(ERROR) << "Could not initialize VideoCaptureDevice."; |
+ capture_device.reset(); |
+ } |
} |
return scoped_ptr<VideoCaptureDevice>(capture_device.Pass()); |
} |