summaryrefslogtreecommitdiffstats
path: root/content/browser/device_monitor_mac.h
diff options
context:
space:
mode:
authorxians@chromium.org <xians@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-20 22:04:04 +0000
committerxians@chromium.org <xians@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-20 22:04:04 +0000
commitac4ac80d4cab028aa41a2657c1cc2970e76f7287 (patch)
tree11849c25ce06690e564fd88c02fcfed642041b66 /content/browser/device_monitor_mac.h
parent7e421a53c34b638a83083300d8df1d76cf0ad2b9 (diff)
downloadchromium_src-ac4ac80d4cab028aa41a2657c1cc2970e76f7287.zip
chromium_src-ac4ac80d4cab028aa41a2657c1cc2970e76f7287.tar.gz
chromium_src-ac4ac80d4cab028aa41a2657c1cc2970e76f7287.tar.bz2
Video enumeration API is using the QTCaptureDevice, and if we use IOService for device monitoring, the notification comes before the initialization of the device, so the device list won't be updated.
After doing some tests, QTCaptureDevice notification comes after the AudioObjectAddPropertyListener notification, so it is also safe the use QTCaptureDevice for audio devices. BUG=160872 TEST= goto content setting media, plug in or unplug audio/video devices, the device selection UI should be updated. Review URL: https://chromiumcodereview.appspot.com/11415059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168880 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/device_monitor_mac.h')
-rw-r--r--content/browser/device_monitor_mac.h24
1 files changed, 2 insertions, 22 deletions
diff --git a/content/browser/device_monitor_mac.h b/content/browser/device_monitor_mac.h
index 63b8623..bab522f 100644
--- a/content/browser/device_monitor_mac.h
+++ b/content/browser/device_monitor_mac.h
@@ -5,11 +5,6 @@
#ifndef CONTENT_BROWSER_DEVICE_MONITOR_MAC_H_
#define CONTENT_BROWSER_DEVICE_MONITOR_MAC_H_
-#include <CoreAudio/AudioHardware.h>
-#include <IOKit/IOKitLib.h>
-
-#include <vector>
-
#include "base/basictypes.h"
#include "base/system_monitor/system_monitor.h"
@@ -21,26 +16,11 @@ class DeviceMonitorMac {
~DeviceMonitorMac();
private:
- void RegisterAudioServices();
- void RegisterVideoServices();
-
- static OSStatus AudioDeviceCallback(
- AudioObjectID object, UInt32 size,
- const AudioObjectPropertyAddress addresses[],
- void* context);
-
- static void VideoDeviceCallback(void* context, io_iterator_t iterator);
-
// Forward the notifications to system monitor.
void NotifyDeviceChanged(base::SystemMonitor::DeviceType type);
- // Helper.
- void RegisterServices(CFMutableDictionaryRef dictionary,
- IOServiceMatchingCallback callback);
-
- IONotificationPortRef notification_port_;
- std::vector<io_iterator_t*> notification_iterators_;
-
+ class QTMonitorImpl;
+ scoped_ptr<DeviceMonitorMac::QTMonitorImpl> qt_monitor_;
DISALLOW_COPY_AND_ASSIGN(DeviceMonitorMac);
};