MythTV  0.27pre
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Groups Pages
Public Member Functions | Public Attributes | Private Attributes | List of all members
AudioReencodeBuffer Class Reference

#include <audioreencodebuffer.h>

Inheritance diagram for AudioReencodeBuffer:
Inheritance graph
[legend]
Collaboration diagram for AudioReencodeBuffer:
Collaboration graph
[legend]

Public Member Functions

 AudioReencodeBuffer (AudioFormat audio_format, int audio_channels, bool passthru)
 ~AudioReencodeBuffer ()
virtual void Reconfigure (const AudioSettings &settings)
virtual void SetEffDsp (int dsprate)
virtual void Reset (void)
virtual bool AddFrames (void *buffer, int frames, int64_t timecode)
virtual bool AddData (void *buffer, int len, int64_t timecode, int frames)
 AddData: Add data to the audiobuffer for playback.
AudioBufferGetData (long long time)
long long GetSamples (long long time)
virtual void SetTimecode (int64_t timecode)
virtual bool IsPaused (void) const
virtual void Pause (bool paused)
virtual void PauseUntilBuffered (void)
virtual void Drain (void)
virtual int64_t GetAudiotime (void)
virtual int GetVolumeChannel (int) const
virtual void SetVolumeChannel (int, int)
virtual void SetVolumeAll (int)
virtual uint GetCurrentVolume (void) const
virtual void SetCurrentVolume (int)
virtual void AdjustCurrentVolume (int)
virtual void SetMute (bool)
virtual void ToggleMute (void)
virtual MuteState GetMuteState (void) const
virtual MuteState IterateMutedChannels (void)
virtual bool IsUpmixing (void)
virtual bool ToggleUpmix (void)
virtual bool CanUpmix (void)
virtual void SetSWVolume (int new_volume, bool save)
virtual int GetSWVolume (void)
virtual bool CanPassthrough (int, int, int, int) const
virtual void bufferOutputData (bool)
virtual int readOutputData (unsigned char *, int)
- Public Member Functions inherited from AudioOutput
 AudioOutput ()
virtual ~AudioOutput ()
virtual void SetStretchFactor (float factor)
virtual float GetStretchFactor (void) const
virtual int GetChannels (void) const
virtual AudioFormat GetFormat (void) const
virtual int GetBytesPerFrame (void) const
virtual AudioOutputSettingsGetOutputSettingsCleaned (bool digital=true)
virtual AudioOutputSettingsGetOutputSettingsUsers (bool digital=true)
virtual bool CanDownmix (void) const
virtual bool NeedDecodingBeforePassthrough (void) const
 NeedDecodingBeforePassthrough: returns true if AudioOutput class can determine the length in millisecond of native audio frames bitstreamed passed to AddData.
virtual int64_t LengthLastData (void) const
 LengthLastData: returns the length of the last data added in millisecond.
virtual int64_t GetAudioBufferedTime (void)
 report amount of audio buffered in milliseconds.
virtual void SetSourceBitrate (int)
QString GetError (void) const
QString GetWarning (void) const
virtual void GetBufferStatus (uint &fill, uint &total)
bool PulseStatus (void)
- Public Member Functions inherited from VolumeBase
 VolumeBase ()
virtual ~VolumeBase ()
void SWVolume (bool set)
bool SWVolume (void) const
virtual MuteState SetMuteState (MuteState)
- Public Member Functions inherited from OutputListeners
 OutputListeners ()
virtual ~OutputListeners ()
bool hasVisual (void)
void addVisual (MythTV::Visual *)
void removeVisual (MythTV::Visual *)
QMutex * mutex ()
void setBufferSize (unsigned int sz)
unsigned int bufferSize () const
- Public Member Functions inherited from MythObservable
 MythObservable ()
virtual ~MythObservable ()
void addListener (QObject *listener)
 Add a listener to the observable.
void removeListener (QObject *listener)
 Remove a listener to the observable.
void dispatch (const MythEvent &event)
 Dispatch an event to all listeners.
void dispatchNow (const MythEvent &event)
 Dispatch an event to all listeners.
bool hasListeners (void)

Public Attributes

int m_channels
int m_bits
int m_bytes_per_frame
int m_eff_audiorate
long long m_last_audiotime
bool m_passthru
int m_audioFrameSize

Private Attributes

bool m_initpassthru
QMutex m_bufferMutex
QList< AudioBuffer * > m_bufferList
AudioBufferm_saveBuffer

Additional Inherited Members

- Public Types inherited from AudioOutput
typedef QVector
< AudioDeviceConfig
ADCVect
- Static Public Member Functions inherited from AudioOutput
static void Cleanup (void)
static ADCVectGetOutputList (void)
static AudioDeviceConfigGetAudioDeviceConfig (QString &name, QString &desc, bool willsuspendpa=false)
static AudioOutputOpenAudio (const QString &audiodevice, const QString &passthrudevice, AudioFormat format, int channels, int codec, int samplerate, AudioOutputSource source, bool set_initial_vol, bool passthru, int upmixer_startup=0, AudioOutputSettings *custom=NULL)
static AudioOutputOpenAudio (AudioSettings &settings, bool willsuspendpa=true)
static AudioOutputOpenAudio (const QString &main_device, const QString &passthru_device=QString::null, bool willsuspendpa=true)
- Protected Member Functions inherited from AudioOutput
void Error (const QString &msg)
void SilentError (const QString &msg)
void Warn (const QString &msg)
void ClearError (void)
void ClearWarning (void)
- Protected Attributes inherited from AudioOutput
QString lastError
QString lastWarn
bool pulsewassuspended

Detailed Description

Definition at line 29 of file audioreencodebuffer.h.

Constructor & Destructor Documentation

AudioReencodeBuffer::AudioReencodeBuffer ( AudioFormat  audio_format,
int  audio_channels,
bool  passthru 
)

Definition at line 65 of file audioreencodebuffer.cpp.

AudioReencodeBuffer::~AudioReencodeBuffer ( )

Definition at line 76 of file audioreencodebuffer.cpp.

Member Function Documentation

void AudioReencodeBuffer::Reconfigure ( const AudioSettings settings)
virtual

Implements AudioOutput.

Definition at line 84 of file audioreencodebuffer.cpp.

Referenced by AudioReencodeBuffer().

void AudioReencodeBuffer::SetEffDsp ( int  dsprate)
virtual

Implements AudioOutput.

Definition at line 96 of file audioreencodebuffer.cpp.

void AudioReencodeBuffer::Reset ( void  )
virtual

Implements AudioOutput.

Definition at line 101 of file audioreencodebuffer.cpp.

Referenced by AudioReencodeBuffer(), and ~AudioReencodeBuffer().

bool AudioReencodeBuffer::AddFrames ( void buffer,
int  frames,
int64_t  timecode 
)
virtual

Implements AudioOutput.

Definition at line 112 of file audioreencodebuffer.cpp.

bool AudioReencodeBuffer::AddData ( void buffer,
int  len,
int64_t  timecode,
int  frames 
)
virtual

AddData: Add data to the audiobuffer for playback.

in: buffer : pointer to audio data len : length of audio data added timecode: timecode of the first sample added frames : number of frames added. out: return false if there wasn't enough space in audio buffer to process all the data

Implements AudioOutput.

Definition at line 118 of file audioreencodebuffer.cpp.

Referenced by AddFrames().

AudioBuffer * AudioReencodeBuffer::GetData ( long long  time)

Definition at line 183 of file audioreencodebuffer.cpp.

Referenced by Transcode::TranscodeFile().

long long AudioReencodeBuffer::GetSamples ( long long  time)

Definition at line 201 of file audioreencodebuffer.cpp.

Referenced by Transcode::TranscodeFile().

void AudioReencodeBuffer::SetTimecode ( int64_t  timecode)
virtual

Implements AudioOutput.

Definition at line 222 of file audioreencodebuffer.cpp.

virtual bool AudioReencodeBuffer::IsPaused ( void  ) const
inlinevirtual

Implements AudioOutput.

Definition at line 45 of file audioreencodebuffer.h.

virtual void AudioReencodeBuffer::Pause ( bool  paused)
inlinevirtual

Implements AudioOutput.

Definition at line 46 of file audioreencodebuffer.h.

virtual void AudioReencodeBuffer::PauseUntilBuffered ( void  )
inlinevirtual

Implements AudioOutput.

Definition at line 47 of file audioreencodebuffer.h.

virtual void AudioReencodeBuffer::Drain ( void  )
inlinevirtual

Implements AudioOutput.

Definition at line 48 of file audioreencodebuffer.h.

virtual int64_t AudioReencodeBuffer::GetAudiotime ( void  )
inlinevirtual

Implements AudioOutput.

Definition at line 49 of file audioreencodebuffer.h.

virtual int AudioReencodeBuffer::GetVolumeChannel ( int  ) const
inlinevirtual

Implements VolumeBase.

Definition at line 50 of file audioreencodebuffer.h.

virtual void AudioReencodeBuffer::SetVolumeChannel ( int  ,
int   
)
inlinevirtual

Implements VolumeBase.

Definition at line 51 of file audioreencodebuffer.h.

virtual void AudioReencodeBuffer::SetVolumeAll ( int  )
inlinevirtual

Definition at line 52 of file audioreencodebuffer.h.

virtual uint AudioReencodeBuffer::GetCurrentVolume ( void  ) const
inlinevirtual

Reimplemented from VolumeBase.

Definition at line 53 of file audioreencodebuffer.h.

virtual void AudioReencodeBuffer::SetCurrentVolume ( int  )
inlinevirtual

Reimplemented from VolumeBase.

Definition at line 54 of file audioreencodebuffer.h.

virtual void AudioReencodeBuffer::AdjustCurrentVolume ( int  )
inlinevirtual

Reimplemented from VolumeBase.

Definition at line 55 of file audioreencodebuffer.h.

virtual void AudioReencodeBuffer::SetMute ( bool  )
inlinevirtual

Definition at line 56 of file audioreencodebuffer.h.

virtual void AudioReencodeBuffer::ToggleMute ( void  )
inlinevirtual

Reimplemented from VolumeBase.

Definition at line 57 of file audioreencodebuffer.h.

virtual MuteState AudioReencodeBuffer::GetMuteState ( void  ) const
inlinevirtual

Reimplemented from VolumeBase.

Definition at line 58 of file audioreencodebuffer.h.

virtual MuteState AudioReencodeBuffer::IterateMutedChannels ( void  )
inlinevirtual

Definition at line 59 of file audioreencodebuffer.h.

virtual bool AudioReencodeBuffer::IsUpmixing ( void  )
inlinevirtual

Implements AudioOutput.

Definition at line 60 of file audioreencodebuffer.h.

virtual bool AudioReencodeBuffer::ToggleUpmix ( void  )
inlinevirtual

Implements AudioOutput.

Definition at line 61 of file audioreencodebuffer.h.

virtual bool AudioReencodeBuffer::CanUpmix ( void  )
inlinevirtual

Implements AudioOutput.

Definition at line 62 of file audioreencodebuffer.h.

virtual void AudioReencodeBuffer::SetSWVolume ( int  new_volume,
bool  save 
)
inlinevirtual

Implements VolumeBase.

Definition at line 63 of file audioreencodebuffer.h.

virtual int AudioReencodeBuffer::GetSWVolume ( void  )
inlinevirtual

Implements VolumeBase.

Definition at line 64 of file audioreencodebuffer.h.

virtual bool AudioReencodeBuffer::CanPassthrough ( int  ,
int  ,
int  ,
int   
) const
inlinevirtual

Reimplemented from AudioOutput.

Definition at line 65 of file audioreencodebuffer.h.

virtual void AudioReencodeBuffer::bufferOutputData ( bool  )
inlinevirtual

Implements AudioOutput.

Definition at line 69 of file audioreencodebuffer.h.

virtual int AudioReencodeBuffer::readOutputData ( unsigned char *  ,
int   
)
inlinevirtual

Implements AudioOutput.

Definition at line 70 of file audioreencodebuffer.h.

Member Data Documentation

int AudioReencodeBuffer::m_channels

Definition at line 72 of file audioreencodebuffer.h.

Referenced by Reconfigure(), and Transcode::TranscodeFile().

int AudioReencodeBuffer::m_bits

Definition at line 73 of file audioreencodebuffer.h.

int AudioReencodeBuffer::m_bytes_per_frame

Definition at line 74 of file audioreencodebuffer.h.

Referenced by AddData(), AddFrames(), Reconfigure(), and Transcode::TranscodeFile().

int AudioReencodeBuffer::m_eff_audiorate

Definition at line 75 of file audioreencodebuffer.h.

Referenced by AddData(), Reconfigure(), SetEffDsp(), and Transcode::TranscodeFile().

long long AudioReencodeBuffer::m_last_audiotime

Definition at line 76 of file audioreencodebuffer.h.

Referenced by AddData(), GetAudiotime(), and SetTimecode().

bool AudioReencodeBuffer::m_passthru

Definition at line 77 of file audioreencodebuffer.h.

Referenced by Reconfigure(), and Transcode::TranscodeFile().

int AudioReencodeBuffer::m_audioFrameSize

Definition at line 78 of file audioreencodebuffer.h.

Referenced by AddData(), AudioReencodeBuffer(), and Transcode::TranscodeFile().

bool AudioReencodeBuffer::m_initpassthru
private

Definition at line 81 of file audioreencodebuffer.h.

Referenced by AudioReencodeBuffer(), and CanPassthrough().

QMutex AudioReencodeBuffer::m_bufferMutex
private

Definition at line 82 of file audioreencodebuffer.h.

Referenced by AddData(), GetData(), GetSamples(), and Reset().

QList<AudioBuffer *> AudioReencodeBuffer::m_bufferList
private

Definition at line 83 of file audioreencodebuffer.h.

Referenced by AddData(), GetData(), GetSamples(), and Reset().

AudioBuffer* AudioReencodeBuffer::m_saveBuffer
private

Definition at line 84 of file audioreencodebuffer.h.

Referenced by AddData(), and ~AudioReencodeBuffer().


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