Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Unified Diff: media/capture/video/mac/video_capture_device_factory_mac.mm

Issue 2214533002: move //media/capture to //device/capture (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/capture/video/mac/video_capture_device_factory_mac.mm
diff --git a/media/capture/video/mac/video_capture_device_factory_mac.mm b/media/capture/video/mac/video_capture_device_factory_mac.mm
deleted file mode 100644
index abf547ef2de8849f98aacd843fe6c167b5b60c8f..0000000000000000000000000000000000000000
--- a/media/capture/video/mac/video_capture_device_factory_mac.mm
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "media/capture/video/mac/video_capture_device_factory_mac.h"
-
-#import <IOKit/audio/IOAudioTypes.h>
-#include <stddef.h>
-
-#include <utility>
-
-#include "base/bind.h"
-#include "base/location.h"
-#include "base/macros.h"
-#include "base/profiler/scoped_tracker.h"
-#include "base/strings/string_util.h"
-#include "base/task_runner_util.h"
-#import "media/base/mac/avfoundation_glue.h"
-#import "media/capture/video/mac/video_capture_device_avfoundation_mac.h"
-#import "media/capture/video/mac/video_capture_device_decklink_mac.h"
-#include "media/capture/video/mac/video_capture_device_mac.h"
-
-namespace media {
-
-// Blacklisted devices are identified by a characteristic trailing substring of
-// uniqueId. At the moment these are just Blackmagic devices.
-const char* kBlacklistedCamerasIdSignature[] = {"-01FDA82C8A9C"};
-
-static bool IsDeviceBlacklisted(
- const VideoCaptureDeviceDescriptor& descriptor) {
- bool is_device_blacklisted = false;
- for (size_t i = 0;
- !is_device_blacklisted && i < arraysize(kBlacklistedCamerasIdSignature);
- ++i) {
- is_device_blacklisted =
- base::EndsWith(descriptor.device_id, kBlacklistedCamerasIdSignature[i],
- base::CompareCase::INSENSITIVE_ASCII);
- }
- DVLOG_IF(2, is_device_blacklisted)
- << "Blacklisted camera: " << descriptor.display_name
- << ", id: " << descriptor.device_id;
- return is_device_blacklisted;
-}
-
-VideoCaptureDeviceFactoryMac::VideoCaptureDeviceFactoryMac() {
- thread_checker_.DetachFromThread();
-}
-
-VideoCaptureDeviceFactoryMac::~VideoCaptureDeviceFactoryMac() {
-}
-
-std::unique_ptr<VideoCaptureDevice> VideoCaptureDeviceFactoryMac::CreateDevice(
- const VideoCaptureDeviceDescriptor& descriptor) {
- DCHECK(thread_checker_.CalledOnValidThread());
- DCHECK_NE(descriptor.capture_api, VideoCaptureApi::UNKNOWN);
-
- std::unique_ptr<VideoCaptureDevice> capture_device;
- if (descriptor.capture_api == VideoCaptureApi::MACOSX_DECKLINK) {
- capture_device.reset(new VideoCaptureDeviceDeckLinkMac(descriptor));
- } else {
- VideoCaptureDeviceMac* device = new VideoCaptureDeviceMac(descriptor);
- capture_device.reset(device);
- if (!device->Init(descriptor.capture_api)) {
- LOG(ERROR) << "Could not initialize VideoCaptureDevice.";
- capture_device.reset();
- }
- }
- return std::unique_ptr<VideoCaptureDevice>(std::move(capture_device));
-}
-
-void VideoCaptureDeviceFactoryMac::GetDeviceDescriptors(
- VideoCaptureDeviceDescriptors* device_descriptors) {
- // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/458397 is
- // fixed.
- tracked_objects::ScopedTracker tracking_profile(
- FROM_HERE_WITH_EXPLICIT_FUNCTION(
- "458397 VideoCaptureDeviceFactoryMac::GetDeviceDescriptors"));
- DCHECK(thread_checker_.CalledOnValidThread());
- // Loop through all available devices and add to |device_descriptors|.
- NSDictionary* capture_devices;
- DVLOG(1) << "Enumerating video capture devices using AVFoundation";
- capture_devices = [VideoCaptureDeviceAVFoundation deviceNames];
- // Enumerate all devices found by AVFoundation, translate the info for each
- // to class Name and add it to |device_names|.
- for (NSString* key in capture_devices) {
- const std::string device_id = [key UTF8String];
- const VideoCaptureApi capture_api = VideoCaptureApi::MACOSX_AVFOUNDATION;
- int transport_type = [[capture_devices valueForKey:key] transportType];
- // Transport types are defined for Audio devices and reused for video.
- VideoCaptureTransportType device_transport_type =
- (transport_type == kIOAudioDeviceTransportTypeBuiltIn ||
- transport_type == kIOAudioDeviceTransportTypeUSB)
- ? VideoCaptureTransportType::MACOSX_USB_OR_BUILT_IN
- : VideoCaptureTransportType::OTHER_TRANSPORT;
- const std::string model_id = VideoCaptureDeviceMac::GetDeviceModelId(
- device_id, capture_api, device_transport_type);
- VideoCaptureDeviceDescriptor descriptor(
- [[[capture_devices valueForKey:key] deviceName] UTF8String], device_id,
- model_id, capture_api, device_transport_type);
- if (IsDeviceBlacklisted(descriptor))
- continue;
- device_descriptors->push_back(descriptor);
- }
- // Also retrieve Blackmagic devices, if present, via DeckLink SDK API.
- VideoCaptureDeviceDeckLinkMac::EnumerateDevices(device_descriptors);
-}
-
-void VideoCaptureDeviceFactoryMac::GetSupportedFormats(
- const VideoCaptureDeviceDescriptor& device,
- VideoCaptureFormats* supported_formats) {
- DCHECK(thread_checker_.CalledOnValidThread());
- switch (device.capture_api) {
- case VideoCaptureApi::MACOSX_AVFOUNDATION:
- DVLOG(1) << "Enumerating video capture capabilities, AVFoundation";
- [VideoCaptureDeviceAVFoundation getDevice:device
- supportedFormats:supported_formats];
- break;
- case VideoCaptureApi::MACOSX_DECKLINK:
- DVLOG(1) << "Enumerating video capture capabilities "
- << device.display_name;
- VideoCaptureDeviceDeckLinkMac::EnumerateDeviceCapabilities(
- device, supported_formats);
- break;
- default:
- NOTREACHED();
- }
-}
-
-// static
-VideoCaptureDeviceFactory*
-VideoCaptureDeviceFactory::CreateVideoCaptureDeviceFactory(
- scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
- return new VideoCaptureDeviceFactoryMac();
-}
-
-} // namespace media

Powered by Google App Engine
This is Rietveld 408576698