|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 #pragma once |
|
6 |
|
7 #include "CC_Common.h" |
|
8 |
|
9 namespace CSF |
|
10 { |
|
11 DECLARE_NS_PTR(AudioControl) |
|
12 class ECC_API AudioControl |
|
13 { |
|
14 public: |
|
15 NS_INLINE_DECL_THREADSAFE_REFCOUNTING(AudioControl) |
|
16 // device names are in UTF-8 encoding |
|
17 |
|
18 virtual std::vector<std::string> getRecordingDevices() = 0; |
|
19 virtual std::vector<std::string> getPlayoutDevices() = 0; |
|
20 |
|
21 virtual std::string getRecordingDevice() = 0; |
|
22 virtual std::string getPlayoutDevice() = 0; |
|
23 |
|
24 virtual bool setRecordingDevice( const std::string& name ) = 0; |
|
25 virtual bool setPlayoutDevice( const std::string& name ) = 0; |
|
26 |
|
27 virtual bool setDefaultVolume( int ) = 0; |
|
28 virtual int getDefaultVolume() = 0; |
|
29 |
|
30 virtual bool setRingerVolume( int ) = 0; |
|
31 virtual int getRingerVolume() = 0; |
|
32 |
|
33 virtual ~AudioControl(){}; |
|
34 }; |
|
35 }; |