OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MEDIA_AUDIO_LINUX_ALSA_UTIL_H_ | 5 #ifndef MEDIA_AUDIO_LINUX_ALSA_UTIL_H_ |
6 #define MEDIA_AUDIO_LINUX_ALSA_UTIL_H_ | 6 #define MEDIA_AUDIO_LINUX_ALSA_UTIL_H_ |
7 | 7 |
8 #include <alsa/asoundlib.h> | 8 #include <alsa/asoundlib.h> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 namespace media { | |
12 class AlsaWrapper; | 11 class AlsaWrapper; |
13 } | |
14 | 12 |
15 namespace alsa_util { | 13 namespace alsa_util { |
16 | 14 |
17 snd_pcm_format_t BitsToFormat(int bits_per_sample); | 15 snd_pcm_format_t BitsToFormat(int bits_per_sample); |
18 | 16 |
19 snd_pcm_t* OpenCaptureDevice(media::AlsaWrapper* wrapper, | 17 snd_pcm_t* OpenCaptureDevice(AlsaWrapper* wrapper, |
20 const char* device_name, | 18 const char* device_name, |
21 int channels, | 19 int channels, |
22 int sample_rate, | 20 int sample_rate, |
23 snd_pcm_format_t pcm_format, | 21 snd_pcm_format_t pcm_format, |
24 int latency_us); | 22 int latency_us); |
25 | 23 |
26 snd_pcm_t* OpenPlaybackDevice(media::AlsaWrapper* wrapper, | 24 snd_pcm_t* OpenPlaybackDevice(AlsaWrapper* wrapper, |
27 const char* device_name, | 25 const char* device_name, |
28 int channels, | 26 int channels, |
29 int sample_rate, | 27 int sample_rate, |
30 snd_pcm_format_t pcm_format, | 28 snd_pcm_format_t pcm_format, |
31 int latency_us); | 29 int latency_us); |
32 | 30 |
33 int CloseDevice(media::AlsaWrapper* wrapper, snd_pcm_t* handle); | 31 int CloseDevice(AlsaWrapper* wrapper, snd_pcm_t* handle); |
34 | 32 |
35 snd_mixer_t* OpenMixer(media::AlsaWrapper* wrapper, | 33 snd_mixer_t* OpenMixer(AlsaWrapper* wrapper, const std::string& device_name); |
36 const std::string& device_name); | |
37 | 34 |
38 void CloseMixer(media::AlsaWrapper* wrapper, | 35 void CloseMixer(AlsaWrapper* wrapper, |
39 snd_mixer_t* mixer, | 36 snd_mixer_t* mixer, |
40 const std::string& device_name); | 37 const std::string& device_name); |
41 | 38 |
42 snd_mixer_elem_t* LoadCaptureMixerElement(media::AlsaWrapper* wrapper, | 39 snd_mixer_elem_t* LoadCaptureMixerElement(AlsaWrapper* wrapper, |
43 snd_mixer_t* mixer); | 40 snd_mixer_t* mixer); |
44 | 41 |
45 } // namespace alsa_util | 42 } |
46 | 43 |
47 #endif // MEDIA_AUDIO_LINUX_ALSA_UTIL_H_ | 44 #endif // MEDIA_AUDIO_LINUX_ALSA_UTIL_H_ |
OLD | NEW |