| Index: extensions/browser/api/audio/audio_service.h
|
| diff --git a/extensions/browser/api/audio/audio_service.h b/extensions/browser/api/audio/audio_service.h
|
| index 6d985ebd23b1f8f660897a1dfdb0228be9f34aaf..24e2fb9d5ac8d90c106cbaff3349d5e5230d8702 100644
|
| --- a/extensions/browser/api/audio/audio_service.h
|
| +++ b/extensions/browser/api/audio/audio_service.h
|
| @@ -17,6 +17,7 @@ namespace extensions {
|
|
|
| using OutputInfo = std::vector<linked_ptr<core_api::audio::OutputDeviceInfo>>;
|
| using InputInfo = std::vector<linked_ptr<core_api::audio::InputDeviceInfo>>;
|
| +using DevicesInfo = std::vector<linked_ptr<core_api::audio::AudioDeviceInfo>>;
|
| using DeviceIdList = std::vector<std::string>;
|
|
|
| class AudioService {
|
| @@ -26,6 +27,10 @@ class AudioService {
|
| // Called when anything changes to the audio device configuration.
|
| virtual void OnDeviceChanged() = 0;
|
|
|
| + // Called when the volume of an active output node changes.
|
| + virtual void OnOutputNodeVolumeChanged(const std::string& id,
|
| + double volume) = 0;
|
| +
|
| protected:
|
| virtual ~Observer() {}
|
| };
|
| @@ -34,6 +39,9 @@ class AudioService {
|
| typedef base::Callback<void(const OutputInfo&, const InputInfo&, bool)>
|
| GetInfoCallback;
|
|
|
| + // Callback type for completing to get audio devices information.
|
| + typedef base::Callback<void(const DevicesInfo&, bool)> GetDeviceInfoCallback;
|
| +
|
| // Creates a platform-specific AudioService instance.
|
| static AudioService* CreateInstance();
|
|
|
| @@ -63,6 +71,10 @@ class AudioService {
|
| int volume,
|
| int gain) = 0;
|
|
|
| + // Starts to query audio devices information. Should be called on UI thread.
|
| + // The |callback| will be invoked once the query is completed.
|
| + virtual void StartGetDeviceInfo(const GetDeviceInfoCallback& callback) = 0;
|
| +
|
| protected:
|
| AudioService() {}
|
|
|
|
|