Index: media/device_monitors/device_monitor_mac.mm |
diff --git a/media/device_monitors/device_monitor_mac.mm b/media/device_monitors/device_monitor_mac.mm |
index 1141fcc17c68b8c77fba73d6e274efd652d2149e..4a47f7d950e4e5a35f59b14dd2f394c740d10f60 100644 |
--- a/media/device_monitors/device_monitor_mac.mm |
+++ b/media/device_monitors/device_monitor_mac.mm |
@@ -4,6 +4,7 @@ |
#include "media/device_monitors/device_monitor_mac.h" |
+#include <AVFoundation/AVFoundation.h> |
#include <set> |
#include "base/bind_helpers.h" |
@@ -14,7 +15,6 @@ |
#include "base/profiler/scoped_tracker.h" |
#include "base/task_runner_util.h" |
#include "base/threading/thread_checker.h" |
-#import "media/base/mac/avfoundation_glue.h" |
namespace { |
@@ -138,15 +138,15 @@ class SuspendObserverDelegate; |
base::Closure onDeviceChangedCallback_; |
// Member to keep track of the devices we are already monitoring. |
- std::set<base::scoped_nsobject<CrAVCaptureDevice>> monitoredDevices_; |
+ std::set<base::scoped_nsobject<AVCaptureDevice>> monitoredDevices_; |
// Pegged to the "main" thread -- usually content::BrowserThread::UI. |
base::ThreadChecker mainThreadChecker_; |
} |
- (id)initWithOnChangedCallback:(const base::Closure&)callback; |
-- (void)startObserving:(base::scoped_nsobject<CrAVCaptureDevice>)device; |
-- (void)stopObserving:(CrAVCaptureDevice*)device; |
+- (void)startObserving:(base::scoped_nsobject<AVCaptureDevice>)device; |
+- (void)stopObserving:(AVCaptureDevice*)device; |
- (void)clearOnDeviceChangedCallback; |
@end |
@@ -216,7 +216,7 @@ void SuspendObserverDelegate::StartObserver( |
// released in DoStartObserver(). |
base::PostTaskAndReplyWithResult( |
device_thread.get(), FROM_HERE, base::BindBlock(^{ |
- return [[AVCaptureDeviceGlue devices] retain]; |
+ return [[AVCaptureDevice devices] retain]; |
}), |
base::Bind(&SuspendObserverDelegate::DoStartObserver, this)); |
} |
@@ -229,7 +229,7 @@ void SuspendObserverDelegate::OnDeviceChanged( |
// is retained in |device_thread| and released in DoOnDeviceChanged(). |
PostTaskAndReplyWithResult( |
device_thread.get(), FROM_HERE, base::BindBlock(^{ |
- return [[AVCaptureDeviceGlue devices] retain]; |
+ return [[AVCaptureDevice devices] retain]; |
}), |
base::Bind(&SuspendObserverDelegate::DoOnDeviceChanged, this)); |
} |
@@ -247,8 +247,8 @@ SuspendObserverDelegate::~SuspendObserverDelegate() { |
void SuspendObserverDelegate::DoStartObserver(NSArray* devices) { |
DCHECK(main_thread_checker_.CalledOnValidThread()); |
base::scoped_nsobject<NSArray> auto_release(devices); |
- for (CrAVCaptureDevice* device in devices) { |
- base::scoped_nsobject<CrAVCaptureDevice> device_ptr([device retain]); |
+ for (AVCaptureDevice* device in devices) { |
+ base::scoped_nsobject<AVCaptureDevice> device_ptr([device retain]); |
[suspend_observer_ startObserving:device_ptr]; |
} |
} |
@@ -257,20 +257,20 @@ void SuspendObserverDelegate::DoOnDeviceChanged(NSArray* devices) { |
DCHECK(main_thread_checker_.CalledOnValidThread()); |
base::scoped_nsobject<NSArray> auto_release(devices); |
std::vector<DeviceInfo> snapshot_devices; |
- for (CrAVCaptureDevice* device in devices) { |
- base::scoped_nsobject<CrAVCaptureDevice> device_ptr([device retain]); |
+ for (AVCaptureDevice* device in devices) { |
+ base::scoped_nsobject<AVCaptureDevice> device_ptr([device retain]); |
[suspend_observer_ startObserving:device_ptr]; |
BOOL suspended = [device respondsToSelector:@selector(isSuspended)] && |
[device isSuspended]; |
DeviceInfo::DeviceType device_type = DeviceInfo::kUnknown; |
- if ([device hasMediaType:AVFoundationGlue::AVMediaTypeVideo()]) { |
+ if ([device hasMediaType:AVMediaTypeVideo]) { |
if (suspended) |
continue; |
device_type = DeviceInfo::kVideo; |
- } else if ([device hasMediaType:AVFoundationGlue::AVMediaTypeMuxed()]) { |
+ } else if ([device hasMediaType:AVMediaTypeMuxed]) { |
device_type = suspended ? DeviceInfo::kAudio : DeviceInfo::kMuxed; |
- } else if ([device hasMediaType:AVFoundationGlue::AVMediaTypeAudio()]) { |
+ } else if ([device hasMediaType:AVMediaTypeAudio]) { |
device_type = DeviceInfo::kAudio; |
} |
snapshot_devices.push_back( |
@@ -325,16 +325,14 @@ AVFoundationMonitorImpl::AVFoundationMonitorImpl( |
DCHECK(main_thread_checker_.CalledOnValidThread()); |
NSNotificationCenter* nc = [NSNotificationCenter defaultCenter]; |
device_arrival_ = |
- [nc addObserverForName:AVFoundationGlue:: |
- AVCaptureDeviceWasConnectedNotification() |
+ [nc addObserverForName:AVCaptureDeviceWasConnectedNotification |
object:nil |
queue:nil |
usingBlock:^(NSNotification* notification) { |
OnDeviceChanged(); |
}]; |
device_removal_ = |
- [nc addObserverForName:AVFoundationGlue:: |
- AVCaptureDeviceWasDisconnectedNotification() |
+ [nc addObserverForName:AVCaptureDeviceWasDisconnectedNotification |
object:nil |
queue:nil |
usingBlock:^(NSNotification* notification) { |
@@ -371,14 +369,14 @@ void AVFoundationMonitorImpl::OnDeviceChanged() { |
- (void)dealloc { |
DCHECK(mainThreadChecker_.CalledOnValidThread()); |
- std::set<base::scoped_nsobject<CrAVCaptureDevice>>::iterator it = |
+ std::set<base::scoped_nsobject<AVCaptureDevice>>::iterator it = |
monitoredDevices_.begin(); |
while (it != monitoredDevices_.end()) |
[self removeObservers:*(it++)]; |
[super dealloc]; |
} |
-- (void)startObserving:(base::scoped_nsobject<CrAVCaptureDevice>)device { |
+- (void)startObserving:(base::scoped_nsobject<AVCaptureDevice>)device { |
DCHECK(mainThreadChecker_.CalledOnValidThread()); |
DCHECK(device != nil); |
// Skip this device if there are already observers connected to it. |
@@ -397,11 +395,11 @@ void AVFoundationMonitorImpl::OnDeviceChanged() { |
monitoredDevices_.insert(device); |
} |
-- (void)stopObserving:(CrAVCaptureDevice*)device { |
+- (void)stopObserving:(AVCaptureDevice*)device { |
DCHECK(mainThreadChecker_.CalledOnValidThread()); |
DCHECK(device != nil); |
- std::set<base::scoped_nsobject<CrAVCaptureDevice>>::iterator found = |
+ std::set<base::scoped_nsobject<AVCaptureDevice>>::iterator found = |
std::find(monitoredDevices_.begin(), monitoredDevices_.end(), device); |
DCHECK(found != monitoredDevices_.end()); |
[self removeObservers:*found]; |
@@ -413,7 +411,7 @@ void AVFoundationMonitorImpl::OnDeviceChanged() { |
onDeviceChangedCallback_.Reset(); |
} |
-- (void)removeObservers:(CrAVCaptureDevice*)device { |
+- (void)removeObservers:(AVCaptureDevice*)device { |
DCHECK(mainThreadChecker_.CalledOnValidThread()); |
// Check sanity of |device| via its -observationInfo. http://crbug.com/371271. |
if ([device observationInfo]) { |
@@ -432,7 +430,7 @@ void AVFoundationMonitorImpl::OnDeviceChanged() { |
if ([keyPath isEqual:@"suspended"]) |
onDeviceChangedCallback_.Run(); |
if ([keyPath isEqual:@"connected"]) |
- [self stopObserving:static_cast<CrAVCaptureDevice*>(context)]; |
+ [self stopObserving:static_cast<AVCaptureDevice*>(context)]; |
} |
@end // @implementation CrAVFoundationDeviceObserver |
@@ -452,9 +450,6 @@ void DeviceMonitorMac::StartMonitoring( |
const scoped_refptr<base::SingleThreadTaskRunner>& device_task_runner) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
- // We're on the UI thread so let's try to initialize AVFoundation. |
- AVFoundationGlue::InitializeAVFoundation(); |
- |
// TODO(erikchen): Remove ScopedTracker below once http://crbug.com/458404 |
// is fixed. |
tracked_objects::ScopedTracker tracking_profile( |