RTP Audio System  2.0.0
AdvancedAudioDecoder Class Reference

Advanced Audio Decoder. More...

#include <advancedaudiodecoder.h>

Inheritance diagram for AdvancedAudioDecoder:
AudioDecoderInterface TimedThread DecoderInterface AudioQualityInterface MultiTimerThread< Timers > Thread Synchronizable

List of all members.

Classes

struct  FrameFragment
struct  FrameNode
struct  FrameNodeItem

Public Member Functions

 AdvancedAudioDecoder (AudioWriterInterface *audioWriter)
 ~AdvancedAudioDecoder ()
const card16 getTypeID () const
const char * getTypeName () const
void activate ()
void deactivate ()
void reset ()
void getMediaInfo (MediaInfo &mediaInfo) const
card8 getErrorCode () const
card64 getPosition () const
card64 getMaxPosition () const
bool checkNextPacket (DecoderPacket *decoderPacket)
void handleNextPacket (const DecoderPacket *decoderPacket)
card16 getSamplingRate () const
card8 getBits () const
card8 getChannels () const
card16 getByteOrder () const
cardinal getBytesPerSecond () const
cardinal getBitsPerSample () const
AudioQuality getWantedQuality () const
void setWantedQuality (const AudioQualityInterface &wantedQuality)

Private Member Functions

void timerEvent ()
card64 checkFragmentSeqNum (std::multimap< const card16, FrameFragment * > *set, const card64 last) const
void deleteFragments (std::multimap< const card16, FrameFragment * > *set)
FrameFragmentgetFragment (std::multimap< const card16, FrameFragment * > *set, const card16 fragmentNumber)

Private Attributes

std::multiset< FrameNodeItemFrameSet
AudioWriterInterfaceDevice
AudioQuality WantedQuality
card64 Position
card64 MaxPosition
SeqNumValidator SeqNumber [AdvancedAudioPacket::AdvancedAudioMaxQualityLayers]
MediaInfo Media
card16 AudioSamplingRate
card8 AudioBits
card8 AudioChannels
card8 ErrorCode

Static Private Attributes

static const cardinal FrameBufferSize
static const card64 BufferCleanUpDifference

Detailed Description

Advanced Audio Decoder.

This class is an advanced audio decoder. It does error correction by using nearly redundant data of left and right channel to "reconstruct" the full data.

Author:
Thomas Dreibholz
Version:
1.0

Constructor & Destructor Documentation

Constructor for the audio decoder.

Parameters:
audioWriterAudioReaderInterface for the audio output.

Member Function Documentation

card64 AdvancedAudioDecoder::checkFragmentSeqNum ( std::multimap< const card16, FrameFragment * > *  set,
const card64  last 
) const [private]
void AdvancedAudioDecoder::deleteFragments ( std::multimap< const card16, FrameFragment * > *  set) [private]
AdvancedAudioDecoder::FrameFragment * AdvancedAudioDecoder::getFragment ( std::multimap< const card16, FrameFragment * > *  set,
const card16  fragmentNumber 
) [private]
void AdvancedAudioDecoder::getMediaInfo ( MediaInfo mediaInfo) const [virtual]
const card16 AdvancedAudioDecoder::getTypeID ( ) const [virtual]
const char * AdvancedAudioDecoder::getTypeName ( ) const [virtual]

getTypeName implementation of DecoderInterface.

See also:
DecoderInterface::getTypeName

Implements DecoderInterface.

void AdvancedAudioDecoder::reset ( ) [virtual]

reset() implementation of DecoderInterface.

See also:
DecoderInterface::reset

Implements DecoderInterface.

void AdvancedAudioDecoder::timerEvent ( ) [private, virtual]

The virtual timerEvent() method, which contains the timed thread's implementation. It has to be implemented by classes, which inherit TimedThread. This method is called regularly with the given interval.

Implements TimedThread.


Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines