AudioOutputJACK Class Reference

#include <audiooutputjack.h>

Inheritance diagram for AudioOutputJACK:
AudioOutputBase AudioOutput MThread VolumeBase OutputListeners MythObservable

List of all members.

Public Member Functions

 AudioOutputJACK (const AudioSettings &settings)
virtual ~AudioOutputJACK ()
virtual int GetVolumeChannel (int channel) const
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 GetBufferedOnSoundcard (void) const
 Return the size in bytes of frames currently in the audio buffer adjusted with the audio playback latency.
AudioOutputSettingsGetOutputSettings (bool digital)
virtual bool StartOutputThread (void)
virtual void StopOutputThread (void)

Private Member Functions

void VolumeInit (void)
int JackCallback (jack_nframes_t nframes)
int JackXRunCallback ()
int JackGraphOrderCallback ()
jack_client_t * _jack_client_open (void)
const char ** _jack_get_ports (void)
bool _jack_connect_ports (const char **)
void _jack_client_close (jack_client_t **client)
void DeinterleaveAudio (float *aubuf, float **bufs, int nframes, int *channel_volumes)

Static Private Member Functions

static int _JackCallback (jack_nframes_t nframes, void *arg)
static int _JackXRunCallback (void *arg)
static int _JackGraphOrderCallback (void *arg)

Private Attributes

jack_port_t * ports [JACK_CHANNELS_MAX]
int chan_volumes [JACK_CHANNELS_MAX]
jack_client_t * client
jack_client_t * stale_client
int jack_latency
bool jack_underrun
int jack_xruns
unsigned char * aubuf

Detailed Description

Definition at line 15 of file audiooutputjack.h.


Constructor & Destructor Documentation

AudioOutputJACK::AudioOutputJACK ( const AudioSettings settings  ) 

Definition at line 23 of file audiooutputjack.cpp.

AudioOutputJACK::~AudioOutputJACK (  )  [virtual]

Definition at line 100 of file audiooutputjack.cpp.


Member Function Documentation

int AudioOutputJACK::GetVolumeChannel ( int  channel  )  const [virtual]

Implements VolumeBase.

Definition at line 493 of file audiooutputjack.cpp.

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

Implements VolumeBase.

Definition at line 506 of file audiooutputjack.cpp.

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

Implements AudioOutputBase.

Definition at line 106 of file audiooutputjack.cpp.

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

Implements AudioOutputBase.

Definition at line 213 of file audiooutputjack.cpp.

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

Definition at line 543 of file audiooutputjack.cpp.

int AudioOutputJACK::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 229 of file audiooutputjack.cpp.

AudioOutputSettings * AudioOutputJACK::GetOutputSettings ( bool  digital  )  [protected, virtual]

Reimplemented from AudioOutputBase.

Definition at line 39 of file audiooutputjack.cpp.

bool AudioOutputJACK::StartOutputThread ( void   )  [protected, virtual]

Reimplemented from AudioOutputBase.

Definition at line 533 of file audiooutputjack.cpp.

void AudioOutputJACK::StopOutputThread ( void   )  [protected, virtual]

Reimplemented from AudioOutputBase.

Definition at line 538 of file audiooutputjack.cpp.

void AudioOutputJACK::VolumeInit ( void   )  [private]

Definition at line 479 of file audiooutputjack.cpp.

Referenced by OpenDevice().

int AudioOutputJACK::JackCallback ( jack_nframes_t  nframes  )  [inline, private]

Definition at line 345 of file audiooutputjack.cpp.

Referenced by _JackCallback().

int AudioOutputJACK::_JackCallback ( jack_nframes_t  nframes,
void *  arg 
) [static, private]

Definition at line 330 of file audiooutputjack.cpp.

Referenced by OpenDevice().

int AudioOutputJACK::JackXRunCallback ( void   )  [inline, private]

Definition at line 429 of file audiooutputjack.cpp.

Referenced by _JackXRunCallback().

int AudioOutputJACK::_JackXRunCallback ( void *  arg  )  [static, private]

Definition at line 420 of file audiooutputjack.cpp.

Referenced by OpenDevice().

int AudioOutputJACK::JackGraphOrderCallback ( void   )  [inline, private]

Definition at line 458 of file audiooutputjack.cpp.

Referenced by _JackGraphOrderCallback().

int AudioOutputJACK::_JackGraphOrderCallback ( void *  arg  )  [static, private]

Definition at line 448 of file audiooutputjack.cpp.

Referenced by OpenDevice().

jack_client_t * AudioOutputJACK::_jack_client_open ( void   )  [private]

Definition at line 554 of file audiooutputjack.cpp.

Referenced by GetOutputSettings(), and OpenDevice().

const char ** AudioOutputJACK::_jack_get_ports ( void   )  [private]

Definition at line 568 of file audiooutputjack.cpp.

Referenced by GetOutputSettings(), and OpenDevice().

bool AudioOutputJACK::_jack_connect_ports ( const char **  matching_ports  )  [private]

Definition at line 590 of file audiooutputjack.cpp.

Referenced by OpenDevice().

void AudioOutputJACK::_jack_client_close ( jack_client_t **  client  )  [inline, private]

Definition at line 607 of file audiooutputjack.cpp.

Referenced by CloseDevice(), GetOutputSettings(), JackCallback(), and OpenDevice().

void AudioOutputJACK::DeinterleaveAudio ( float *  aubuf,
float **  bufs,
int  nframes,
int *  channel_volumes 
) [private]

Definition at line 243 of file audiooutputjack.cpp.

Referenced by JackCallback().


Member Data Documentation

jack_port_t* AudioOutputJACK::ports[JACK_CHANNELS_MAX] [private]
int AudioOutputJACK::chan_volumes[JACK_CHANNELS_MAX] [private]
jack_client_t* AudioOutputJACK::client [private]
jack_client_t * AudioOutputJACK::stale_client [private]

Definition at line 60 of file audiooutputjack.h.

Referenced by CloseDevice(), and JackCallback().

Definition at line 61 of file audiooutputjack.h.

Referenced by JackGraphOrderCallback().

Definition at line 62 of file audiooutputjack.h.

Definition at line 63 of file audiooutputjack.h.

Referenced by JackCallback(), and JackXRunCallback().

unsigned char* AudioOutputJACK::aubuf [private]

Definition at line 64 of file audiooutputjack.h.

Referenced by CloseDevice(), JackCallback(), and OpenDevice().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Mon May 28 06:41:52 2012 for MythTV by  doxygen 1.6.3