summaryrefslogtreecommitdiff
path: root/eit.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2010-01-03 12:20:37 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2010-01-03 12:20:37 +0100
commit56627cd12d9e01379d9104300fec837a4db8df48 (patch)
tree3a3029da935dfef7b4edee8be35c11cd83e281d5 /eit.c
parent4b5f232e59988e5c043b08210c3940a5bf82b360 (diff)
downloadvdr-56627cd12d9e01379d9104300fec837a4db8df48.tar.gz
vdr-56627cd12d9e01379d9104300fec837a4db8df48.tar.bz2
Implemented handling the "Content Descriptor"
Diffstat (limited to 'eit.c')
-rw-r--r--eit.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/eit.c b/eit.c
index 1803b261..e7e34dc4 100644
--- a/eit.c
+++ b/eit.c
@@ -8,7 +8,7 @@
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
*
- * $Id: eit.c 2.7 2009/12/05 16:13:22 kls Exp $
+ * $Id: eit.c 2.8 2010/01/03 11:18:56 kls Exp $
*/
#include "eit.h"
@@ -153,7 +153,19 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data, bo
}
}
break;
- case SI::ContentDescriptorTag:
+ case SI::ContentDescriptorTag: {
+ SI::ContentDescriptor *cd = (SI::ContentDescriptor *)d;
+ SI::ContentDescriptor::Nibble Nibble;
+ int NumContents = 0;
+ uchar Contents[MAXEVCONTENTS] = { 0 };
+ for (SI::Loop::Iterator it3; cd->nibbleLoop.getNext(Nibble, it3); ) {
+ if (NumContents < MAXEVCONTENTS) {
+ Contents[NumContents] = ((Nibble.getContentNibbleLevel1() & 0xF) << 4) | (Nibble.getContentNibbleLevel2() & 0xF);
+ NumContents++;
+ }
+ }
+ pEvent->SetContents(Contents);
+ }
break;
case SI::ParentalRatingDescriptorTag:
break;