1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "extensions/browser/api/audio/audio_service.h"
6
7 namespace extensions {
8
9 class AudioServiceImpl : public AudioService {
10 public:
AudioServiceImpl()11 AudioServiceImpl() {}
~AudioServiceImpl()12 ~AudioServiceImpl() override {}
13
14 // Called by listeners to this service to add/remove themselves as observers.
15 void AddObserver(Observer* observer) override;
16 void RemoveObserver(Observer* observer) override;
17
18 // Start to query audio device information.
19 bool GetInfo(OutputInfo* output_info_out, InputInfo* input_info_out) override;
20 bool GetDevices(const api::audio::DeviceFilter* filter,
21 DeviceInfoList* devices_out) override;
22 void SetActiveDevices(const DeviceIdList& device_list) override;
23 bool SetActiveDeviceLists(
24 const std::unique_ptr<DeviceIdList>& input_devices,
25 const std::unique_ptr<DeviceIdList>& output_devives) override;
26 bool SetDeviceSoundLevel(const std::string& device_id,
27 int volume,
28 int gain) override;
29 bool SetMuteForDevice(const std::string& device_id, bool value) override;
30 bool SetMute(bool is_input, bool value) override;
31 bool GetMute(bool is_input, bool* value) override;
32 };
33
AddObserver(Observer * observer)34 void AudioServiceImpl::AddObserver(Observer* observer) {
35 // TODO: implement this for platforms other than Chrome OS.
36 }
37
RemoveObserver(Observer * observer)38 void AudioServiceImpl::RemoveObserver(Observer* observer) {
39 // TODO: implement this for platforms other than Chrome OS.
40 }
41
CreateInstance(AudioDeviceIdCalculator * id_calculator)42 AudioService* AudioService::CreateInstance(
43 AudioDeviceIdCalculator* id_calculator) {
44 return new AudioServiceImpl;
45 }
46
GetInfo(OutputInfo * output_info_out,InputInfo * input_info_out)47 bool AudioServiceImpl::GetInfo(OutputInfo* output_info_out,
48 InputInfo* input_info_out) {
49 // TODO: implement this for platforms other than Chrome OS.
50 return false;
51 }
52
GetDevices(const api::audio::DeviceFilter * filter,DeviceInfoList * devices_out)53 bool AudioServiceImpl::GetDevices(const api::audio::DeviceFilter* filter,
54 DeviceInfoList* devices_out) {
55 return false;
56 }
57
SetActiveDeviceLists(const std::unique_ptr<DeviceIdList> & input_devices,const std::unique_ptr<DeviceIdList> & output_devives)58 bool AudioServiceImpl::SetActiveDeviceLists(
59 const std::unique_ptr<DeviceIdList>& input_devices,
60 const std::unique_ptr<DeviceIdList>& output_devives) {
61 return false;
62 }
63
SetActiveDevices(const DeviceIdList & device_list)64 void AudioServiceImpl::SetActiveDevices(const DeviceIdList& device_list) {
65 }
66
SetDeviceSoundLevel(const std::string & device_id,int volume,int gain)67 bool AudioServiceImpl::SetDeviceSoundLevel(const std::string& device_id,
68 int volume,
69 int gain) {
70 return false;
71 }
72
SetMuteForDevice(const std::string & device_id,bool value)73 bool AudioServiceImpl::SetMuteForDevice(const std::string& device_id,
74 bool value) {
75 return false;
76 }
77
SetMute(bool is_input,bool value)78 bool AudioServiceImpl::SetMute(bool is_input, bool value) {
79 return false;
80 }
81
GetMute(bool is_input,bool * value)82 bool AudioServiceImpl::GetMute(bool is_input, bool* value) {
83 return false;
84 }
85
86 } // namespace extensions
87