cDolbyRepacker Class Reference

Inheritance diagram for cDolbyRepacker:

Inheritance graph
[legend]
Collaboration diagram for cDolbyRepacker:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 cDolbyRepacker (void)
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 {
  find_0b, find_77, store_chk1, store_chk2,
  get_length, output_packet
}

Private Member Functions

void ResetPesHeader (bool ContinuationFrame=false)
void AppendSubStreamID (bool ContinuationFrame=false)
bool FinishRemainder (cRingBufferLinear *ResultBuffer, const uchar *const Data, const int Todo, int &Bite)
bool StartNewPacket (cRingBufferLinear *ResultBuffer, const uchar *const Data, const int Todo, int &Bite)

Private Attributes

uchar fragmentData [6+65535]
int fragmentLen
int fragmentTodo
uchar pesHeader [6+3+255+4+4]
int pesHeaderLen
uchar pesHeaderBackup [6+3+255]
int pesHeaderBackupLen
uchar chk1
uchar chk2
int ac3todo
int state
int skippedBytes

Static Private Attributes

static int frameSizes []


Detailed Description

Definition at line 1057 of file remux.c.


Member Enumeration Documentation

enum cDolbyRepacker::eState [private]

Enumerator:
find_0b 
find_77 
store_chk1 
store_chk2 
get_length 
output_packet 

Definition at line 1070 of file remux.c.


Constructor & Destructor Documentation

cDolbyRepacker::cDolbyRepacker ( void   ) 

Definition at line 1115 of file remux.c.

References pesHeader, and Reset().

Here is the call graph for this function:


Member Function Documentation

void cDolbyRepacker::ResetPesHeader ( bool  ContinuationFrame = false  )  [private]

Definition at line 1139 of file remux.c.

References AppendSubStreamID(), pesHeader, and pesHeaderLen.

Referenced by Repack(), and Reset().

Here is the call graph for this function:

void cDolbyRepacker::AppendSubStreamID ( bool  ContinuationFrame = false  )  [private]

Definition at line 1126 of file remux.c.

References pesHeader, pesHeaderLen, and cRepacker::subStreamId.

Referenced by Repack(), and ResetPesHeader().

bool cDolbyRepacker::FinishRemainder ( cRingBufferLinear ResultBuffer,
const uchar *const   Data,
const int  Todo,
int &  Bite 
) [private]

Definition at line 1162 of file remux.c.

References ac3todo, find_0b, fragmentData, fragmentLen, fragmentTodo, cRepacker::Put(), and state.

Referenced by Repack().

Here is the call graph for this function:

bool cDolbyRepacker::StartNewPacket ( cRingBufferLinear ResultBuffer,
const uchar *const   Data,
const int  Todo,
int &  Bite 
) [private]

Definition at line 1196 of file remux.c.

References ac3todo, find_0b, fragmentData, fragmentLen, fragmentTodo, cRepacker::maxPacketSize, pesHeader, pesHeaderLen, cRepacker::Put(), and state.

Referenced by Repack().

Here is the call graph for this function:

void cDolbyRepacker::Reset ( void   )  [virtual]

Reimplemented from cRepacker.

Definition at line 1148 of file remux.c.

References ac3todo, chk1, chk2, find_0b, fragmentLen, fragmentTodo, pesHeaderBackupLen, cRepacker::Reset(), ResetPesHeader(), skippedBytes, and state.

Referenced by cDolbyRepacker().

Here is the call graph for this function:

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

Implements cRepacker.

Definition at line 1236 of file remux.c.

References ac3todo, AppendSubStreamID(), chk1, chk2, cRepacker::DroppedData(), find_0b, find_77, FinishRemainder(), fragmentTodo, frameSizes, get_length, cRepacker::initiallySyncing, LOG, output_packet, pesHeader, pesHeaderBackup, pesHeaderBackupLen, pesHeaderLen, ResetPesHeader(), skippedBytes, StartNewPacket(), state, store_chk1, and store_chk2.

Here is the call graph for this function:

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

Implements cRepacker.

Definition at line 1366 of file remux.c.

References ac3todo, frameSizes, and cRepacker::initiallySyncing.


Member Data Documentation

int cDolbyRepacker::frameSizes [static, private]

Initial value:

 {
  
    64,   64,   80,   80,   96,   96,  112,  112,  128,  128,  160,  160,  192,  192,  224,  224,
   256,  256,  320,  320,  384,  384,  448,  448,  512,  512,  640,  640,  768,  768,  896,  896,
  1024, 1024, 1152, 1152, 1280, 1280,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  
    69,   70,   87,   88,  104,  105,  121,  122,  139,  140,  174,  175,  208,  209,  243,  244,
   278,  279,  348,  349,  417,  418,  487,  488,  557,  558,  696,  697,  835,  836,  975,  976,
  1114, 1115, 1253, 1254, 1393, 1394,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  
    96,   96,  120,  120,  144,  144,  168,  168,  192,  192,  240,  240,  288,  288,  336,  336,
   384,  384,  480,  480,  576,  576,  672,  672,  768,  768,  960,  960, 1152, 1152, 1344, 1344,
  1536, 1536, 1728, 1728, 1920, 1920,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  }

Definition at line 1059 of file remux.c.

Referenced by BreakAt(), and Repack().

uchar cDolbyRepacker::fragmentData[6+65535] [private]

Definition at line 1060 of file remux.c.

Referenced by FinishRemainder(), and StartNewPacket().

int cDolbyRepacker::fragmentLen [private]

Definition at line 1061 of file remux.c.

Referenced by FinishRemainder(), Reset(), and StartNewPacket().

int cDolbyRepacker::fragmentTodo [private]

Definition at line 1062 of file remux.c.

Referenced by FinishRemainder(), Repack(), Reset(), and StartNewPacket().

uchar cDolbyRepacker::pesHeader[6+3+255+4+4] [private]

Definition at line 1063 of file remux.c.

Referenced by AppendSubStreamID(), cDolbyRepacker(), Repack(), ResetPesHeader(), and StartNewPacket().

int cDolbyRepacker::pesHeaderLen [private]

Definition at line 1064 of file remux.c.

Referenced by AppendSubStreamID(), Repack(), ResetPesHeader(), and StartNewPacket().

uchar cDolbyRepacker::pesHeaderBackup[6+3+255] [private]

Definition at line 1065 of file remux.c.

Referenced by Repack().

int cDolbyRepacker::pesHeaderBackupLen [private]

Definition at line 1066 of file remux.c.

Referenced by Repack(), and Reset().

uchar cDolbyRepacker::chk1 [private]

Definition at line 1067 of file remux.c.

Referenced by Repack(), and Reset().

uchar cDolbyRepacker::chk2 [private]

Definition at line 1068 of file remux.c.

Referenced by Repack(), and Reset().

int cDolbyRepacker::ac3todo [private]

Definition at line 1069 of file remux.c.

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

int cDolbyRepacker::state [private]

Definition at line 1078 of file remux.c.

Referenced by FinishRemainder(), Repack(), Reset(), and StartNewPacket().

int cDolbyRepacker::skippedBytes [private]

Definition at line 1079 of file remux.c.

Referenced by Repack(), and Reset().


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