vdr  2.2.0
Public Member Functions | Private Attributes | List of all members
cMpeg2Parser Class Reference

Public Member Functions

 cMpeg2Parser (void)
 
virtual int Parse (const uchar *Data, int Length, int Pid)
 
- Public Member Functions inherited from cFrameParser
 cFrameParser (void)
 
virtual ~cFrameParser ()
 
void SetDebug (bool Debug)
 
bool NewFrame (void)
 
bool IndependentFrame (void)
 
int IFrameTemporalReferenceOffset (void)
 

Private Attributes

uint32_t scanner
 
bool seenIndependentFrame
 
int lastIFrameTemporalReference
 

Additional Inherited Members

- Protected Attributes inherited from cFrameParser
bool debug
 
bool newFrame
 
bool independentFrame
 
int iFrameTemporalReferenceOffset
 

Detailed Description

Definition at line 1211 of file remux.c.

Constructor & Destructor Documentation

cMpeg2Parser::cMpeg2Parser ( void  )

Definition at line 1221 of file remux.c.

References EMPTY_SCANNER.

Member Function Documentation

int cMpeg2Parser::Parse ( const uchar Data,
int  Length,
int  Pid 
)
virtual

Parses the given Data, which is a sequence of Length bytes of TS packets.

The payload in the TS packets with the given Pid is searched for just enough information to determine the beginning and type of the next video frame. Returns the number of bytes parsed. Upon return, the functions NewFrame() and IndependentFrame() can be called to retrieve the required information.

Implements cFrameParser.

Definition at line 1228 of file remux.c.

References cTsPayload::AtPayloadStart(), cTsPayload::AtTsStart(), dbgframes, EMPTY_SCANNER, cTsPayload::Eof(), cTsPayload::Find(), cTsPayload::GetByte(), cTsPayload::GetLastIndex(), cTsPayload::SkipPesHeader(), cTsPayload::Statistics(), TS_SIZE, TsPayloadStart(), and cTsPayload::Used().

Member Data Documentation

int cMpeg2Parser::lastIFrameTemporalReference
private

Definition at line 1215 of file remux.c.

uint32_t cMpeg2Parser::scanner
private

Definition at line 1213 of file remux.c.

bool cMpeg2Parser::seenIndependentFrame
private

Definition at line 1214 of file remux.c.


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