Index: webrtc/media/devices/devicemanager.h |
diff --git a/webrtc/media/devices/devicemanager.h b/webrtc/media/devices/devicemanager.h |
deleted file mode 100644 |
index 01f4cb3c9c57422d4c878465d109404b3e1923fe..0000000000000000000000000000000000000000 |
--- a/webrtc/media/devices/devicemanager.h |
+++ /dev/null |
@@ -1,192 +0,0 @@ |
-/* |
- * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. |
- * |
- * Use of this source code is governed by a BSD-style license |
- * that can be found in the LICENSE file in the root of the source |
- * tree. An additional intellectual property rights grant can be found |
- * in the file PATENTS. All contributing project authors may |
- * be found in the AUTHORS file in the root of the source tree. |
- */ |
- |
-#ifndef WEBRTC_MEDIA_DEVICES_DEVICEMANAGER_H_ |
-#define WEBRTC_MEDIA_DEVICES_DEVICEMANAGER_H_ |
- |
-#include <map> |
-#include <memory> |
-#include <string> |
-#include <vector> |
- |
-#include "webrtc/base/sigslot.h" |
-#include "webrtc/base/stringencode.h" |
-#include "webrtc/base/window.h" |
-#include "webrtc/media/base/device.h" |
-#include "webrtc/media/base/screencastid.h" |
-#include "webrtc/media/base/videocapturerfactory.h" |
-#include "webrtc/media/base/videocommon.h" |
- |
-namespace rtc { |
- |
-class DesktopDescription; |
-class WindowDescription; |
-class WindowPicker; |
- |
-} |
-namespace cricket { |
- |
-class VideoCapturer; |
- |
-// DeviceManagerInterface - interface to manage the audio and |
-// video devices on the system. |
-class DeviceManagerInterface { |
- public: |
- virtual ~DeviceManagerInterface() { } |
- |
- // Initialization |
- virtual bool Init() = 0; |
- virtual void Terminate() = 0; |
- |
- // Capabilities |
- virtual int GetCapabilities() = 0; |
- |
- // Device enumeration |
- virtual bool GetAudioInputDevices(std::vector<Device>* devices) = 0; |
- virtual bool GetAudioOutputDevices(std::vector<Device>* devices) = 0; |
- |
- virtual bool GetAudioInputDevice(const std::string& name, Device* out) = 0; |
- virtual bool GetAudioOutputDevice(const std::string& name, Device* out) = 0; |
- |
- virtual bool GetVideoCaptureDevices(std::vector<Device>* devs) = 0; |
- virtual bool GetVideoCaptureDevice(const std::string& name, Device* out) = 0; |
- |
- // If the device manager needs to create video capturers, here is |
- // how to control which video capturers are created. These take |
- // ownership of the factories. |
- virtual void SetVideoDeviceCapturerFactory( |
- VideoDeviceCapturerFactory* video_device_capturer_factory) = 0; |
- virtual void SetScreenCapturerFactory( |
- ScreenCapturerFactory* screen_capturer_factory) = 0; |
- |
- // Caps the capture format according to max format for capturers created |
- // by CreateVideoCapturer(). See ConstrainSupportedFormats() in |
- // videocapturer.h for more detail. |
- // Note that once a VideoCapturer has been created, calling this API will |
- // not affect it. |
- virtual void SetVideoCaptureDeviceMaxFormat( |
- const std::string& usb_id, |
- const VideoFormat& max_format) = 0; |
- virtual void ClearVideoCaptureDeviceMaxFormat(const std::string& usb_id) = 0; |
- |
- // Device creation |
- virtual VideoCapturer* CreateVideoCapturer(const Device& device) const = 0; |
- |
- virtual bool GetWindows( |
- std::vector<rtc::WindowDescription>* descriptions) = 0; |
- virtual bool GetDesktops( |
- std::vector<rtc::DesktopDescription>* descriptions) = 0; |
- virtual VideoCapturer* CreateScreenCapturer( |
- const ScreencastId& screenid) const = 0; |
- |
- sigslot::signal0<> SignalDevicesChange; |
- |
- static const char kDefaultDeviceName[]; |
-}; |
- |
-class DeviceWatcher { |
- public: |
- explicit DeviceWatcher(DeviceManagerInterface* dm) {} |
- virtual ~DeviceWatcher() {} |
- virtual bool Start() { return true; } |
- virtual void Stop() {} |
-}; |
- |
-class DeviceManagerFactory { |
- public: |
- static DeviceManagerInterface* Create(); |
- |
- private: |
- DeviceManagerFactory() {} |
-}; |
- |
-class DeviceManager : public DeviceManagerInterface { |
- public: |
- DeviceManager(); |
- virtual ~DeviceManager(); |
- |
- // Initialization |
- virtual bool Init(); |
- virtual void Terminate(); |
- |
- // Capabilities |
- virtual int GetCapabilities(); |
- |
- // Device enumeration |
- virtual bool GetAudioInputDevices(std::vector<Device>* devices); |
- virtual bool GetAudioOutputDevices(std::vector<Device>* devices); |
- |
- virtual bool GetAudioInputDevice(const std::string& name, Device* out); |
- virtual bool GetAudioOutputDevice(const std::string& name, Device* out); |
- |
- virtual bool GetVideoCaptureDevices(std::vector<Device>* devs); |
- virtual bool GetVideoCaptureDevice(const std::string& name, Device* out); |
- |
- virtual void SetVideoDeviceCapturerFactory( |
- VideoDeviceCapturerFactory* video_device_capturer_factory) { |
- video_device_capturer_factory_.reset(video_device_capturer_factory); |
- } |
- virtual void SetScreenCapturerFactory( |
- ScreenCapturerFactory* screen_capturer_factory) { |
- screen_capturer_factory_.reset(screen_capturer_factory); |
- } |
- |
- |
- virtual void SetVideoCaptureDeviceMaxFormat(const std::string& usb_id, |
- const VideoFormat& max_format); |
- virtual void ClearVideoCaptureDeviceMaxFormat(const std::string& usb_id); |
- |
- // TODO(pthatcher): Rename to CreateVideoDeviceCapturer. |
- virtual VideoCapturer* CreateVideoCapturer(const Device& device) const; |
- |
- virtual bool GetWindows( |
- std::vector<rtc::WindowDescription>* descriptions); |
- virtual bool GetDesktops( |
- std::vector<rtc::DesktopDescription>* descriptions); |
- virtual VideoCapturer* CreateScreenCapturer( |
- const ScreencastId& screenid) const; |
- |
- // The exclusion_list MUST be a NULL terminated list. |
- static bool FilterDevices(std::vector<Device>* devices, |
- const char* const exclusion_list[]); |
- bool initialized() const { return initialized_; } |
- |
- protected: |
- virtual bool GetAudioDevices(bool input, std::vector<Device>* devs); |
- virtual bool GetAudioDevice(bool is_input, const std::string& name, |
- Device* out); |
- virtual bool GetDefaultVideoCaptureDevice(Device* device); |
- bool IsInWhitelist(const std::string& key, VideoFormat* video_format) const; |
- virtual bool GetMaxFormat(const Device& device, |
- VideoFormat* video_format) const; |
- |
- void set_initialized(bool initialized) { initialized_ = initialized; } |
- |
- void set_watcher(DeviceWatcher* watcher) { watcher_.reset(watcher); } |
- DeviceWatcher* watcher() { return watcher_.get(); } |
- |
- private: |
- // The exclusion_list MUST be a NULL terminated list. |
- static bool ShouldDeviceBeIgnored(const std::string& device_name, |
- const char* const exclusion_list[]); |
- |
- bool initialized_; |
- std::unique_ptr< |
- VideoDeviceCapturerFactory> video_device_capturer_factory_; |
- std::unique_ptr< |
- ScreenCapturerFactory> screen_capturer_factory_; |
- std::map<std::string, VideoFormat> max_formats_; |
- std::unique_ptr<DeviceWatcher> watcher_; |
- std::unique_ptr<rtc::WindowPicker> window_picker_; |
-}; |
- |
-} // namespace cricket |
- |
-#endif // WEBRTC_MEDIA_DEVICES_DEVICEMANAGER_H_ |