Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
On 07/09/12 22:30, Klaus Schmidinger wrote: On 09.07.2012 19:06, Carsten Koch wrote: but I noticed that the LCARS skin sometimes fails to show the recording name in the progress display (the one that shows up when you press OK during playback). I don't think this is related, because these are totally different code areas. Is this problem reproducible? Not really. I was hoping it might be related to the recording name (length or content), but when the problem occured again, I stopped and re-started the playback and then the name display was OK. Carsten. ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
> On 09.07.2012 18:57, Joerg Bornkessel wrote: >> >>> VDR developer version 1.7.28 is now available at >> . >>> "LCARS" is the new default skin of VDR. It requires at least a 4bpp (16 >>> color) full >>> screen OSD, but you can still operate it if your OSD can handle only >>> fewer colors >>> (in which case you may want to switch to the "ST:TNG" or "Classic VDR" >>> skin). >> >> * QA Notice: Package triggers severe warnings which indicate that it >> *may exhibit random runtime failures. >> * skinlcars.c:518:39: warning: passing NULL to non-pointer argument 2 of >> ‘cString ChannelString(const cChannel*, int)’ [-Wconversion-null] >> >> on compile with gcc-4.7.1 > This has already been reported (I assume by someone on vdr-portal.de, because > I don't > have a name associated with this fix ;-). oops, didn't read it, leaved before; to much blabla about the lcars scin ;) anyway, works with you fix -- Regards Gentoo Developer Joerg Bornkessel ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
On 09.07.2012 19:06, Carsten Koch wrote: On 07/09/12 18:57, Joerg Bornkessel wrote: "LCARS" is the new default skin of VDR. It requires at least a 4bpp (16 color) full screen OSD, but you can still operate it if your OSD can handle only fewer colors (in which case you may want to switch to the "ST:TNG" or "Classic VDR" skin). * QA Notice: Package triggers severe warnings which indicate that it * may exhibit random runtime failures. * skinlcars.c:518:39: warning: passing NULL to non-pointer argument 2 of ‘cString ChannelString(const cChannel*, int)’ [-Wconversion-null] I do not know if that is related, but I noticed that the LCARS skin sometimes fails to show the recording name in the progress display (the one thet shows up when you press OK during playback). I don't think this is related, because these are totally different code areas. Is this problem reproducible? Klaus ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
On 09.07.2012 18:57, Joerg Bornkessel wrote: VDR developer version 1.7.28 is now available at . "LCARS" is the new default skin of VDR. It requires at least a 4bpp (16 color) full screen OSD, but you can still operate it if your OSD can handle only fewer colors (in which case you may want to switch to the "ST:TNG" or "Classic VDR" skin). * QA Notice: Package triggers severe warnings which indicate that it *may exhibit random runtime failures. * skinlcars.c:518:39: warning: passing NULL to non-pointer argument 2 of ‘cString ChannelString(const cChannel*, int)’ [-Wconversion-null] on compile with gcc-4.7.1 This has already been reported (I assume by someone on vdr-portal.de, because I don't have a name associated with this fix ;-). --- skinlcars.c 2012/06/04 08:53:57 2.5 +++ skinlcars.c 2012/06/04 09:35:43 2.6 @@ -515,7 +515,7 @@ else if (Number) ChNumber = cString::sprintf("%d-", Number); else - ChName = ChannelString(NULL, NULL); + ChName = ChannelString(NULL, 0); osd->DrawText(xc00, yc00, ChNumber, Theme.Color(clrChannelFrameFg), frameColor, tallFont, xc02 - xc00, yc02 - yc00, taTop | taRight | taBorder); osd->DrawText(xc03, yc00, ChName, Theme.Color(clrChannelName), Theme.Color(clrBackground), tallFont, xi - xc03 - lineHeight, 0, taTop | taLeft); lastSignalDisplay = 0; Klaus ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
On 07/09/12 18:57, Joerg Bornkessel wrote: "LCARS" is the new default skin of VDR. It requires at least a 4bpp (16 color) full screen OSD, but you can still operate it if your OSD can handle only fewer colors (in which case you may want to switch to the "ST:TNG" or "Classic VDR" skin). * QA Notice: Package triggers severe warnings which indicate that it *may exhibit random runtime failures. * skinlcars.c:518:39: warning: passing NULL to non-pointer argument 2 of ‘cString ChannelString(const cChannel*, int)’ [-Wconversion-null] I do not know if that is related, but I noticed that the LCARS skin sometimes fails to show the recording name in the progress display (the one thet shows up when you press OK during playback). Carsten. ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
> VDR developer version 1.7.28 is now available at . >"LCARS" is the new default skin of VDR. It requires at least a 4bpp (16 > color) full >screen OSD, but you can still operate it if your OSD can handle only fewer > colors >(in which case you may want to switch to the "ST:TNG" or "Classic VDR" > skin). * QA Notice: Package triggers severe warnings which indicate that it *may exhibit random runtime failures. * skinlcars.c:518:39: warning: passing NULL to non-pointer argument 2 of ‘cString ChannelString(const cChannel*, int)’ [-Wconversion-null] on compile with gcc-4.7.1 -- Regards Gentoo Developer Joerg Bornkessel ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
Hello Am Montag, 4. Juni 2012 schrieb Ville Skyttä: > On 2012-06-04 17:58, Klaus Schmidinger wrote: > > On 04.06.2012 16:51, Ville Skyttä wrote: > >> On 2012-06-03 13:44, Klaus Schmidinger wrote: > >>> - Renamed the function cString::sprintf(const char *fmt, va_list&ap) to > >>> vsprintf(), > >> > >> Hm, I don't see this change actually implemented in the source...? > > > > Are you sure you're looking at the right files? > > I was, and I wasn't :) > > http://git.gekrumbel.de/vdr.git?p=vdr.git;a=commitdiff;h=c80ddbc27b8c7b2a7b > 6ed822330da069d5cd3b68 > > Looks like the gekrumbel.de git tree (which is what I _was_ looking at) > is missing at least this change. It was my fault. Please apologize :) I corrected the wrong commit into that (and the other) git tree. It was late yesterday evening after I came back home and apparently I've been to tired to do it right :) You get a forced update with the next pull. Kind regards Dieter -- Dieter Hametnerdh (plus) vdr (at) gekrumbel (dot) de live plugin developer http://live.vdr-developer.org signature.asc Description: This is a digitally signed message part. ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
On 2012-06-04 17:58, Klaus Schmidinger wrote: > On 04.06.2012 16:51, Ville Skyttä wrote: >> On 2012-06-03 13:44, Klaus Schmidinger wrote: >> >>> - Renamed the function cString::sprintf(const char *fmt, va_list&ap) to >>> vsprintf(), >> >> Hm, I don't see this change actually implemented in the source...? > > Are you sure you're looking at the right files? I was, and I wasn't :) http://git.gekrumbel.de/vdr.git?p=vdr.git;a=commitdiff;h=c80ddbc27b8c7b2a7b6ed822330da069d5cd3b68 Looks like the gekrumbel.de git tree (which is what I _was_ looking at) is missing at least this change. ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
On 04.06.2012 16:51, Ville Skyttä wrote: On 2012-06-03 13:44, Klaus Schmidinger wrote: - Renamed the function cString::sprintf(const char *fmt, va_list&ap) to vsprintf(), Hm, I don't see this change actually implemented in the source...? Are you sure you're looking at the right files? Here's an excerpt from the diff: --- vdr-1.7.27/svdrp.c 2012-03-04 13:05:56.0 +0100 +++ vdr-1.7.28/svdrp.c 2012-05-12 13:55:18.0 +0200 @@ -432,7 +432,7 @@ if (Code != 0) { va_list ap; va_start(ap, fmt); -cString buffer = cString::sprintf(fmt, ap); +cString buffer = cString::vsprintf(fmt, ap); va_end(ap); const char *s = buffer; while (s && *s) { --- vdr-1.7.27/thread.c 2009-04-13 15:50:39.0 +0200 +++ vdr-1.7.28/thread.c 2012-05-08 13:15:57.0 +0200 @@ -239,7 +239,7 @@ if (Description) { va_list ap; va_start(ap, Description); - description = strdup(cString::sprintf(Description, ap)); + description = strdup(cString::vsprintf(Description, ap)); va_end(ap); } } --- vdr-1.7.27/tools.c 2012-02-18 16:30:35.0 +0100 +++ vdr-1.7.28/tools.c 2012-05-12 15:29:20.0 +0200 @@ -958,7 +958,7 @@ return cString(buffer, true); } -cString cString::sprintf(const char *fmt, va_list &ap) +cString cString::vsprintf(const char *fmt, va_list &ap) { char *buffer; if (!fmt || vasprintf(&buffer, fmt, ap) < 0) { --- vdr-1.7.27/tools.h 2012-02-29 11:41:00.0 +0100 +++ vdr-1.7.28/tools.h 2012-05-20 15:58:06.0 +0200 @@ -177,7 +177,7 @@ cString &operator=(const char *String); cString &Truncate(int Index); ///< Truncate the string at the given Index (if Index is < 0 it is counted from the end of the string). static cString sprintf(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); - static cString sprintf(const char *fmt, va_list &ap); + static cString vsprintf(const char *fmt, va_list &ap); }; ssize_t safe_read(int filedes, void *buffer, size_t size); Klaus ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
On 2012-06-03 13:44, Klaus Schmidinger wrote: > - Renamed the function cString::sprintf(const char *fmt, va_list &ap) to > vsprintf(), Hm, I don't see this change actually implemented in the source...? ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28 - supplemental
On 03.06.2012 12:44, Klaus Schmidinger wrote: VDR developer version 1.7.28 is now available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.28.tar.bz2 A 'diff' against the previous version is available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.27-1.7.28.diff ... The changes since version 1.7.27: ... - Added DeleteEvent() to the EPG handler interface, so that an EPG handler can trigger deleting of an event (thanks to Christian Kaiser). This change has shown not to be as useful es expected. It will therefore be revoked in version 1.7.29 and replaced with HandledExternally(). I'm posting the attached patch from Jörg Wendel as a preview of version 1.7.29 to make sure nobody uses the obsolete DeleteEvents() function. Klaus --- ./eit.c 2012/06/02 14:05:22 2.17 +++ ./eit.c 2012/06/04 10:10:11 @@ -45,6 +45,7 @@ return; } + bool handledExternally = EpgHandlers.HandledExternally(channel); cSchedule *pSchedule = (cSchedule *)Schedules->GetSchedule(channel, true); bool Empty = true; @@ -70,7 +71,7 @@ cEvent *newEvent = NULL; cEvent *rEvent = NULL; cEvent *pEvent = (cEvent *)pSchedule->GetEvent(SiEitEvent.getEventId(), StartTime); - if (!pEvent) { + if (!pEvent || handledExternally) { if (OnlyRunningStatus) continue; // If we don't have that event yet, we create a new one. @@ -78,7 +79,8 @@ pEvent = newEvent = new cEvent(SiEitEvent.getEventId()); newEvent->SetStartTime(StartTime); newEvent->SetDuration(Duration); - pSchedule->AddEvent(newEvent); + if (!handledExternally) +pSchedule->AddEvent(newEvent); } else { // We have found an existing event, either through its event ID or its start time. @@ -290,11 +292,8 @@ channel->SetLinkChannels(LinkChannels); Modified = true; EpgHandlers.HandleEvent(pEvent); - - if (EpgHandlers.DeleteEvent(pEvent)) { - pSchedule->DelEvent(pEvent); - pEvent = NULL; - } + if (handledExternally) + delete pEvent; } if (Tid == 0x4E) { if (Empty && getSectionNumber() == 0) --- ./epg.c 2012/06/02 14:08:12 2.14 +++ ./epg.c 2012/06/04 10:06:22 @@ -1331,6 +1331,15 @@ return false; } +bool cEpgHandlers::HandledExternally(const cChannel *Channel) +{ + for (cEpgHandler *eh = First(); eh; eh = Next(eh)) { + if (eh->HandledExternally(Channel)) + return true; + } + return false; +} + void cEpgHandlers::SetEventID(cEvent *Event, tEventID EventID) { for (cEpgHandler *eh = First(); eh; eh = Next(eh)) { @@ -1429,15 +1438,6 @@ } } -bool cEpgHandlers::DeleteEvent(const cEvent *Event) -{ - for (cEpgHandler *eh = First(); eh; eh = Next(eh)) { - if (eh->DeleteEvent(Event)) - return true; - } - return false; -} - void cEpgHandlers::SortSchedule(cSchedule *Schedule) { for (cEpgHandler *eh = First(); eh; eh = Next(eh)) { --- ./epg.h 2012/06/02 14:07:51 2.10 +++ ./epg.h 2012/06/04 10:05:21 @@ -244,6 +244,12 @@ ///< EPG handlers are queried to see if any of them would like to do the ///< complete processing by itself. TableID and Version are from the ///< incoming section data. + virtual bool HandledExternally(const cChannel *Channel) { return false; } + ///< If any EPG handler returns true in this function, it is assumed that + ///< the EPG for the given Channel is handled completely from some external + ///< source. Incoming EIT data is processed as usual, but any new EPG event + ///< will not be added to the respective schedule. It's up to the EPG + ///< handler to take care of this. virtual bool SetEventID(cEvent *Event, tEventID EventID) { return false; } virtual bool SetTitle(cEvent *Event, const char *Title) { return false; } virtual bool SetShortText(cEvent *Event, const char *ShortText) { return false; } @@ -258,9 +264,6 @@ virtual bool HandleEvent(cEvent *Event) { return false; } ///< After all modifications of the Event have been done, the EPG handler ///< can take a final look at it. - virtual bool DeleteEvent(const cEvent *Event) { return false; } - ///< After the complete processing of the Event is finished, an EPG handler - ///< can decide that this Event shall be deleted from its schedule. virtual bool SortSchedule(cSchedule *Schedule) { return false; } ///< Sorts the Schedule after the complete table has been processed. virtual bool DropOutdated(cSchedule *Schedule, time_t SegmentStart, time_t SegmentEnd, uchar TableID, uchar Version) { return false; } @@ -272,6 +275,7 @@ public: bool IgnoreChannel(const cChannel *Channel); bool HandleEitEvent(cSchedule *Schedule, const SI::EIT::Event *EitEvent, uchar TableID, uchar Version); + bool HandledExternally(const cChannel *Channel); void SetEventID(cEvent *Event, tEventID EventID);
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
> stefan@jarada /home/nfs/extra/src/video/DVB/vdr-1.7.28.jarada $ g++ > --version > g++ (Gentoo 4.4.5 p1.3, pie-0.4.5) 4.4.5 why dont you upgrade to latest stable gcc in gentoo gcc-4.5.3-r2 then? -- Regards Gentoo Developer Joerg Bornkessel ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
On 03.06.2012 14:54, Udo Richter wrote: timers.c: In constructor ‘cSortedTimers::cSortedTimers()’: timers.c:832: error: class ‘cSortedTimers’ does not have any field named ‘cVector’ I don't get such an error message here. May be a compiler dependent problem. The attached patch makes it work for me. Patch works for me too, thanks. Stefan Lucke ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
On 03.06.2012 14:54, Udo Richter wrote: timers.c: In constructor ‘cSortedTimers::cSortedTimers()’: timers.c:832: error: class ‘cSortedTimers’ does not have any field named ‘cVector’ I don't get such an error message here. May be a compiler dependent problem. The attached patch makes it work for me. --- a/timers.c 2012-06-03 14:48:59.0 +0200 +++ b/timers.c 2012-06-03 14:49:35.0 +0200 @@ -829,7 +829,7 @@ } cSortedTimers::cSortedTimers(void) -:cVector(Timers.Count()) +:cVector(Timers.Count()) { for (const cTimer *Timer = Timers.First(); Timer; Timer = Timers.Next(Timer)) Append(Timer); Makes sense - I wonder why gcc version 4.5.1 20101208 didn't catch this. @Wolfgang & Stefan: can you confirm that this fixes your problem? Klaus ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
Am Sonntag, 3. Juni 2012, 14:54:56 schrieb Udo Richter: > > > timers.c: In constructor ‘cSortedTimers::cSortedTimers()’: > > > timers.c:832: error: class ‘cSortedTimers’ does not have any field > > > > named > > > > > ‘cVector’ > > > > I don't get such an error message here. > > May be a compiler dependent problem. The attached patch makes it work for > me. compiles with your patch, thanks! server:/usr/local/src/vdr-1.7.28# gcc --version gcc (Debian 4.4.5-8) 4.4.5 -- mit freundlichen Grüssen with my best greetings Wolfgang Rohdewald dipl. Informatik Ing. ETH Rohdewald Systemberatung Karauschenstieg 4 D 21640 Horneburg Tel.: 04163 826 819 Fax: 04163 826 828 Internet: http://www.rohdewald.de ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
On 03.06.2012 14:41, Klaus Schmidinger wrote: On 03.06.2012 14:26, Wolfgang Rohdewald wrote: Am Sonntag, 3. Juni 2012, 12:44:24 schrieb Klaus Schmidinger: VDR developer version 1.7.28 is now available so I untarred the full archive into a new place and copied my old working Make.config timers.c: In constructor ‘cSortedTimers::cSortedTimers()’: timers.c:832: error: class ‘cSortedTimers’ does not have any field named ‘cVector’ I don't get such an error message here. g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DLIRC_DEVICE=\"/var/run/lirc/lircd\" -D_GNU_SOURCE -DVIDEODIR=\"/video\" -DCONFDIR=\"/video\" -DPLUGINDIR=\"./PLUGINS/lib\" -DLOCDIR=\"./locale\" -I/usr/include/freetype2 transfer.c timers.c: In constructor »cSortedTimers::cSortedTimers()«: timers.c:832: Fehler: Klasse »cSortedTimers« hat keinen Feldnamen »cVector« make: *** [timers.o] Fehler 1 make: *** Warte auf noch nicht beendete Prozesse... Same error here :-( . stefan@jarada /home/nfs/extra/src/video/DVB/vdr-1.7.28.jarada $ g++ --version g++ (Gentoo 4.4.5 p1.3, pie-0.4.5) 4.4.5 Copyright (C) 2010 Free Software Foundation, Inc. Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es gibt KEINE Garantie; auch nicht für MARKTGÄNGIGKEIT oder FÜR SPEZIELLE ZWECKE. Stefan Lucke ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
> > timers.c: In constructor ‘cSortedTimers::cSortedTimers()’: > > timers.c:832: error: class ‘cSortedTimers’ does not have any field > named > > ‘cVector’ > > I don't get such an error message here. May be a compiler dependent problem. The attached patch makes it work for me. Cheers, Udo -- NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone! Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a --- a/timers.c 2012-06-03 14:48:59.0 +0200 +++ b/timers.c 2012-06-03 14:49:35.0 +0200 @@ -829,7 +829,7 @@ } cSortedTimers::cSortedTimers(void) -:cVector(Timers.Count()) +:cVector(Timers.Count()) { for (const cTimer *Timer = Timers.First(); Timer; Timer = Timers.Next(Timer)) Append(Timer); ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
On 03.06.2012 14:26, Wolfgang Rohdewald wrote: Am Sonntag, 3. Juni 2012, 12:44:24 schrieb Klaus Schmidinger: VDR developer version 1.7.28 is now available the patch did not apply cleanly, It applies cleanly here to a fresh version 1.7.27 directory. You may need to add '-p1' to the patch call, as in patch -p1 < vdr-1.7.27-1.7.28.diff so I untarred the full archive into a new place and copied my old working Make.config timers.c: In constructor ‘cSortedTimers::cSortedTimers()’: timers.c:832: error: class ‘cSortedTimers’ does not have any field named ‘cVector’ I don't get such an error message here. Klaus ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Re: [vdr] [ANNOUNCE] VDR developer version 1.7.28
Am Sonntag, 3. Juni 2012, 12:44:24 schrieb Klaus Schmidinger: > VDR developer version 1.7.28 is now available the patch did not apply cleanly, so I untarred the full archive into a new place and copied my old working Make.config timers.c: In constructor ‘cSortedTimers::cSortedTimers()’: timers.c:832: error: class ‘cSortedTimers’ does not have any field named ‘cVector’ -- Wolfgang ___ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr