summaryrefslogtreecommitdiff
path: root/command/pes2es.h
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2010-09-16 21:37:36 +0200
committerJochen Dolze <vdr@dolze.de>2010-09-16 21:37:36 +0200
commit57df9917d4626d93323c7b0d2368fbf5d4748627 (patch)
treeebfe76fe280db47e223335266eab1bd34afa4226 /command/pes2es.h
parent03fc6351fce571b5ff7454bdfad9d4a0f0fb7679 (diff)
downloadvdr-plugin-markad-57df9917d4626d93323c7b0d2368fbf5d4748627.tar.gz
vdr-plugin-markad-57df9917d4626d93323c7b0d2368fbf5d4748627.tar.bz2
Added second pass processing (overlap, audio silence detection)
Diffstat (limited to 'command/pes2es.h')
-rw-r--r--command/pes2es.h82
1 files changed, 52 insertions, 30 deletions
diff --git a/command/pes2es.h b/command/pes2es.h
index c2c08e6..bfeaaaa 100644
--- a/command/pes2es.h
+++ b/command/pes2es.h
@@ -15,60 +15,82 @@ typedef unsigned char uchar;
#include "global.h"
#include "queue.h"
-class cMarkAdPES2ES
+struct PESHDR
{
-private:
- struct PESHDR
- {
- uchar Sync1;
- uchar Sync2;
- uchar Sync3;
- uchar StreamID;
- uchar LenH;
- uchar LenL;
- };
+ uchar Sync1;
+ uchar Sync2;
+ uchar Sync3;
+ uchar StreamID;
+ uchar LenH;
+ uchar LenL;
+};
#pragma pack(1)
- struct PESHDROPT
- {
+struct PESHDROPT
+{
unsigned OOC:
- 1;
+ 1;
unsigned CY:
- 1;
+ 1;
unsigned DAI:
- 1;
+ 1;
unsigned PESP:
- 1;
+ 1;
unsigned PESSC:
- 2;
+ 2;
unsigned MarkerBits:
- 2;
+ 2;
unsigned EXT:
- 1;
+ 1;
unsigned CRC:
- 1;
+ 1;
unsigned ACI:
- 1;
+ 1;
unsigned TM:
- 1;
+ 1;
unsigned RATE:
- 1;
+ 1;
unsigned ESCR:
- 1;
-unsigned TSF:
- 2;
+ 1;
+unsigned PTSDTS:
+ 2;
unsigned Length:
- 8;
- };
+ 8;
+};
+
+struct PESHDROPTPTS
+{
+unsigned Marker1:
+ 1;
+unsigned PTS32_30:
+ 3;
+unsigned Fixed:
+ 4;
+unsigned PTS29_15_H:
+ 8;
+unsigned Marker2:
+ 1;
+unsigned PTS29_15_L:
+ 7;
+unsigned PTS14_0_H:
+ 8;
+unsigned Marker3:
+ 1;
+unsigned PTS14_0_L:
+ 7;
+};
#pragma pack()
+class cMarkAdPES2ES
+{
+private:
cMarkAdPaketQueue *queue;
int type;
public:
cMarkAdPES2ES(const char *QueueName="PES2ES", int QueueSize=32768);
~cMarkAdPES2ES();
void Clear();
- void Process(MarkAdPid Pid, uchar *PESData, int PESSize, uchar **ESData, int *ESSize);
+ void Process(MarkAdPid Pid, uchar *PESData, int PESSize, MarkAdPacket *ESPkt);
};
#endif