AudioOutputDX Class Reference

#include <audiooutputdx.h>

Inheritance diagram for AudioOutputDX:

AudioOutputBase AudioOutput VolumeBase OutputListeners MythObservable

List of all members.


Detailed Description

Definition at line 17 of file audiooutputdx.h.


Public Member Functions

 AudioOutputDX (QString laudio_main_device, QString laudio_passthru_device, int laudio_bits, int laudio_channels, int laudio_samplerate, AudioOutputSource lsource, bool lset_initial_vol, bool laudio_passthru)
virtual ~AudioOutputDX ()
bool OpenDevice (void)
 BEGIN HACK HACK HACK HACK These need to actually be implemented!
void CloseDevice (void)
void WriteAudio (unsigned char *, int)
virtual int getSpaceOnSoundcard (void)
virtual int getBufferedOnSoundcard (void)
virtual void Reset (void)
 END HACK HACK HACK HACK.
virtual void Reconfigure (int audio_bits, int audio_channels, int audio_samplerate, bool audio_passthru)
virtual void SetBlocking (bool blocking)
virtual bool AddSamples (char *buffer, int samples, long long timecode)
virtual bool AddSamples (char *buffers[], int samples, long long timecode)
virtual void SetEffDsp (int dsprate)
virtual void SetTimecode (long long timecode)
virtual bool GetPause (void)
virtual void Pause (bool paused)
virtual void Drain (void)
virtual int GetAudiotime (void)
virtual int GetVolumeChannel (int channel)
virtual void SetVolumeChannel (int channel, int volume)

Private Member Functions

int InitDirectSound ()
int CreateDSBuffer (int audio_bits, int audio_channels, int audio_samplerate, bool b_probe)
void DestroyDSBuffer ()
int FillBuffer (int frames, char *buffer)

Private Attributes

HINSTANCE dsound_dll
LPDIRECTSOUND dsobject
LPDIRECTSOUNDBUFFER dsbuffer
LPDIRECTSOUNDNOTIFY dsnotify
DSBPOSITIONNOTIFY notif [4]
DWORD write_cursor
DWORD buffer_size
bool blocking
bool awaiting_data
int effdsp
int audio_bytes_per_sample
int audio_bits
int audio_channels
int audbuf_timecode
 timecode of audio most recently placed into buffer
bool can_hw_pause
bool paused

Constructor & Destructor Documentation

AudioOutputDX::AudioOutputDX ( QString  laudio_main_device,
QString  laudio_passthru_device,
int  laudio_bits,
int  laudio_channels,
int  laudio_samplerate,
AudioOutputSource  lsource,
bool  lset_initial_vol,
bool  laudio_passthru 
)

Definition at line 98 of file audiooutputdx.cpp.

AudioOutputDX::~AudioOutputDX (  )  [virtual]

Definition at line 152 of file audiooutputdx.cpp.


Member Function Documentation

bool AudioOutputDX::OpenDevice ( void   )  [inline, virtual]

BEGIN HACK HACK HACK HACK These need to actually be implemented!

Implements AudioOutputBase.

Definition at line 29 of file audiooutputdx.h.

void AudioOutputDX::CloseDevice ( void   )  [inline, virtual]

Implements AudioOutputBase.

Definition at line 30 of file audiooutputdx.h.

void AudioOutputDX::WriteAudio ( unsigned char *  ,
int   
) [inline, virtual]

Implements AudioOutputBase.

Definition at line 31 of file audiooutputdx.h.

virtual int AudioOutputDX::getSpaceOnSoundcard ( void   )  [inline, virtual]

Implements AudioOutputBase.

Definition at line 32 of file audiooutputdx.h.

virtual int AudioOutputDX::getBufferedOnSoundcard ( void   )  [inline, virtual]

Implements AudioOutputBase.

Definition at line 33 of file audiooutputdx.h.

void AudioOutputDX::Reset ( void   )  [virtual]

END HACK HACK HACK HACK.

Reimplemented from AudioOutputBase.

Definition at line 165 of file audiooutputdx.cpp.

void AudioOutputDX::Reconfigure ( int  audio_bits,
int  audio_channels,
int  audio_samplerate,
bool  audio_passthru 
) [virtual]

Definition at line 133 of file audiooutputdx.cpp.

Referenced by AudioOutputDX().

void AudioOutputDX::SetBlocking ( bool  blocking  )  [virtual]

Reimplemented from AudioOutputBase.

Definition at line 128 of file audiooutputdx.cpp.

bool AudioOutputDX::AddSamples ( char *  buffer,
int  samples,
long long  timecode 
) [virtual]

Reimplemented from AudioOutputBase.

Definition at line 179 of file audiooutputdx.cpp.

bool AudioOutputDX::AddSamples ( char *  buffers[],
int  samples,
long long  timecode 
) [virtual]

Reimplemented from AudioOutputBase.

Definition at line 216 of file audiooutputdx.cpp.

void AudioOutputDX::SetEffDsp ( int  dsprate  )  [virtual]

Reimplemented from AudioOutputBase.

Definition at line 274 of file audiooutputdx.cpp.

void AudioOutputDX::SetTimecode ( long long  timecode  )  [virtual]

Reimplemented from AudioOutputBase.

Definition at line 269 of file audiooutputdx.cpp.

bool AudioOutputDX::GetPause ( void   )  [virtual]

Reimplemented from AudioOutputBase.

Definition at line 290 of file audiooutputdx.cpp.

void AudioOutputDX::Pause ( bool  paused  )  [virtual]

Reimplemented from AudioOutputBase.

Definition at line 295 of file audiooutputdx.cpp.

void AudioOutputDX::Drain ( void   )  [virtual]

Reimplemented from AudioOutputBase.

Definition at line 743 of file audiooutputdx.cpp.

int AudioOutputDX::GetAudiotime ( void   )  [virtual]

Reimplemented from AudioOutputBase.

Definition at line 329 of file audiooutputdx.cpp.

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

Implements AudioOutputBase.

Definition at line 749 of file audiooutputdx.cpp.

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

Implements AudioOutputBase.

Definition at line 754 of file audiooutputdx.cpp.

int AudioOutputDX::InitDirectSound (  )  [private]

Definition at line 356 of file audiooutputdx.cpp.

Referenced by AudioOutputDX().

int AudioOutputDX::CreateDSBuffer ( int  audio_bits,
int  audio_channels,
int  audio_samplerate,
bool  b_probe 
) [private]

Definition at line 440 of file audiooutputdx.cpp.

Referenced by Reconfigure().

void AudioOutputDX::DestroyDSBuffer (  )  [private]

Definition at line 578 of file audiooutputdx.cpp.

Referenced by CreateDSBuffer(), Reconfigure(), and ~AudioOutputDX().

int AudioOutputDX::FillBuffer ( int  frames,
char *  buffer 
) [private]

Definition at line 601 of file audiooutputdx.cpp.

Referenced by AddSamples().


Member Data Documentation

HINSTANCE AudioOutputDX::dsound_dll [private]

Definition at line 61 of file audiooutputdx.h.

Referenced by InitDirectSound(), and ~AudioOutputDX().

LPDIRECTSOUND AudioOutputDX::dsobject [private]

Definition at line 62 of file audiooutputdx.h.

Referenced by CreateDSBuffer(), InitDirectSound(), and ~AudioOutputDX().

LPDIRECTSOUNDBUFFER AudioOutputDX::dsbuffer [private]

LPDIRECTSOUNDNOTIFY AudioOutputDX::dsnotify [private]

Definition at line 66 of file audiooutputdx.h.

Referenced by CreateDSBuffer(), and DestroyDSBuffer().

DSBPOSITIONNOTIFY AudioOutputDX::notif[4] [private]

Definition at line 67 of file audiooutputdx.h.

Referenced by CreateDSBuffer(), FillBuffer(), and InitDirectSound().

DWORD AudioOutputDX::write_cursor [private]

Definition at line 69 of file audiooutputdx.h.

Referenced by CreateDSBuffer(), FillBuffer(), GetAudiotime(), and Reset().

DWORD AudioOutputDX::buffer_size [private]

Definition at line 70 of file audiooutputdx.h.

Referenced by CreateDSBuffer(), FillBuffer(), and GetAudiotime().

Reimplemented from AudioOutputBase.

Definition at line 71 of file audiooutputdx.h.

Definition at line 73 of file audiooutputdx.h.

Referenced by AddSamples(), FillBuffer(), Reconfigure(), and Reset().

int AudioOutputDX::effdsp [private]

Reimplemented from AudioOutputBase.

Definition at line 75 of file audiooutputdx.h.

Referenced by AddSamples(), GetAudiotime(), Reconfigure(), and SetEffDsp().

Reimplemented from AudioOutputBase.

Definition at line 76 of file audiooutputdx.h.

Referenced by CreateDSBuffer(), FillBuffer(), and GetAudiotime().

Reimplemented from AudioOutputBase.

Definition at line 77 of file audiooutputdx.h.

Reimplemented from AudioOutputBase.

Definition at line 78 of file audiooutputdx.h.

timecode of audio most recently placed into buffer

Reimplemented from AudioOutputBase.

Definition at line 79 of file audiooutputdx.h.

Referenced by AddSamples(), GetAudiotime(), Reset(), and SetTimecode().

Definition at line 81 of file audiooutputdx.h.

Definition at line 82 of file audiooutputdx.h.

Referenced by FillBuffer(), GetPause(), Pause(), and Reconfigure().


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