summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Bornkessel <hd_brummy@gentoo.org>2015-10-25 19:57:36 +0100
committerJoerg Bornkessel <hd_brummy@gentoo.org>2015-10-25 19:57:36 +0100
commitd03ebc3e360c945960c21513506f1bc102ee140d (patch)
treeeaffa57bb8f6cf55c5a4c43a44df5ea11b43f193 /media-plugins/vdr-zappilot
parentsys-kernel/hardened-sources: version bump to 4.2.4-r1 (diff)
downloadgentoo-d03ebc3e360c945960c21513506f1bc102ee140d.tar.gz
gentoo-d03ebc3e360c945960c21513506f1bc102ee140d.tar.bz2
gentoo-d03ebc3e360c945960c21513506f1bc102ee140d.zip
compilefix >=vdr-2.3.1
Package-Manager: portage-2.2.23
Diffstat (limited to 'media-plugins/vdr-zappilot')
-rw-r--r--media-plugins/vdr-zappilot/files/vdr-zappilot-0.0.5_vdr-2.3.1.patch281
-rw-r--r--media-plugins/vdr-zappilot/vdr-zappilot-0.0.5-r1.ebuild29
2 files changed, 310 insertions, 0 deletions
diff --git a/media-plugins/vdr-zappilot/files/vdr-zappilot-0.0.5_vdr-2.3.1.patch b/media-plugins/vdr-zappilot/files/vdr-zappilot-0.0.5_vdr-2.3.1.patch
new file mode 100644
index 000000000000..4a6c4e25b68d
--- /dev/null
+++ b/media-plugins/vdr-zappilot/files/vdr-zappilot-0.0.5_vdr-2.3.1.patch
@@ -0,0 +1,281 @@
+compile fix >=vdr-2.3.1
+http://www.vdr-portal.de/board1-news/board2-vdr-news/p1254875-announce-vdr-developer-version-2-3-1/#post1254875
+Signed-of-by: Joerg Bornkessel <hd_brummy@gentoo.org> (25 Okt 2015)
+
+diff -rupN b/zappilotosd.c a/zappilotosd.c
+--- b/zappilotosd.c 2015-06-24 14:32:15.000000000 +0200
++++ a/zappilotosd.c 2015-10-22 18:39:36.000000000 +0200
+@@ -69,7 +69,7 @@ cZappilotOsd::~cZappilotOsd(void)
+
+ void cZappilotOsd::DisplayChannel(const cChannel *Channel)
+ {
+- int BufSize = 255;
++ int BufSize = 1020;
+ if (Channel)
+ {
+ if (Channel->GroupSep())
+@@ -172,11 +172,11 @@ void cZappilotOsd::UpdateEPGInfo(int Now
+ titleFollowingInfo = NULL;
+ subtitlePresentInfo = NULL;
+ subtitleFollowingInfo = NULL;
+- cSchedulesLock SchedulesLock;
+- const cSchedules *Schedules = cSchedules::Schedules(SchedulesLock);
++ LOCK_SCHEDULES_READ;
++ LOCK_CHANNELS_READ;
+ if (Schedules)
+ {
+- const cSchedule *Schedule = Schedules->GetSchedule(Channels.GetByNumber(PilotChannelNumber)->GetChannelID());
++ const cSchedule *Schedule = Schedules->GetSchedule(Channels->GetByNumber(PilotChannelNumber)->GetChannelID());
+ if (Schedule)
+ {
+ // Get Present event
+@@ -267,9 +267,9 @@ void cZappilotOsd::UpdateEPGInfo(int Now
+ void cZappilotOsd::Show()
+ {
+ // find the actual current
+- cChannel *Channel = Channels.GetByNumber(cDevice::PrimaryDevice()->CurrentChannel());
+- currentChannel = Channels.GetByNumber(cDevice::PrimaryDevice()->CurrentChannel());
+-
++ LOCK_CHANNELS_READ;
++ const cChannel *Channel = Channels->GetByNumber(cDevice::PrimaryDevice()->CurrentChannel());
++ currentChannel = Channel;
+ if (Channel)
+ {
+ PilotChannelNumber = Channel->Number();
+@@ -333,13 +333,14 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ case k1 ... k9:
+ if (number >= 0)
+ {
+- if (number > Channels.MaxNumber())
++ LOCK_CHANNELS_READ;
++ if (number > Channels->MaxNumber())
+ number = Key - k0;
+ else
+ number = number * 10 + Key - k0;
+ if (number > 0)
+ {
+- cChannel *channel = Channels.GetByNumber(number);
++ const cChannel *channel = Channels->GetByNumber(number);
+ if (channel)
+ {
+ PilotChannelNumber = channel->Number();
+@@ -363,7 +364,8 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ if (config.fastbrowse)
+ {
+ CursorDown();
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+ group = channel->Index()-1;
+ break;
+@@ -380,7 +382,8 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ if (config.fastbrowse)
+ {
+ CursorUp();
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+ group = channel->Index()-1;
+ break;
+@@ -396,7 +399,8 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ {
+ if (group < 0)
+ {
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+ group = channel->Index();
+ }
+@@ -405,15 +409,18 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ int SaveGroup = group;
+ if (NORMALKEY(Key) == kRight)
+ {
+- group = Channels.GetNextGroup(group);
++ LOCK_CHANNELS_READ;
++ group = Channels->GetNextGroup(group);
+ }
+ else
+ {
+- group = Channels.GetPrevGroup(group < 1 ? 1 : group);
++ LOCK_CHANNELS_READ;
++ group = Channels->GetPrevGroup(group < 1 ? 1 : group);
+ }
+ if (group < 0)
+ group = SaveGroup;
+- cChannel *channel = Channels.Get(group);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->Get(group);
+ if (channel)
+ {
+ //DisplayChannel(channel);
+@@ -449,7 +456,8 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ else
+ {
+ CursorUp();
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+ group = channel->Index()-1;
+ break;
+@@ -466,20 +474,22 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ else
+ {
+ CursorDown();
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+- group = channel->Index()-1;
++ group = channel->Index()-1;
+ break;
+ }
+ case kNone:
+ if (number && (int)cTimeMs::Now() - lastTime > 1000)
+ {
+- if (Channels.GetByNumber(number))
++ LOCK_CHANNELS_READ;
++ if (Channels->GetByNumber(number))
+ {
+ PilotChannelNumber = number;
+ lastTime = cTimeMs::Now();
+ number = 0;
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+ group = channel->Index()-1;
+ }
+@@ -553,7 +563,8 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ {
+ if (group < 0)
+ {
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+ if (channel)
+ group = channel->Index();
+ }
+@@ -562,15 +573,18 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ int SaveGroup = group;
+ if (NORMALKEY(Key) == kBlue)
+ {
+- group = Channels.GetNextGroup(group);
++ LOCK_CHANNELS_READ;
++ group = Channels->GetNextGroup(group);
+ }
+ else
+ {
+- group = Channels.GetPrevGroup(group < 1 ? 1 : group);
++ LOCK_CHANNELS_READ;
++ group = Channels->GetPrevGroup(group < 1 ? 1 : group);
+ }
+ if (group < 0)
+ group = SaveGroup;
+- cChannel *channel = Channels.Get(group);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->Get(group);
+ if (channel)
+ {
+ //DisplayChannel(channel);
+@@ -663,8 +677,8 @@ eOSState cZappilotOsd::ProcessKey(eKeys
+ void cZappilotOsd::CursorUp()
+ {
+ int n = PilotChannelNumber + 1;
+- cChannel *channel;
+- channel = Channels.GetByNumber(n, 1);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(n, 1);
+ if (channel)
+ {
+ n = channel->Number();
+@@ -678,8 +692,8 @@ void cZappilotOsd::CursorUp()
+ void cZappilotOsd::CursorDown()
+ {
+ int n = PilotChannelNumber - 1;
+- cChannel *channel;
+- channel = Channels.GetByNumber(n, -1);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(n, -1);
+ if (channel)
+ {
+ n = channel->Number();
+@@ -693,9 +707,13 @@ void cZappilotOsd::CursorDown()
+ void cZappilotOsd::CursorOK()
+ {
+ DrawMenu(0,2);
+- if (currentChannel != Channels.GetByNumber(PilotChannelNumber))
++ LOCK_CHANNELS_READ;
++ const cChannel* chan = Channels->GetByNumber(PilotChannelNumber);
++
++ if (currentChannel != chan)
+ {
+- cChannel *Channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *Channel = Channels->GetByNumber(PilotChannelNumber);
+ if (Channel)
+ {
+ cDevice::PrimaryDevice()->SwitchChannel(Channel, true);
+@@ -750,7 +768,8 @@ void cZappilotOsd::DisplayInfo(int delta
+ displayTimer = NULL;
+ displayChannel = Skins.Current()->DisplayChannel(true);
+ }
+- cChannel *channel = Channels.GetByNumber(PilotChannelNumber);
++ LOCK_CHANNELS_READ;
++ const cChannel *channel = Channels->GetByNumber(PilotChannelNumber);
+
+ if (!isempty(titlePresentInfo))
+ {
+@@ -778,14 +797,17 @@ void cZappilotOsd::DisplayExtraInfo()
+ displayEvent = NULL;
+ }
+
+- displayEvent = new cMenuEvent(Present,false,true);
++
++ LOCK_TIMERS_READ;
++ LOCK_CHANNELS_READ;
++ displayEvent = new cMenuEvent(Timers, Channels, Present,false,true);
+ displayEvent->Display();
+ }
+
+
+ void cZappilotOsd::DisplayTimer()
+ {
+-
++
+ if (displayChannel)
+ {
+ delete displayChannel;
+@@ -797,13 +819,17 @@ void cZappilotOsd::DisplayTimer()
+ displayEvent = NULL;
+ }
+
++ LOCK_TIMERS_WRITE;
++
+ cTimer *timer = new cTimer(Present);
+- cTimer *t = Timers.GetTimer(timer);
++ cTimer *t = Timers->GetMatch(Present);
++
+ if (t)
+ {
+ delete timer;
+ timer = t;
+ }
++
+ displayTimer=new cMenuEditTimer(timer, !t);
+ displayTimer->Display();
+ }
+diff -rupN b/zappilotosd.h a/zappilotosd.h
+--- b/zappilotosd.h 2015-06-24 14:32:15.000000000 +0200
++++ a/zappilotosd.h 2015-10-22 18:40:02.000000000 +0200
+@@ -39,7 +39,7 @@ class cZappilotOsd : public cOsdObject
+ int offset;
+ int lines;
+ int type;
+- cChannel* currentChannel;
++ const cChannel* currentChannel;
+
+ public:
+ cZappilotOsd(void);
diff --git a/media-plugins/vdr-zappilot/vdr-zappilot-0.0.5-r1.ebuild b/media-plugins/vdr-zappilot/vdr-zappilot-0.0.5-r1.ebuild
new file mode 100644
index 000000000000..3101904228a4
--- /dev/null
+++ b/media-plugins/vdr-zappilot/vdr-zappilot-0.0.5-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit vdr-plugin-2
+
+VERSION="1318" # every bump new version
+
+DESCRIPTION="VDR Plugin: browse fast the EPG information without being forced to switch to a channel"
+HOMEPAGE="http://projects.vdr-developer.org/projects/show/plg-zappilot"
+SRC_URI="mirror://vdr-developerorg/${VERSION}/${P}.tgz"
+
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+LICENSE="GPL-2"
+IUSE=""
+
+DEPEND=">=media-video/vdr-1.7.34"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ vdr-plugin-2_src_prepare
+
+ if has_version ">=media-video/vdr-2.3.1"; then
+ epatch "${FILESDIR}/${P}_vdr-2.3.1.patch"
+ fi
+}