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]

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().

Definition at line 1061 of file remux.c.

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

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().

Definition at line 1064 of file remux.c.

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

Definition at line 1065 of file remux.c.

Referenced by Repack().

Definition at line 1066 of file remux.c.

Referenced by Repack(), and Reset().

Definition at line 1067 of file remux.c.

Referenced by Repack(), and Reset().

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().

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 4 19:58:25 2008 for VDR by  doxygen 1.5.6