Index: media/capture/video/mac/video_capture_device_decklink_mac.mm |
diff --git a/media/capture/video/mac/video_capture_device_decklink_mac.mm b/media/capture/video/mac/video_capture_device_decklink_mac.mm |
index 07a0a245c017043aeba774c38beb50841edd4015..54bb0ccde568fb563bbc9f8faffed7bc44c8fa1f 100644 |
--- a/media/capture/video/mac/video_capture_device_decklink_mac.mm |
+++ b/media/capture/video/mac/video_capture_device_decklink_mac.mm |
@@ -47,8 +47,9 @@ class DeckLinkCaptureDelegate |
: public IDeckLinkInputCallback, |
public base::RefCountedThreadSafe<DeckLinkCaptureDelegate> { |
public: |
- DeckLinkCaptureDelegate(const media::VideoCaptureDevice::Name& device_name, |
- media::VideoCaptureDeviceDeckLinkMac* frame_receiver); |
+ DeckLinkCaptureDelegate( |
+ const media::VideoCaptureDeviceDescriptor& device_descriptor, |
+ media::VideoCaptureDeviceDeckLinkMac* frame_receiver); |
void AllocateAndStart(const media::VideoCaptureParams& params); |
void StopAndDeAllocate(); |
@@ -78,7 +79,7 @@ class DeckLinkCaptureDelegate |
// Forwarder to VideoCaptureDeviceDeckLinkMac::SendLogString(). |
void SendLogString(const std::string& message); |
- const media::VideoCaptureDevice::Name device_name_; |
+ const media::VideoCaptureDeviceDescriptor device_descriptor_; |
// Protects concurrent setting and using of |frame_receiver_|. |
base::Lock lock_; |
@@ -123,10 +124,9 @@ static float GetDisplayModeFrameRate( |
} |
DeckLinkCaptureDelegate::DeckLinkCaptureDelegate( |
- const media::VideoCaptureDevice::Name& device_name, |
+ const media::VideoCaptureDeviceDescriptor& device_descriptor, |
media::VideoCaptureDeviceDeckLinkMac* frame_receiver) |
- : device_name_(device_name), frame_receiver_(frame_receiver) { |
-} |
+ : device_descriptor_(device_descriptor), frame_receiver_(frame_receiver) {} |
DeckLinkCaptureDelegate::~DeckLinkCaptureDelegate() { |
} |
@@ -144,7 +144,8 @@ void DeckLinkCaptureDelegate::AllocateAndStart( |
while (decklink_iter->Next(decklink_local.Receive()) == S_OK) { |
CFStringRef device_model_name = NULL; |
if ((decklink_local->GetModelName(&device_model_name) == S_OK) || |
- (device_name_.id() == base::SysCFStringRefToUTF8(device_model_name))) { |
+ (device_descriptor_.device_id == |
+ base::SysCFStringRefToUTF8(device_model_name))) { |
break; |
} |
} |
@@ -339,7 +340,7 @@ static std::string JoinDeviceNameAndFormat(CFStringRef name, |
// static |
void VideoCaptureDeviceDeckLinkMac::EnumerateDevices( |
- VideoCaptureDevice::Names* device_names) { |
+ VideoCaptureDeviceDescriptors* device_descriptors) { |
scoped_refptr<IDeckLinkIterator> decklink_iter( |
CreateDeckLinkIteratorInstance()); |
// At this point, not being able to create a DeckLink iterator means that |
@@ -382,13 +383,15 @@ void VideoCaptureDeviceDeckLinkMac::EnumerateDevices( |
while (display_mode_iter->Next(display_mode.Receive()) == S_OK) { |
CFStringRef format_name = NULL; |
if (display_mode->GetName(&format_name) == S_OK) { |
- VideoCaptureDevice::Name name( |
- JoinDeviceNameAndFormat(device_display_name, format_name), |
- JoinDeviceNameAndFormat(device_model_name, format_name), |
- VideoCaptureDevice::Name::DECKLINK, |
- VideoCaptureDevice::Name::OTHER_TRANSPORT); |
- device_names->push_back(name); |
- DVLOG(1) << "Blackmagic camera enumerated: " << name.name(); |
+ VideoCaptureDeviceDescriptor descriptor; |
+ descriptor.display_name = |
+ JoinDeviceNameAndFormat(device_display_name, format_name); |
+ descriptor.device_id = |
+ JoinDeviceNameAndFormat(device_model_name, format_name); |
+ descriptor.capture_api = VideoCaptureApi::MACOSX_DECKLINK; |
+ descriptor.transport_type = VideoCaptureTransportType::OTHER_TRANSPORT; |
+ device_descriptors->push_back(descriptor); |
+ DVLOG(1) << "Blackmagic camera enumerated: " << descriptor.display_name; |
} |
display_mode.Release(); |
} |
@@ -397,7 +400,7 @@ void VideoCaptureDeviceDeckLinkMac::EnumerateDevices( |
// static |
void VideoCaptureDeviceDeckLinkMac::EnumerateDeviceCapabilities( |
- const VideoCaptureDevice::Name& device, |
+ const VideoCaptureDeviceDescriptor& device, |
VideoCaptureFormats* supported_formats) { |
scoped_refptr<IDeckLinkIterator> decklink_iter( |
CreateDeckLinkIteratorInstance()); |
@@ -431,7 +434,7 @@ void VideoCaptureDeviceDeckLinkMac::EnumerateDeviceCapabilities( |
while (display_mode_iter->Next(display_mode.Receive()) == S_OK) { |
CFStringRef format_name = NULL; |
if (display_mode->GetName(&format_name) == S_OK && |
- device.id() != |
+ device.device_id != |
JoinDeviceNameAndFormat(device_model_name, format_name)) { |
display_mode.Release(); |
continue; |
@@ -444,7 +447,8 @@ void VideoCaptureDeviceDeckLinkMac::EnumerateDeviceCapabilities( |
GetDisplayModeFrameRate(display_mode), |
PIXEL_FORMAT_UNKNOWN); |
supported_formats->push_back(format); |
- DVLOG(2) << device.name() << " " << VideoCaptureFormat::ToString(format); |
+ DVLOG(2) << device.display_name << " " |
+ << VideoCaptureFormat::ToString(format); |
display_mode.Release(); |
} |
return; |
@@ -452,10 +456,9 @@ void VideoCaptureDeviceDeckLinkMac::EnumerateDeviceCapabilities( |
} |
VideoCaptureDeviceDeckLinkMac::VideoCaptureDeviceDeckLinkMac( |
- const Name& device_name) |
+ const VideoCaptureDeviceDescriptor& device_descriptor) |
: decklink_capture_delegate_( |
- new DeckLinkCaptureDelegate(device_name, this)) { |
-} |
+ new DeckLinkCaptureDelegate(device_descriptor, this)) {} |
VideoCaptureDeviceDeckLinkMac::~VideoCaptureDeviceDeckLinkMac() { |
decklink_capture_delegate_->ResetVideoCaptureDeviceReference(); |