AudioOutputALSA Class Reference

#include <audiooutputalsa.h>

Inheritance diagram for AudioOutputALSA:

AudioOutputBase AudioOutput VolumeBase OutputListeners MythObservable

List of all members.


Detailed Description

Definition at line 16 of file audiooutputalsa.h.


Public Member Functions

 AudioOutputALSA (QString laudio_main_device, QString laudio_passthru_device, int laudio_bits, int laudio_channels, int laudio_samplerate, AudioOutputSource source, bool set_initial_vol, bool laudio_passthru)
virtual ~AudioOutputALSA ()
virtual int GetVolumeChannel (int channel)
virtual void SetVolumeChannel (int channel, int volume)

Protected Member Functions

virtual bool OpenDevice (void)
virtual void CloseDevice (void)
virtual void WriteAudio (unsigned char *aubuf, int size)
virtual int getSpaceOnSoundcard (void)
virtual int getBufferedOnSoundcard (void)

Private Member Functions

int SetParameters (snd_pcm_t *handle, snd_pcm_format_t format, unsigned int channels, unsigned int rate, unsigned int buffer_time, unsigned int period_time)
void SetCurrentVolume (QString control, int channel, int volume)
void OpenMixer (bool setstartingvolume)
void CloseMixer (void)
void SetupMixer (void)
void GetVolumeRange (snd_mixer_elem_t *elem)

Private Attributes

snd_pcm_t * pcm_handle
int numbadioctls
QMutex killAudioLock
snd_mixer_t * mixer_handle
QString mixer_control
float volume_range_multiplier
long playback_vol_min
long playback_vol_max
snd_pcm_sframes_t(* pcm_write_func )(snd_pcm_t *, const void *, snd_pcm_uframes_t)

Constructor & Destructor Documentation

AudioOutputALSA::AudioOutputALSA ( QString  laudio_main_device,
QString  laudio_passthru_device,
int  laudio_bits,
int  laudio_channels,
int  laudio_samplerate,
AudioOutputSource  source,
bool  set_initial_vol,
bool  laudio_passthru 
)

Definition at line 16 of file audiooutputalsa.cpp.

AudioOutputALSA::~AudioOutputALSA (  )  [virtual]

Definition at line 35 of file audiooutputalsa.cpp.


Member Function Documentation

int AudioOutputALSA::GetVolumeChannel ( int  channel  )  [virtual]

Implements AudioOutputBase.

Definition at line 480 of file audiooutputalsa.cpp.

Referenced by SetCurrentVolume().

void AudioOutputALSA::SetVolumeChannel ( int  channel,
int  volume 
) [virtual]

Implements AudioOutputBase.

Definition at line 521 of file audiooutputalsa.cpp.

bool AudioOutputALSA::OpenDevice ( void   )  [protected, virtual]

Implements AudioOutputBase.

Definition at line 40 of file audiooutputalsa.cpp.

void AudioOutputALSA::CloseDevice ( void   )  [protected, virtual]

Implements AudioOutputBase.

Definition at line 140 of file audiooutputalsa.cpp.

Referenced by OpenDevice().

void AudioOutputALSA::WriteAudio ( unsigned char *  aubuf,
int  size 
) [protected, virtual]

Implements AudioOutputBase.

Definition at line 151 of file audiooutputalsa.cpp.

int AudioOutputALSA::getSpaceOnSoundcard ( void   )  [inline, protected, virtual]

Implements AudioOutputBase.

Definition at line 268 of file audiooutputalsa.cpp.

int AudioOutputALSA::getBufferedOnSoundcard ( void   )  [inline, protected, virtual]

Implements AudioOutputBase.

Definition at line 239 of file audiooutputalsa.cpp.

int AudioOutputALSA::SetParameters ( snd_pcm_t *  handle,
snd_pcm_format_t  format,
unsigned int  channels,
unsigned int  rate,
unsigned int  buffer_time,
unsigned int  period_time 
) [inline, private]

Definition at line 299 of file audiooutputalsa.cpp.

Referenced by OpenDevice().

void AudioOutputALSA::SetCurrentVolume ( QString  control,
int  channel,
int  volume 
) [private]

Definition at line 526 of file audiooutputalsa.cpp.

Referenced by OpenMixer(), and SetVolumeChannel().

void AudioOutputALSA::OpenMixer ( bool  setstartingvolume  )  [private]

Definition at line 606 of file audiooutputalsa.cpp.

Referenced by OpenDevice().

void AudioOutputALSA::CloseMixer ( void   )  [private]

Definition at line 626 of file audiooutputalsa.cpp.

Referenced by CloseDevice(), and SetupMixer().

void AudioOutputALSA::SetupMixer ( void   )  [private]

Definition at line 633 of file audiooutputalsa.cpp.

Referenced by OpenMixer().

void AudioOutputALSA::GetVolumeRange ( snd_mixer_elem_t *  elem  )  [private]

Definition at line 680 of file audiooutputalsa.cpp.

Referenced by GetVolumeChannel(), and SetCurrentVolume().


Member Data Documentation

snd_pcm_t* AudioOutputALSA::pcm_handle [private]

Definition at line 55 of file audiooutputalsa.h.

Referenced by OpenDevice().

Reimplemented from AudioOutputBase.

Definition at line 56 of file audiooutputalsa.h.

snd_mixer_t* AudioOutputALSA::mixer_handle [private]

QString AudioOutputALSA::mixer_control [private]

Definition at line 58 of file audiooutputalsa.h.

Referenced by GetVolumeChannel(), OpenMixer(), and SetVolumeChannel().

Definition at line 59 of file audiooutputalsa.h.

Referenced by GetVolumeChannel(), GetVolumeRange(), and SetCurrentVolume().

Definition at line 60 of file audiooutputalsa.h.

Referenced by GetVolumeChannel(), GetVolumeRange(), and SetCurrentVolume().

Definition at line 61 of file audiooutputalsa.h.

Referenced by GetVolumeRange().

snd_pcm_sframes_t(* AudioOutputALSA::pcm_write_func)(snd_pcm_t *, const void *, snd_pcm_uframes_t) [private]

Referenced by SetParameters(), and WriteAudio().


The documentation for this class was generated from the following files:

Generated on Sat Dec 18 05:15:59 2010 for MythTV by  doxygen 1.5.5