summaryrefslogtreecommitdiff
path: root/remux.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2017-05-01 09:32:32 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2017-05-01 09:32:32 +0200
commit073268bd45a4a36e0d20ba1a60d585e9cae13e30 (patch)
tree65f8eba2ba526aeac251d1d1756abfac18cfee3d /remux.h
parent7cfce2fffa067a702af4e3b18e52e7d631dc006c (diff)
downloadvdr-073268bd45a4a36e0d20ba1a60d585e9cae13e30.tar.gz
vdr-073268bd45a4a36e0d20ba1a60d585e9cae13e30.tar.bz2
CAMs are now sent a generated EIT packet that contains a single 'present event' for the current SID, in order to avoid any parental rating dialogs
Diffstat (limited to 'remux.h')
-rw-r--r--remux.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/remux.h b/remux.h
index 7dd5b163..1bd96d9b 100644
--- a/remux.h
+++ b/remux.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: remux.h 4.3 2017/03/26 13:06:37 kls Exp $
+ * $Id: remux.h 4.4 2017/04/29 11:56:21 kls Exp $
*/
#ifndef __REMUX_H
@@ -51,6 +51,7 @@ public:
#define PATPID 0x0000 // PAT PID (constant 0)
#define CATPID 0x0001 // CAT PID (constant 1)
+#define EITPID 0x0012 // EIT PID (constant 18)
#define MAXPID 0x2000 // for arrays that use a PID as the index
#define PTSTICKS 90000 // number of PTS ticks per second
@@ -431,6 +432,22 @@ public:
uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : uint16_t(0); }
};
+// EIT Generator:
+
+class cEitGenerator {
+private:
+ uchar eit[TS_SIZE];
+ int counter;
+ int version;
+ uint16_t YMDtoMJD(int Y, int M, int D);
+ uchar *AddParentalRatingDescriptor(uchar *p, uchar ParentalRating = 0);
+public:
+ cEitGenerator(int Sid = 0);
+ uchar *Generate(int Sid);
+ uchar *Data(void) { return eit; }
+ int Length(void) { return sizeof(eit); }
+ };
+
// TS to PES converter:
// Puts together the payload of several TS packets that form one PES
// packet.