cAudioRepacker Class Reference

Inheritance diagram for cAudioRepacker:

Inheritance graph
[legend]
Collaboration diagram for cAudioRepacker:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 cAudioRepacker (int Cid)
virtual void Reset (void)
virtual void Repack (cRingBufferLinear *ResultBuffer, const uchar *Data, int Count)
virtual int BreakAt (const uchar *Data, int Count)

Private Types

enum  eState { syncing, scanFrame }

Static Private Member Functions

static bool IsValidAudioHeader (uint32_t Header, bool Mpeg2, int *FrameSize=NULL)

Private Attributes

int state
int frameTodo
int frameSize
int cid

Static Private Attributes

static int bitRates [2][3][16]


Detailed Description

Definition at line 682 of file remux.c.


Member Enumeration Documentation

enum cAudioRepacker::eState [private]

Enumerator:
syncing 
scanFrame 

Definition at line 685 of file remux.c.


Constructor & Destructor Documentation

cAudioRepacker::cAudioRepacker ( int  Cid  ) 

Definition at line 714 of file remux.c.

References cid, and Reset().

Here is the call graph for this function:


Member Function Documentation

bool cAudioRepacker::IsValidAudioHeader ( uint32_t  Header,
bool  Mpeg2,
int *  FrameSize = NULL 
) [static, private]

Definition at line 729 of file remux.c.

References bitRates.

Referenced by BreakAt(), and Repack().

void cAudioRepacker::Reset ( void   )  [virtual]

Reimplemented from cCommonRepacker.

Definition at line 720 of file remux.c.

References frameSize, frameTodo, cCommonRepacker::Reset(), cCommonRepacker::scanner, state, and syncing.

Referenced by cAudioRepacker().

Here is the call graph for this function:

void cAudioRepacker::Repack ( cRingBufferLinear ResultBuffer,
const uchar Data,
int  Count 
) [virtual]

Implements cRepacker.

Definition at line 795 of file remux.c.

References AnalyzePesHeader(), cid, cRepacker::DroppedData(), cCommonRepacker::fragmentData, cCommonRepacker::fragmentLen, frameSize, frameTodo, cRepacker::initiallySyncing, IsValidAudioHeader(), cCommonRepacker::localStart, LOG, cRepacker::maxPacketSize, cCommonRepacker::packetTodo, cCommonRepacker::pesHeader, cCommonRepacker::pesHeaderBackup, cCommonRepacker::pesHeaderBackupLen, cCommonRepacker::pesHeaderLen, phInvalid, phMPEG2, cCommonRepacker::PushOutPacket(), scanFrame, cCommonRepacker::scanner, cCommonRepacker::skippedBytes, state, and syncing.

Here is the call graph for this function:

int cAudioRepacker::BreakAt ( const uchar Data,
int  Count 
) [virtual]

Implements cRepacker.

Definition at line 1009 of file remux.c.

References AnalyzePesHeader(), frameTodo, cRepacker::initiallySyncing, IsValidAudioHeader(), cCommonRepacker::localScanner, cCommonRepacker::localStart, cCommonRepacker::packetTodo, phInvalid, phMPEG2, scanFrame, cCommonRepacker::scanner, and state.

Here is the call graph for this function:


Member Data Documentation

int cAudioRepacker::bitRates [static, private]

Initial value:

 { 
  {
    { 0,  32,  64,  96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, -1 }, 
    { 0,  32,  48,  56,  64,  80,  96, 112, 128, 160, 192, 224, 256, 320, 384, -1 }, 
    { 0,  32,  40,  48,  56,  64,  80,  96, 112, 128, 160, 192, 224, 256, 320, -1 }  
  },
  {
    { 0,  32,  48,  56,  64,  80,  96, 112, 128, 144, 160, 176, 192, 224, 256, -1 }, 
    { 0,   8,  16,  24,  32,  40,  48,  56,  64,  80,  96, 112, 128, 144, 160, -1 }, 
    { 0,   8,  16,  24,  32,  40,  48,  56,  64,  80,  96, 112, 128, 144, 160, -1 }  
  }
  }

Definition at line 684 of file remux.c.

Referenced by IsValidAudioHeader().

int cAudioRepacker::state [private]

Definition at line 689 of file remux.c.

Referenced by BreakAt(), Repack(), and Reset().

int cAudioRepacker::frameTodo [private]

Definition at line 690 of file remux.c.

Referenced by BreakAt(), Repack(), and Reset().

int cAudioRepacker::frameSize [private]

Definition at line 691 of file remux.c.

Referenced by Repack(), and Reset().

int cAudioRepacker::cid [private]

Definition at line 692 of file remux.c.

Referenced by cAudioRepacker(), and Repack().


The documentation for this class was generated from the following file:
Generated on Tue Nov 6 20:04:34 2007 for VDR by  doxygen 1.5.3-20071008