vdr
2.2.0
|
#include <remux.h>
Public Member Functions | |
cFrameDetector (int Pid=0, int Type=0) | |
void | SetPid (int Pid, int Type) |
int | Analyze (const uchar *Data, int Length) |
bool | Synced (void) |
bool | NewFrame (void) |
bool | IndependentFrame (void) |
double | FramesPerSecond (void) |
Private Types | |
enum | { MaxPtsValues = 150 } |
Private Attributes | |
int | pid |
int | type |
bool | synced |
bool | newFrame |
bool | independentFrame |
uint32_t | ptsValues [MaxPtsValues] |
int | numPtsValues |
int | numIFrames |
bool | isVideo |
double | framesPerSecond |
int | framesInPayloadUnit |
int | framesPerPayloadUnit |
bool | scanning |
cFrameParser * | parser |
cFrameDetector::cFrameDetector | ( | int | Pid = 0 , |
int | Type = 0 |
||
) |
int cFrameDetector::Analyze | ( | const uchar * | Data, |
int | Length | ||
) |
Analyzes the TS packets pointed to by Data.
Length is the number of bytes Data points to, and must be a multiple of TS_SIZE. Returns the number of bytes that have been analyzed. If the return value is 0, the data was not sufficient for analyzing and Analyze() needs to be called again with more actual data.
Definition at line 1561 of file remux.c.
References CmpUint32(), dbgframes, DEFAULTFRAMESPERSECOND, dsyslog, esyslog, MIN_TS_PACKETS_FOR_FRAME_DETECTOR, PATPID, PesGetPts(), PesHasPts(), PTSTICKS, TS_SIZE, TS_SYNC_BYTE, TsHasPayload(), TsIsScrambled(), TsPayloadOffset(), TsPayloadStart(), and TsPid().
Referenced by cRecorder::Action(), and cIndexFileGenerator::Action().
|
inline |
Returns the number of frames per second, or 0 if this information is not available.
Definition at line 532 of file remux.h.
Referenced by cRecorder::Action(), and cIndexFileGenerator::Action().
|
inline |
Returns true if a new frame was detected and this is an independent frame (i.e.
one that can be displayed by itself, without using data from any other frames).
Definition at line 528 of file remux.h.
Referenced by cRecorder::Action(), cIndexFileGenerator::Action(), and cRecorder::NextFile().
|
inline |
Returns true if the data given to the last call to Analyze() started a new frame.
Definition at line 525 of file remux.h.
Referenced by cRecorder::Action(), and cIndexFileGenerator::Action().
void cFrameDetector::SetPid | ( | int | Pid, |
int | Type | ||
) |
Sets the Pid and stream Type to detect frames for.
Definition at line 1544 of file remux.c.
References esyslog.
Referenced by cIndexFileGenerator::Action().
|
inline |
Returns true if the frame detector has synced on the data stream.
Definition at line 523 of file remux.h.
Referenced by cRecorder::Action(), and cIndexFileGenerator::Action().
|
private |
|
private |