vdr 2.6.1
|
#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) |
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 } |
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 |
Definition at line 507 of file include/vdr/remux.h.
|
private |
Enumerator | |
---|---|
MaxPtsValues |
Definition at line 509 of file include/vdr/remux.h.
cFrameDetector::cFrameDetector | ( | int | Pid = 0 , |
int | Type = 0 |
||
) |
Sets up a frame detector for the given Pid and stream Type.
If no Pid and Type is given, they need to be set by a separate call to SetPid().
Definition at line 1615 of file remux.c.
References framesInPayloadUnit, framesPerPayloadUnit, framesPerSecond, independentFrame, newFrame, numIFrames, numPtsValues, parser, scanning, SetPid(), and synced.
cFrameDetector::cFrameDetector | ( | int | Pid = 0 , |
int | Type = 0 |
||
) |
Sets up a frame detector for the given Pid and stream Type.
If no Pid and Type is given, they need to be set by a separate call to SetPid().
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 1654 of file remux.c.
References CmpUint32(), dbgframes, DEFAULTFRAMESPERSECOND, dsyslog, framesInPayloadUnit, framesPerPayloadUnit, framesPerSecond, cFrameParser::IFrameTemporalReferenceOffset(), independentFrame, cFrameParser::IndependentFrame(), isVideo, MaxPtsValues, MIN_TS_PACKETS_FOR_FRAME_DETECTOR, newFrame, cFrameParser::NewFrame(), numIFrames, numPtsValues, cFrameParser::Parse(), parser, PATPID, PesGetPts(), PesHasPts(), pid, PTSTICKS, ptsValues, scanning, cFrameParser::SetDebug(), synced, TS_SIZE, TS_SYNC, TsHasPayload(), TsIsScrambled(), TsPayloadOffset(), TsPayloadStart(), and TsPid().
Referenced by cRecorder::Action(), and cIndexFileGenerator::Action().
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.
|
inline |
Returns the number of frames per second, or 0 if this information is not available.
Definition at line 547 of file include/vdr/remux.h.
References framesPerSecond.
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 547 of file remux.h.
References framesPerSecond.
|
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 543 of file include/vdr/remux.h.
References independentFrame.
Referenced by cRecorder::Action(), cIndexFileGenerator::Action(), and cRecorder::NextFile().
|
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 543 of file remux.h.
References independentFrame.
|
inline |
Returns true if the data given to the last call to Analyze() started a new frame.
Definition at line 540 of file include/vdr/remux.h.
References newFrame.
Referenced by cRecorder::Action(), and cIndexFileGenerator::Action().
|
inline |
void cFrameDetector::SetPid | ( | int | Pid, |
int | Type | ||
) |
Sets the Pid and stream Type to detect frames for.
Definition at line 1635 of file remux.c.
References esyslog, isVideo, parser, pid, and type.
Referenced by cIndexFileGenerator::Action(), and cFrameDetector().
void cFrameDetector::SetPid | ( | int | Pid, |
int | Type | ||
) |
Sets the Pid and stream Type to detect frames for.
|
inline |
Returns true if the frame detector has synced on the data stream.
Definition at line 538 of file include/vdr/remux.h.
References synced.
Referenced by cRecorder::Action(), and cIndexFileGenerator::Action().
|
inline |
|
private |
Definition at line 520 of file include/vdr/remux.h.
Referenced by Analyze(), and cFrameDetector().
|
private |
Definition at line 521 of file include/vdr/remux.h.
Referenced by Analyze(), and cFrameDetector().
|
private |
Definition at line 519 of file include/vdr/remux.h.
Referenced by Analyze(), cFrameDetector(), and FramesPerSecond().
|
private |
Definition at line 514 of file include/vdr/remux.h.
Referenced by Analyze(), cFrameDetector(), and IndependentFrame().
|
private |
Definition at line 518 of file include/vdr/remux.h.
|
private |
Definition at line 513 of file include/vdr/remux.h.
Referenced by Analyze(), cFrameDetector(), and NewFrame().
|
private |
Definition at line 517 of file include/vdr/remux.h.
Referenced by Analyze(), and cFrameDetector().
|
private |
Definition at line 516 of file include/vdr/remux.h.
Referenced by Analyze(), and cFrameDetector().
|
private |
Definition at line 524 of file include/vdr/remux.h.
Referenced by Analyze(), cFrameDetector(), and SetPid().
|
private |
Definition at line 510 of file include/vdr/remux.h.
|
private |
Definition at line 515 of file include/vdr/remux.h.
Referenced by Analyze().
|
private |
Definition at line 523 of file include/vdr/remux.h.
Referenced by Analyze(), and cFrameDetector().
|
private |
Definition at line 512 of file include/vdr/remux.h.
Referenced by Analyze(), cFrameDetector(), and Synced().
|
private |
Definition at line 511 of file include/vdr/remux.h.
Referenced by SetPid().