media-plugins/vdr-ttxtsubs: compile for >media-tv/vdr-2.4 fixed
authorJoerg Bornkessel <hd_brummy@gentoo.org>
Sun, 1 Mar 2020 19:00:42 +0000 (20:00 +0100)
committerJoerg Bornkessel <hd_brummy@gentoo.org>
Sun, 1 Mar 2020 19:00:42 +0000 (20:00 +0100)
Package-Manager: Portage-2.3.90, Repoman-2.3.20
Signed-off-by: Joerg Bornkessel <hd_brummy@gentoo.org>
media-plugins/vdr-ttxtsubs/files/vdr-ttxtsubs-0.3.0_vdr-2.4.0.patch [new file with mode: 0644]
media-plugins/vdr-ttxtsubs/vdr-ttxtsubs-0.3.0-r2.ebuild [moved from media-plugins/vdr-ttxtsubs/vdr-ttxtsubs-0.3.0-r1.ebuild with 86% similarity]

diff --git a/media-plugins/vdr-ttxtsubs/files/vdr-ttxtsubs-0.3.0_vdr-2.4.0.patch b/media-plugins/vdr-ttxtsubs/files/vdr-ttxtsubs-0.3.0_vdr-2.4.0.patch
new file mode 100644 (file)
index 0000000..4b6bf2c
--- /dev/null
@@ -0,0 +1,109 @@
+diff --git a/ttxtsubs.c b/ttxtsubs.c
+index f9b7bbc..5307c44 100644
+--- a/ttxtsubs.c
++++ b/ttxtsubs.c
+@@ -275,7 +275,8 @@ void cPluginTtxtsubs::Housekeeping(void)
+ const char *cPluginTtxtsubs::MainMenuEntry(void)
+ {
+-  bool haveChannel = Channels.GetByNumber(cDevice::ActualDevice()->CurrentChannel()) != NULL;
++  LOCK_CHANNELS_READ;
++  bool haveChannel = Channels->GetByNumber(cDevice::ActualDevice()->CurrentChannel()) != NULL;
+   switch(globals.mMainMenuEntry) {
+   case 1:
+     if(globals.mRealDoDisplay)
+@@ -349,7 +350,8 @@ void cPluginTtxtsubs::ChannelSwitch(const cDevice *Device, int ChannelNumber
+     DELETENULL(mLiveReceiver);
+     if (!Device->Replaying() && !Device->Transferring())
+     {
+-      cChannel* channel = Channels.GetByNumber(ChannelNumber);
++      LOCK_CHANNELS_READ;
++      const cChannel* channel = Channels->GetByNumber(ChannelNumber);
+       if (channel && channel->Tpid())
+       {
+         mLiveReceiver = new cTtxtSubsLiveReceiver(channel, this);
+diff --git a/ttxtsubschannelsettings.c b/ttxtsubschannelsettings.c
+index b543a36..7f9d326 100644
+--- a/ttxtsubschannelsettings.c
++++ b/ttxtsubschannelsettings.c
+@@ -48,8 +48,9 @@ bool cTtxtSubsChannelSetting::Parse(const char *s)
+       }
+       else { // parse old format
+         int sid;
++        LOCK_CHANNELS_READ;
+         if (1 == sscanf(buffer, "%d", &sid)) {
+-          for (cChannel *ch = Channels.First(); ch; ch = Channels.Next(ch)) {
++          for (const cChannel *ch = Channels->First(); ch; ch = Channels->Next(ch)) {
+             if (!ch->GroupSep() && ch->Sid() == sid) {
+               channelid=ch->GetChannelID();
+               pagemode=PageMode;
+diff --git a/ttxtsubslivereceiver.c b/ttxtsubslivereceiver.c
+index 9f60fdd..586d5af 100644
+--- a/ttxtsubslivereceiver.c
++++ b/ttxtsubslivereceiver.c
+@@ -22,7 +22,7 @@
+ #include <vdr/remux.h>
+ #include "ttxtsubslivereceiver.h"
+-cTtxtSubsLiveReceiver::cTtxtSubsLiveReceiver(cChannel* channel, cVDRTtxtsubsHookListener* hook)
++cTtxtSubsLiveReceiver::cTtxtSubsLiveReceiver(const cChannel* channel, cVDRTtxtsubsHookListener* hook)
+   :
+   _channel(channel),
+   _hook(hook)
+@@ -35,7 +35,7 @@ cTtxtSubsLiveReceiver::~cTtxtSubsLiveReceiver()
+   cReceiver::Detach();
+ }
+-void cTtxtSubsLiveReceiver::Receive(uchar *Data, int Length)
++void cTtxtSubsLiveReceiver::Receive(const uchar *Data, int Length)
+ {
+   if (Data == NULL)
+   {
+diff --git a/ttxtsubslivereceiver.h b/ttxtsubslivereceiver.h
+index d361c7b..0aba89b 100644
+--- a/ttxtsubslivereceiver.h
++++ b/ttxtsubslivereceiver.h
+@@ -29,12 +29,12 @@ class cTtxtSubsLiveReceiver : public cReceiver
+ {
+     private:
+       cTsToPes tsToPesTeletext;
+-      cChannel* _channel;
++      const cChannel* _channel;
+       cVDRTtxtsubsHookListener* _hook;
+     protected:
+-        virtual void Receive(uchar *Data, int Length);
++        virtual void Receive(const uchar *Data, int Length);
+     public:
+-        cTtxtSubsLiveReceiver(cChannel* channel, cVDRTtxtsubsHookListener* hook);
++        cTtxtSubsLiveReceiver(const cChannel* channel, cVDRTtxtsubsHookListener* hook);
+         virtual ~cTtxtSubsLiveReceiver();
+ };
+diff --git a/ttxtsubspagemenu.c b/ttxtsubspagemenu.c
+index cd7b6d0..b03949c 100644
+--- a/ttxtsubspagemenu.c
++++ b/ttxtsubspagemenu.c
+@@ -35,8 +35,9 @@ cTtxtsubsPageMenu::~cTtxtsubsPageMenu()
+ cTtxtsubsPageMenu::cTtxtsubsPageMenu()
+   :cOsdMenu(tr("Subtitle Page Settings"), 30)
+ {
++    LOCK_CHANNELS_READ;
+     cDevice *device = cDevice::ActualDevice();
+-    channel = Channels.GetByNumber(device->CurrentChannel());
++    channel = Channels->GetByNumber(device->CurrentChannel());
+     setting = TtxtSubsChannelSettings.Get(channel);
+     if (setting) {
+        origPageMode = mPageMode = setting->PageMode();
+diff --git a/ttxtsubspagemenu.h b/ttxtsubspagemenu.h
+index ad4bd48..ffe82d9 100644
+--- a/ttxtsubspagemenu.h
++++ b/ttxtsubspagemenu.h
+@@ -29,7 +29,7 @@
+ class cTtxtsubsPageMenu : public cOsdMenu 
+ {
+     private:
+-        cChannel *channel;
++        const cChannel *channel;
+         cTtxtSubsChannelSetting *setting;
+         int mPageNumber;
+         int mPageMode;
similarity index 86%
rename from media-plugins/vdr-ttxtsubs/vdr-ttxtsubs-0.3.0-r1.ebuild
rename to media-plugins/vdr-ttxtsubs/vdr-ttxtsubs-0.3.0-r2.ebuild
index 9fe2f3ec6aa184439024cce3b019e66daf7975a4..5243d459cc006e87b3cd1cb44565fc7d359bc756 100644 (file)
@@ -23,4 +23,8 @@ src_prepare() {
        vdr-plugin-2_src_prepare
 
        eapply "${FILESDIR}/${P}_teletext-chars.patch"
+
+       if has_version ">=media-video/vdr-2.4"; then
+               eapply "${FILESDIR}/${P}_vdr-2.4.0.patch"
+       fi
 }