#include <audiooutputalsa.h>
Public Member Functions | |
| AudioOutputALSA (const AudioSettings &settings) | |
| virtual | ~AudioOutputALSA () |
| virtual int | GetVolumeChannel (int channel) const |
| virtual void | SetVolumeChannel (int channel, int volume) |
Static Public Member Functions | |
| static QMap< QString, QString > * | GetDevices (const char *type) |
Protected Member Functions | |
| virtual bool | OpenDevice (void) |
| virtual void | CloseDevice (void) |
| virtual void | WriteAudio (uchar *aubuf, int size) |
| virtual int | GetBufferedOnSoundcard (void) const |
| Return the size in bytes of frames currently in the audio buffer adjusted with the audio playback latency. | |
| AudioOutputSettings * | GetOutputSettings (bool passthrough) |
Private Member Functions | |
| int | TryOpenDevice (int open_mode, int try_ac3) |
| int | GetPCMInfo (int &card, int &device, int &subdevice) |
| bool | SetPreallocBufferSize (int size) |
| bool | IncPreallocBufferSize (int requested, int buffer_time) |
| int | SetParameters (snd_pcm_t *handle, snd_pcm_format_t format, uint channels, uint rate, uint buffer_time, uint period_time) |
| Set the various ALSA audio parameters. | |
| bool | OpenMixer (void) |
Private Attributes | |
| snd_pcm_t * | pcm_handle |
| int | pbufsize |
| int | m_card |
| int | m_device |
| int | m_subdevice |
| QMutex | killAudioLock |
| QString | m_lastdevice |
| struct { | |
| QString device | |
| QString control | |
| snd_mixer_t * handle | |
| snd_mixer_elem_t * elem | |
| long volmin | |
| long volmax | |
| long volrange | |
| } | m_mixer |
Definition at line 14 of file audiooutputalsa.h.
| AudioOutputALSA::AudioOutputALSA | ( | const AudioSettings & | settings | ) |
Definition at line 31 of file audiooutputalsa.cpp.
| AudioOutputALSA::~AudioOutputALSA | ( | ) | [virtual] |
Definition at line 107 of file audiooutputalsa.cpp.
| int AudioOutputALSA::GetVolumeChannel | ( | int | channel | ) | const [virtual] |
Implements VolumeBase.
Definition at line 759 of file audiooutputalsa.cpp.
| void AudioOutputALSA::SetVolumeChannel | ( | int | channel, | |
| int | volume | |||
| ) | [virtual] |
Implements VolumeBase.
Definition at line 794 of file audiooutputalsa.cpp.
Referenced by OpenMixer().
| QMap< QString, QString > * AudioOutputALSA::GetDevices | ( | const char * | type | ) | [static] |
Definition at line 918 of file audiooutputalsa.cpp.
Referenced by AudioOutput::GetOutputList(), GetOutputSettings(), and AudioOutput::OpenAudio().
| bool AudioOutputALSA::OpenDevice | ( | void | ) | [protected, virtual] |
Implements AudioOutputBase.
Definition at line 403 of file audiooutputalsa.cpp.
| void AudioOutputALSA::CloseDevice | ( | void | ) | [protected, virtual] |
Implements AudioOutputBase.
Definition at line 463 of file audiooutputalsa.cpp.
Referenced by OpenDevice(), and SetPreallocBufferSize().
| void AudioOutputALSA::WriteAudio | ( | uchar * | aubuf, | |
| int | size | |||
| ) | [protected, virtual] |
Implements AudioOutputBase.
Definition at line 506 of file audiooutputalsa.cpp.
| int AudioOutputALSA::GetBufferedOnSoundcard | ( | void | ) | const [protected, virtual] |
Return the size in bytes of frames currently in the audio buffer adjusted with the audio playback latency.
Implements AudioOutputBase.
Definition at line 589 of file audiooutputalsa.cpp.
| AudioOutputSettings * AudioOutputALSA::GetOutputSettings | ( | bool | passthrough | ) | [protected, virtual] |
Reimplemented from AudioOutputBase.
Definition at line 290 of file audiooutputalsa.cpp.
| int AudioOutputALSA::TryOpenDevice | ( | int | open_mode, | |
| int | try_ac3 | |||
| ) | [private] |
Definition at line 112 of file audiooutputalsa.cpp.
Referenced by GetOutputSettings(), and OpenDevice().
| int AudioOutputALSA::GetPCMInfo | ( | int & | card, | |
| int & | device, | |||
| int & | subdevice | |||
| ) | [private] |
Definition at line 148 of file audiooutputalsa.cpp.
Referenced by IncPreallocBufferSize(), and SetPreallocBufferSize().
| bool AudioOutputALSA::SetPreallocBufferSize | ( | int | size | ) | [private] |
Definition at line 190 of file audiooutputalsa.cpp.
Referenced by IncPreallocBufferSize().
| bool AudioOutputALSA::IncPreallocBufferSize | ( | int | requested, | |
| int | buffer_time | |||
| ) | [private] |
Definition at line 230 of file audiooutputalsa.cpp.
Referenced by OpenDevice().
| int AudioOutputALSA::SetParameters | ( | snd_pcm_t * | handle, | |
| snd_pcm_format_t | format, | |||
| uint | channels, | |||
| uint | rate, | |||
| uint | buffer_time, | |||
| uint | period_time | |||
| ) | [inline, private] |
Set the various ALSA audio parameters.
Returns: < 0 : an error occurred 0 : Succeeded > 0 : Buffer timelength returned by ALSA which is less than what we asked for
Definition at line 625 of file audiooutputalsa.cpp.
Referenced by OpenDevice().
| bool AudioOutputALSA::OpenMixer | ( | void | ) | [private] |
Definition at line 811 of file audiooutputalsa.cpp.
Referenced by OpenDevice().
snd_pcm_t* AudioOutputALSA::pcm_handle [private] |
Definition at line 45 of file audiooutputalsa.h.
Referenced by CloseDevice(), GetBufferedOnSoundcard(), GetOutputSettings(), GetPCMInfo(), OpenDevice(), OpenMixer(), SetPreallocBufferSize(), TryOpenDevice(), and WriteAudio().
int AudioOutputALSA::pbufsize [private] |
Definition at line 46 of file audiooutputalsa.h.
Referenced by IncPreallocBufferSize(), OpenDevice(), and SetParameters().
int AudioOutputALSA::m_card [private] |
Definition at line 47 of file audiooutputalsa.h.
Referenced by GetPCMInfo().
int AudioOutputALSA::m_device [private] |
Definition at line 47 of file audiooutputalsa.h.
Referenced by GetPCMInfo().
int AudioOutputALSA::m_subdevice [private] |
Definition at line 47 of file audiooutputalsa.h.
Referenced by GetPCMInfo().
QMutex AudioOutputALSA::killAudioLock [private] |
Reimplemented from AudioOutputBase.
Definition at line 48 of file audiooutputalsa.h.
QString AudioOutputALSA::m_lastdevice [private] |
Definition at line 49 of file audiooutputalsa.h.
Referenced by GetOutputSettings(), OpenDevice(), and TryOpenDevice().
| QString AudioOutputALSA::device |
Definition at line 52 of file audiooutputalsa.h.
Referenced by IncPreallocBufferSize(), and SetPreallocBufferSize().
| QString AudioOutputALSA::control |
Definition at line 53 of file audiooutputalsa.h.
| snd_mixer_t* AudioOutputALSA::handle |
Definition at line 54 of file audiooutputalsa.h.
| snd_mixer_elem_t* AudioOutputALSA::elem |
Definition at line 55 of file audiooutputalsa.h.
Definition at line 56 of file audiooutputalsa.h.
Definition at line 57 of file audiooutputalsa.h.
Definition at line 58 of file audiooutputalsa.h.
struct { ... } AudioOutputALSA::m_mixer [private] |
Referenced by AudioOutputALSA(), CloseDevice(), GetVolumeChannel(), OpenMixer(), and SetVolumeChannel().
1.6.3