diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2014-01-28 11:26:02 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2014-01-28 11:26:02 +0100 |
commit | 9eda923269f49291317547130d24067cad9cb669 (patch) | |
tree | 218f89998064237e463797116db1e795e7b20c9c /remux.h | |
parent | 47a6f8fbfffcc46bd30d4443b3c72eb61e1aa9d2 (diff) | |
download | vdr-9eda923269f49291317547130d24067cad9cb669.tar.gz vdr-9eda923269f49291317547130d24067cad9cb669.tar.bz2 |
Increased MIN_TS_PACKETS_FOR_FRAME_DETECTOR to 100 and introduced counting the number of actual video TS packets in cTsPayload
Diffstat (limited to 'remux.h')
-rw-r--r-- | remux.h | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remux.h 3.1 2014/01/16 10:15:50 kls Exp $ + * $Id: remux.h 3.2 2014/01/28 11:06:37 kls Exp $ */ #ifndef __REMUX_H @@ -217,8 +217,11 @@ private: int length; int pid; int index; // points to the next byte to process + int numPacketsPid; // the number of TS packets with the given PID (for statistical purposes) + int numPacketsOther; // the number of TS packets with other PIDs (for statistical purposes) + uchar SetEof(void); protected: - void Reset(void) { index = 0; } + void Reset(void); public: cTsPayload(void); cTsPayload(uchar *Data, int Length, int Pid = -1); @@ -246,6 +249,10 @@ public: ///< is counted with its full size. bool Eof(void) const { return index >= length; } ///< Returns true if all available bytes of the TS payload have been processed. + void Statistics(void) const; + ///< May be called after a new frame has been detected, and will log a warning + ///< if the number of TS packets required to determine the frame type exceeded + ///< some safety limits. uchar GetByte(void); ///< Gets the next byte of the TS payload, skipping any intermediate TS header data. bool SkipBytes(int Bytes); @@ -462,7 +469,7 @@ void PesDump(const char *Name, const u_char *Data, int Length); // Frame detector: -#define MIN_TS_PACKETS_FOR_FRAME_DETECTOR 10 +#define MIN_TS_PACKETS_FOR_FRAME_DETECTOR 100 class cFrameParser; |