Chromium Code Reviews| 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 1fd4ecf4783259fac4b4b33a704b82bf2aad34a3..996f0b356be979dbab7db3bfd2b8a9633be2abb9 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())) { |
|
tommi (sloooow) - chröme
2014/09/23 12:59:54
nice :)
|
| + LOG(ERROR) << "Could not initialize VideoCaptureDevice."; |
| + capture_device.reset(); |
| + } |
| } |
| return scoped_ptr<VideoCaptureDevice>(capture_device.Pass()); |
| } |
| @@ -177,9 +182,7 @@ void VideoCaptureDeviceFactoryMac::EnumerateDeviceNames(const base::Callback< |
| callback.Run(device_names.Pass()); |
| } else { |
| DVLOG(1) << "Enumerating video capture devices using QTKit"; |
| - base::PostTaskAndReplyWithResult( |
| - ui_task_runner_.get(), |
| - FROM_HERE, |
| + base::PostTaskAndReplyWithResult(ui_task_runner_.get(), FROM_HERE, |
| base::Bind(&EnumerateDevicesUsingQTKit), |
| base::Bind(&RunDevicesEnumeratedCallback, callback)); |
| } |