| Index: media/audio/audio_manager.h
|
| diff --git a/media/audio/audio_manager.h b/media/audio/audio_manager.h
|
| index cd91b399d6d4595ce60faf0131baa65f9cfd8bca..2060e9f510ea8ec569d181d3eb313fc151c4927d 100644
|
| --- a/media/audio/audio_manager.h
|
| +++ b/media/audio/audio_manager.h
|
| @@ -95,43 +95,6 @@ class MEDIA_EXPORT AudioManager {
|
| // like src/chrome.
|
| static AudioManager* Get();
|
|
|
| - // Returns true if the OS reports existence of audio devices. This does not
|
| - // guarantee that the existing devices support all formats and sample rates.
|
| - virtual bool HasAudioOutputDevices() = 0;
|
| -
|
| - // Returns true if the OS reports existence of audio recording devices. This
|
| - // does not guarantee that the existing devices support all formats and
|
| - // sample rates.
|
| - virtual bool HasAudioInputDevices() = 0;
|
| -
|
| - // Returns a human readable string for the model/make of the active audio
|
| - // input device for this computer.
|
| - virtual base::string16 GetAudioInputDeviceModel() = 0;
|
| -
|
| - // Opens the platform default audio input settings UI.
|
| - // Note: This could invoke an external application/preferences pane, so
|
| - // ideally must not be called from the UI thread or other time sensitive
|
| - // threads to avoid blocking the rest of the application.
|
| - virtual void ShowAudioInputSettings() = 0;
|
| -
|
| - // Appends a list of available input devices to |device_descriptions|,
|
| - // which must initially be empty. It is not guaranteed that all the
|
| - // devices in the list support all formats and sample rates for
|
| - // recording.
|
| - //
|
| - // Not threadsafe; in production this should only be called from the
|
| - // Audio worker thread (see GetTaskRunner()).
|
| - virtual void GetAudioInputDeviceDescriptions(
|
| - AudioDeviceDescriptions* device_descriptions) = 0;
|
| -
|
| - // Appends a list of available output devices to |device_descriptions|,
|
| - // which must initially be empty.
|
| - //
|
| - // Not threadsafe; in production this should only be called from the
|
| - // Audio worker thread (see GetTaskRunner()).
|
| - virtual void GetAudioOutputDeviceDescriptions(
|
| - AudioDeviceDescriptions* device_descriptions) = 0;
|
| -
|
| // Log callback used for sending log messages from a stream to the object
|
| // that manages the stream.
|
| using LogCallback = base::Callback<void(const std::string&)>;
|
| @@ -213,33 +176,6 @@ class MEDIA_EXPORT AudioManager {
|
| virtual void RemoveOutputDeviceChangeListener(
|
| AudioDeviceListener* listener) = 0;
|
|
|
| - // Returns the default output hardware audio parameters for opening output
|
| - // streams. It is a convenience interface to
|
| - // AudioManagerBase::GetPreferredOutputStreamParameters and each AudioManager
|
| - // does not need their own implementation to this interface.
|
| - // TODO(tommi): Remove this method and use GetOutputStreamParameteres instead.
|
| - virtual AudioParameters GetDefaultOutputStreamParameters() = 0;
|
| -
|
| - // Returns the output hardware audio parameters for a specific output device.
|
| - virtual AudioParameters GetOutputStreamParameters(
|
| - const std::string& device_id) = 0;
|
| -
|
| - // Returns the input hardware audio parameters of the specific device
|
| - // for opening input streams. Each AudioManager needs to implement their own
|
| - // version of this interface.
|
| - virtual AudioParameters GetInputStreamParameters(
|
| - const std::string& device_id) = 0;
|
| -
|
| - // Returns the device id of an output device that belongs to the same hardware
|
| - // as the specified input device.
|
| - // If the hardware has only an input device (e.g. a webcam), the return value
|
| - // will be empty (which the caller can then interpret to be the default output
|
| - // device). Implementations that don't yet support this feature, must return
|
| - // an empty string. Must be called on the audio worker thread (see
|
| - // GetTaskRunner()).
|
| - virtual std::string GetAssociatedOutputDeviceID(
|
| - const std::string& input_device_id) = 0;
|
| -
|
| // Create a new AudioLog object for tracking the behavior for one or more
|
| // instances of the given component. See AudioLogFactory for more details.
|
| virtual std::unique_ptr<AudioLog> CreateAudioLog(
|
| @@ -262,6 +198,7 @@ class MEDIA_EXPORT AudioManager {
|
|
|
| protected:
|
| FRIEND_TEST_ALL_PREFIXES(AudioManagerTest, AudioDebugRecording);
|
| + friend class AudioDeviceInfoAccessorForTests;
|
|
|
| AudioManager(scoped_refptr<base::SingleThreadTaskRunner> task_runner,
|
| scoped_refptr<base::SingleThreadTaskRunner> worker_task_runner);
|
| @@ -272,9 +209,74 @@ class MEDIA_EXPORT AudioManager {
|
| virtual void InitializeOutputDebugRecording(
|
| scoped_refptr<base::SingleThreadTaskRunner> file_task_runner) = 0;
|
|
|
| + // Returns true if the OS reports existence of audio devices. This does not
|
| + // guarantee that the existing devices support all formats and sample rates.
|
| + virtual bool HasAudioOutputDevices() = 0;
|
| +
|
| + // Returns true if the OS reports existence of audio recording devices. This
|
| + // does not guarantee that the existing devices support all formats and
|
| + // sample rates.
|
| + virtual bool HasAudioInputDevices() = 0;
|
| +
|
| + // Returns a human readable string for the model/make of the active audio
|
| + // input device for this computer.
|
| + virtual base::string16 GetAudioInputDeviceModel() = 0;
|
| +
|
| + // Opens the platform default audio input settings UI.
|
| + // Note: This could invoke an external application/preferences pane, so
|
| + // ideally must not be called from the UI thread or other time sensitive
|
| + // threads to avoid blocking the rest of the application.
|
| + virtual void ShowAudioInputSettings() = 0;
|
| +
|
| + // Appends a list of available input devices to |device_descriptions|,
|
| + // which must initially be empty. It is not guaranteed that all the
|
| + // devices in the list support all formats and sample rates for
|
| + // recording.
|
| + //
|
| + // Not threadsafe; in production this should only be called from the
|
| + // Audio worker thread (see GetTaskRunner()).
|
| + virtual void GetAudioInputDeviceDescriptions(
|
| + AudioDeviceDescriptions* device_descriptions) = 0;
|
| +
|
| + // Appends a list of available output devices to |device_descriptions|,
|
| + // which must initially be empty.
|
| + //
|
| + // Not threadsafe; in production this should only be called from the
|
| + // Audio worker thread (see GetTaskRunner()).
|
| + virtual void GetAudioOutputDeviceDescriptions(
|
| + AudioDeviceDescriptions* device_descriptions) = 0;
|
| +
|
| + // Returns the default output hardware audio parameters for opening output
|
| + // streams. It is a convenience interface to
|
| + // AudioManagerBase::GetPreferredOutputStreamParameters and each AudioManager
|
| + // does not need their own implementation to this interface.
|
| + // TODO(tommi): Remove this method and use GetOutputStreamParameteres instead.
|
| + virtual AudioParameters GetDefaultOutputStreamParameters() = 0;
|
| +
|
| + // Returns the output hardware audio parameters for a specific output device.
|
| + virtual AudioParameters GetOutputStreamParameters(
|
| + const std::string& device_id) = 0;
|
| +
|
| + // Returns the input hardware audio parameters of the specific device
|
| + // for opening input streams. Each AudioManager needs to implement their own
|
| + // version of this interface.
|
| + virtual AudioParameters GetInputStreamParameters(
|
| + const std::string& device_id) = 0;
|
| +
|
| + // Returns the device id of an output device that belongs to the same hardware
|
| + // as the specified input device.
|
| + // If the hardware has only an input device (e.g. a webcam), the return value
|
| + // will be empty (which the caller can then interpret to be the default output
|
| + // device). Implementations that don't yet support this feature, must return
|
| + // an empty string. Must be called on the audio worker thread (see
|
| + // GetTaskRunner()).
|
| + virtual std::string GetAssociatedOutputDeviceID(
|
| + const std::string& input_device_id) = 0;
|
| +
|
| private:
|
| friend class base::DeleteHelper<AudioManager>;
|
| friend class AudioManagerDeleter;
|
| + friend class AudioSystemImpl;
|
|
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| scoped_refptr<base::SingleThreadTaskRunner> worker_task_runner_;
|
|
|