diff options
Diffstat (limited to 'pes2es.h')
| -rw-r--r-- | pes2es.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/pes2es.h b/pes2es.h new file mode 100644 index 0000000..5b74e43 --- /dev/null +++ b/pes2es.h @@ -0,0 +1,79 @@ +/* + * pes2es.h: A plugin for the Video Disk Recorder + * + * See the README file for copyright information and how to reach the author. + * + * $Id$ + */ + +#ifndef __pes2es_h_ +#define __pes2es_h_ + +#ifndef uchar +typedef unsigned char uchar; +#endif + +#include <inttypes.h> +#include <stdlib.h> +#include <string.h> + +#include "global.h" +#include "tools.h" + +class cMarkAdPES2ES +{ +private: + struct PESHDR + { + uchar Sync1; + uchar Sync2; + uchar Sync3; + uchar StreamID; + uchar LenH; + uchar LenL; + }; + +#pragma pack(1) + struct PESHDROPT + { +unsigned OOC: + 1; +unsigned CY: + 1; +unsigned DAI: + 1; +unsigned PESP: + 1; +unsigned PESSC: + 2; +unsigned MarkerBits: + 2; +unsigned EXT: + 1; +unsigned CRC: + 1; +unsigned ACI: + 1; +unsigned TM: + 1; +unsigned RATE: + 1; +unsigned ESCR: + 1; +unsigned TSF: + 2; +unsigned Length: + 8; + }; +#pragma pack() + + cMarkAdPaketQueue *queue; + int type; + void Reset(); +public: + cMarkAdPES2ES(int RecvNumber, const char *QueueName="PES2ES", int QueueSize=32768); + ~cMarkAdPES2ES(); + void Process(MarkAdPid Pid, uchar *PESData, int PESSize, uchar **ESData, int *ESSize); +}; + +#endif |
