diff options
author | Dimitar Petrovski <dimeptr@gmail.com> | 2011-10-25 23:54:36 +0200 |
---|---|---|
committer | Dimitar Petrovski <dimeptr@gmail.com> | 2011-10-25 23:54:36 +0200 |
commit | d7ffd368b513b9fc5e03842add42eb7ded562a61 (patch) | |
tree | a5d05c488ee7749ecfbe7451481d9be8f67585ac /eepg.c | |
parent | a57a6174875e05911039276f36f17cd538f494a3 (diff) | |
download | vdr-plugin-eepg-d7ffd368b513b9fc5e03842add42eb7ded562a61.tar.gz vdr-plugin-eepg-d7ffd368b513b9fc5e03842add42eb7ded562a61.tar.bz2 |
Add Program ID / Series ID
fix ratings
Diffstat (limited to 'eepg.c')
-rw-r--r-- | eepg.c | 42 |
1 files changed, 33 insertions, 9 deletions
@@ -2813,7 +2813,9 @@ namespace SI enum DescriptorTagExt { DishRatingDescriptorTag = 0x89, DishShortEventDescriptorTag = 0x91, - DishExtendedEventDescriptorTag = 0x92 }; + DishExtendedEventDescriptorTag = 0x92, + DishSeriesDescriptorTag = 0x96, + }; // typedef InheritEnum< DescriptorTagExt, SI::DescriptorTag > ExtendedDescriptorTag; @@ -3192,7 +3194,7 @@ cEIT2::cEIT2 (cSchedules * Schedules, int Source, u_char Tid, const u_char * Dat if (!DishEventDescriptor) { DishEventDescriptor = new SI::DishDescriptor(); } - DishEventDescriptor->setExtendedtData(Tid, deed->getData()); + DishEventDescriptor->setExtendedtData(Tid+1, deed->getData()); HasExternalData = true; } break; @@ -3201,15 +3203,27 @@ cEIT2::cEIT2 (cSchedules * Schedules, int Source, u_char Tid, const u_char * Dat if (!DishEventDescriptor) { DishEventDescriptor = new SI::DishDescriptor(); } - DishEventDescriptor->setShortData(Tid, dsed->getData()); + DishEventDescriptor->setShortData(Tid+1, dsed->getData()); HasExternalData = true; } break; case SI::DishRatingDescriptorTag: { - if (d->getLength() == 4 && DishEventDescriptor) { - uint16_t rating = d->getData().TwoBytes(2); - DishEventDescriptor->setRating(rating); - } + if (d->getLength() == 4) { + if (!DishEventDescriptor) { + DishEventDescriptor = new SI::DishDescriptor(); + } + uint16_t rating = d->getData().TwoBytes(2); + DishEventDescriptor->setRating(rating); + } + } + break; + case SI::DishSeriesDescriptorTag: { + if (d->getLength() == 4) { + if (!DishEventDescriptor) { + DishEventDescriptor = new SI::DishDescriptor(); + } + DishEventDescriptor->setEpisodeInfo(d->getData()); + } } break; default: @@ -3268,14 +3282,24 @@ cEIT2::cEIT2 (cSchedules * Schedules, int Source, u_char Tid, const u_char * Dat fmt = "%s"; if (0 != strcmp(DishEventDescriptor->getDescription(),"") && (0 != strcmp(DishEventDescriptor->getRating(),"") || 0 != strcmp(DishEventDescriptor->getStarRating(),""))) { - fmt += "|"; + fmt += "\nRating: "; + } + fmt += "%s %s"; + if (0 != strcmp(DishEventDescriptor->getProgramId(),"")) { + fmt += "\n Program ID: "; } fmt += "%s %s"; + fmt += DishEventDescriptor->getOriginalAirDate() == 0 ? "%s" : " Original Air Date: "; Asprintf (&tmp, fmt.c_str(), DishEventDescriptor->getDescription() , DishEventDescriptor->getRating() - , DishEventDescriptor->getStarRating()); + , DishEventDescriptor->getStarRating() + , DishEventDescriptor->getProgramId() + , DishEventDescriptor->getSeriesId() + , DishEventDescriptor->getOriginalAirDate() == 0 ? "" : ctime (&DishEventDescriptor->getOriginalAirDate())); pEvent->SetDescription(tmp); free(tmp); + + //LogD(2, prep("DishDescription: %s"), DishExtendedEventDescriptor->getText()); //LogD(2, prep("DishShortText: %s"), DishExtendedEventDescriptor->getShortText()); } |