From 21f3eaf6c98751cc5931ccfd7bc123f7b7ac38f8 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 4 Jun 2006 18:00:00 +0200 Subject: =?UTF-8?q?Version=201.4.0-3=20-=20Fixed=20the=20PremiereContentTr?= =?UTF-8?q?ansmissionDescriptor=20in=20'libsi'=20(thanks=20to=20Stefan=20?= =?UTF-8?q?=20=20Huelswitt).=20-=20Removed=20all=20the=20compatibility=20'?= =?UTF-8?q?#if=20APIVERSNUM...'=20stuff=20and=20instead=20increased=20=20?= =?UTF-8?q?=20the=20API=20version=20number=20-=20plugins=20will=20have=20t?= =?UTF-8?q?o=20be=20recompiled.=20-=20Removed=20the=20call=20to=20pthread?= =?UTF-8?q?=5Fsetschedparam(childTid,=20SCHED=5FRR,=200)=20in=20thread.c,?= =?UTF-8?q?=20=20=20because=20it=20caused=20a=20compiler=20warning=20with?= =?UTF-8?q?=20post-2.4=20glibc=20(reported=20by=20Ville=20Skytt=C3=A4).=20?= =?UTF-8?q?=20=20Since=20the=20third=20parameter=20has=20to=20be=20non-nul?= =?UTF-8?q?l=20to=20have=20any=20effect,=20the=20call=20was=20=20=20presum?= =?UTF-8?q?ably=20a=20NOP,=20anyway.=20-=20Fixed=20the=20'clean-plugins'?= =?UTF-8?q?=20target=20in=20the=20Makefile=20to=20also=20remove=20addition?= =?UTF-8?q?al=20=20=20plugin=20libraries=20(thanks=20to=20Wayne=20Keer).?= =?UTF-8?q?=20-=20Applied=20the=20fixes=20to=20moving=20and=20deleting=20c?= =?UTF-8?q?hannels=20from=20version=201.4.0-2=20to=20the=20=20=20SVDRP=20c?= =?UTF-8?q?ommands=20MOVC=20and=20DELC=20as=20well.=20-=20Fixed=20handling?= =?UTF-8?q?=20the=20display=20of=20the=20'*'=20indicator=20in=20the=20"Wha?= =?UTF-8?q?t's=20on=20now/next=3F"=20=20=20menu,=20so=20that=20events=20th?= =?UTF-8?q?at=20haven't=20been=20"seen"=20in=20the=20data=20stream=20withi?= =?UTF-8?q?n=2030=20=20=20seconds=20won't=20be=20shown=20as=20"running".?= =?UTF-8?q?=20-=20Fixed=20handling=20tabbed=20item=20display=20in=20'skinc?= =?UTF-8?q?urses'.=20-=20Increased=20the=20column=20spacing=20in=20the=20"?= =?UTF-8?q?Recordings"=20menu=20(was=20too=20small=20for=20the=20=20=20'sk?= =?UTF-8?q?incurses'=20plugin).=20-=20When=20the=20'skincurses'=20plugin?= =?UTF-8?q?=20is=20loaded,=20it=20automatically=20sets=20the=20'curses'=20?= =?UTF-8?q?=20=20skin=20as=20the=20current=20one.=20This=20doesn't=20modif?= =?UTF-8?q?y=20the=20Setup.OSDSkin=20parameter,=20so=20=20=20that=20after?= =?UTF-8?q?=20using=20'skincurses'=20(for=20instance=20for=20debugging)=20?= =?UTF-8?q?the=20previously=20=20=20selected=20skin=20will=20be=20used=20a?= =?UTF-8?q?gain.=20-=20Added=20some=20log=20messages=20when=20setting=20th?= =?UTF-8?q?e=20current=20skin.=20-=20Only=20making=20a=20second=20attempt?= =?UTF-8?q?=20to=20set=20the=20current=20skin=20at=20startup=20if=20the=20?= =?UTF-8?q?first=20=20=20attempt=20has=20failed.=20-=20Now=20switching=20t?= =?UTF-8?q?o=20non-VPS=20timers'=20channels=2060=20seconds=20before=20the?= =?UTF-8?q?=20timer=20starts=20=20=20(if=20a=20free=20device=20is=20availa?= =?UTF-8?q?ble),=20to=20allow=20for=20the=20updating=20of=20EPG=20data=20a?= =?UTF-8?q?nd=20CA=20=20=20descriptors=20before=20the=20actual=20recording?= =?UTF-8?q?=20starts.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libsi/descriptor.c | 29 +++++++++++++++++++++-------- libsi/descriptor.h | 24 +++++++++++++++++------- libsi/headers.h | 13 +++++++++---- 3 files changed, 47 insertions(+), 19 deletions(-) (limited to 'libsi') diff --git a/libsi/descriptor.c b/libsi/descriptor.c index 57a9248..1654a33 100644 --- a/libsi/descriptor.c +++ b/libsi/descriptor.c @@ -6,7 +6,7 @@ * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * - * $Id: descriptor.c 1.20 2006/04/17 12:19:15 kls Exp $ + * $Id: descriptor.c 1.21 2006/05/28 14:25:30 kls Exp $ * * ***************************************************************************/ @@ -806,21 +806,34 @@ int PremiereContentTransmissionDescriptor::getServiceId() const { return HILO(s->service_id); } -int PremiereContentTransmissionDescriptor::getMJD() const { +void PremiereContentTransmissionDescriptor::Parse() { + s=data.getData(); + startDayLoop.setData(data+sizeof(descr_premiere_content_transmission), getLength()-sizeof(descr_premiere_content_transmission)); +} + +int PremiereContentTransmissionDescriptor::StartDayEntry::getMJD() const { return HILO(s->mjd); } -void PremiereContentTransmissionDescriptor::Parse() { - s=data.getData(); - startTimeLoop.setData(data+sizeof(descr_premiere_content_transmission), getLength()-sizeof(descr_premiere_content_transmission)); +int PremiereContentTransmissionDescriptor::StartDayEntry::getLoopLength() const { + return s->start_time_loop; +} + +int PremiereContentTransmissionDescriptor::StartDayEntry::getLength() { + return sizeof(item_premiere_content_transmission_day)+getLoopLength(); +} + +void PremiereContentTransmissionDescriptor::StartDayEntry::Parse() { + s=data.getData(); + startTimeLoop.setData(data+sizeof(item_premiere_content_transmission_day), getLoopLength()); } -time_t PremiereContentTransmissionDescriptor::StartTimeEntry::getStartTime(int mjd) const { +time_t PremiereContentTransmissionDescriptor::StartDayEntry::StartTimeEntry::getStartTime(int mjd) const { return DVBTime::getTime(mjd >> 8, mjd & 0xff, s->start_time_h, s->start_time_m, s->start_time_s); } -void PremiereContentTransmissionDescriptor::StartTimeEntry::Parse() { - s=data.getData(); +void PremiereContentTransmissionDescriptor::StartDayEntry::StartTimeEntry::Parse() { + s=data.getData(); } void ApplicationSignallingDescriptor::Parse() { diff --git a/libsi/descriptor.h b/libsi/descriptor.h index 338a1fd..c0c884f 100644 --- a/libsi/descriptor.h +++ b/libsi/descriptor.h @@ -6,7 +6,7 @@ * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * - * $Id: descriptor.h 1.14 2006/04/14 10:53:44 kls Exp $ + * $Id: descriptor.h 1.15 2006/05/28 14:25:30 kls Exp $ * * ***************************************************************************/ @@ -490,20 +490,30 @@ private: class PremiereContentTransmissionDescriptor : public Descriptor { public: - class StartTimeEntry : public LoopElement { + class StartDayEntry : public LoopElement { public: - virtual int getLength() { return sizeof(item_premiere_content_transmission_reference); } - time_t getStartTime(int mjd) const; //UTC + class StartTimeEntry : public LoopElement { + public: + virtual int getLength() { return sizeof(item_premiere_content_transmission_time); } + time_t getStartTime(int mjd) const; //UTC + protected: + virtual void Parse(); + private: + const item_premiere_content_transmission_time *s; + }; + StructureLoop startTimeLoop; + virtual int getLength(); + int getMJD() const; + int getLoopLength() const; protected: virtual void Parse(); private: - const item_premiere_content_transmission_reference *s; + const item_premiere_content_transmission_day *s; }; - StructureLoop startTimeLoop; + StructureLoop startDayLoop; int getOriginalNetworkId() const; int getTransportStreamId() const; int getServiceId() const; - int getMJD() const; protected: virtual void Parse(); private: diff --git a/libsi/headers.h b/libsi/headers.h index a238ca6..afa3106 100644 --- a/libsi/headers.h +++ b/libsi/headers.h @@ -10,7 +10,7 @@ * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * - * $Id: headers.h 1.6 2006/04/14 10:53:44 kls Exp $ + * $Id: headers.h 1.7 2006/05/28 14:25:30 kls Exp $ * * ***************************************************************************/ @@ -1790,7 +1790,7 @@ struct descr_application_icons_descriptor_end { // 0xF2 Content Transmission Descriptor // http://dvbsnoop.sourceforge.net/examples/example-private-section.html -#define DESCR_PREMIERE_CONTENT_TRANSMISSION_LEN 11 +#define DESCR_PREMIERE_CONTENT_TRANSMISSION_LEN 8 struct descr_premiere_content_transmission { u_char descriptor_tag :8; @@ -1801,14 +1801,19 @@ struct descr_premiere_content_transmission { u_char original_network_id_lo :8; u_char service_id_hi :8; u_char service_id_lo :8; +}; + +#define ITEM_PREMIERE_CONTENT_TRANSMISSION_DAY_LEN 3 + +struct item_premiere_content_transmission_day { u_char mjd_hi :8; u_char mjd_lo :8; u_char start_time_loop :8; }; -#define ITEM_PREMIERE_CONTENT_TRANSMISSION_LEN 3 +#define ITEM_PREMIERE_CONTENT_TRANSMISSION_TIME_LEN 3 -struct item_premiere_content_transmission_reference { +struct item_premiere_content_transmission_time { u_char start_time_h :8; u_char start_time_m :8; u_char start_time_s :8; -- cgit v1.2.3