Rotor patch for 1.5.12

Message ID 4782AFEC.5000403@hot.ee
State New
Headers

Commit Message

Arthur Konovalov Jan. 7, 2008, 11:04 p.m. UTC
  serge pecher wrote:
> Did you had to adapt manually the patch, because when i try this patch on
> vdr 1.5.12 everything is rejected ?
> 

Previosly mentioned patch applied to attached version of rotor plugin.
I suspect that I found it in vdr-portal.de

Fresh generated patch attached also.


Regards,
AK
  

Patch

diff -Nur old/filter.c new/filter.c
--- old/filter.c	2006-01-09 22:41:50.000000000 +0200
+++ new/filter.c	2007-10-16 08:21:54.000000000 +0300
@@ -368,12 +368,15 @@ 
         int Ppid = pmt.getPCRPid();
         int Apids[MAXAPIDS + 1] = { 0 };
         int Dpids[MAXDPIDS + 1] = { 0 };
+        int Spids[MAXDPIDS + 1] = { 0 };
 #if VDRVERSNUM >= 10332
         char ALangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" };
         char DLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
+        char SLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
 #else
         char ALangs[MAXAPIDS + 1][4] = { "" };
         char DLangs[MAXDPIDS + 1][4] = { "" };
+        char SLangs[MAXDPIDS + 1][4] = { "" };
 #endif
         int Tpid = 0;
         int NumApids = 0;
@@ -448,7 +451,7 @@ 
                 delete d;
                 }
             }
-        Menu->SetPids(pmt.getServiceId(),Vpid, Vpid ? Ppid : 0, Apids, ALangs, Dpids, DLangs, Tpid);
+        Menu->SetPids(pmt.getServiceId(),Vpid, Vpid ? Ppid : 0, Apids, ALangs, Dpids, DLangs, Spids, SLangs, Tpid);
         Menu->SetCaIds(pmt.getServiceId(),CaDescriptors->CaIds());
         Menu->SetCaDescriptors(pmt.getServiceId(),CaDescriptorHandler.AddCaDescriptors(CaDescriptors));
         }
diff -Nur old/menu.c new/menu.c
--- old/menu.c	2007-07-06 23:52:57.000000000 +0300
+++ new/menu.c	2007-10-16 08:21:54.000000000 +0300
@@ -406,12 +406,15 @@ 
     channel->SetId(Channel[Num].Nid(),Channel[Num].Tid(),Channel[Num].Sid(),channel->Rid());
     int Apids[MAXAPIDS + 1] = { 0 };
     int Dpids[MAXDPIDS + 1] = { 0 };
+    int Spids[MAXDPIDS + 1] = { 0 };
 #if VDRVERSNUM>=10332
     char ALangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" };
     char DLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
+    char SLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
 #else
     char ALangs[MAXAPIDS + 1][4] = { "" };
     char DLangs[MAXDPIDS + 1][4] = { "" };
+    char SLangs[MAXDPIDS + 1][4] = { "" };
 #endif
     int CaIds[MAXCAIDS+1] = { 0 };
     for (int i=0; i<=MAXAPIDS; i++)
@@ -426,7 +429,7 @@ 
     }
     for (int i=0; i<=MAXCAIDS; i++)
       CaIds[i]=Channel[Num].Ca(i);
-    channel->SetPids(Channel[Num].Vpid(),Channel[Num].Ppid(),Apids,ALangs,Dpids,DLangs,Channel[Num].Tpid());
+    channel->SetPids(Channel[Num].Vpid(),Channel[Num].Ppid(),Apids,ALangs,Dpids,DLangs,Spids,SLangs,Channel[Num].Tpid());
     channel->SetCaIds(CaIds);
   }
   else
@@ -456,7 +459,7 @@ 
 }
 
 #if VDRVERSNUM>=10332
-void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int Tpid)
+void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid)
 #else
 void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][4], int *Dpids, char DLangs[][4], int Tpid)
 #endif
@@ -464,7 +467,7 @@ 
   for (int i=0; i<num; i++)
     if (Sid==Channel[i].Sid())
     {
-      Channel[i].SetPids(Vpid,Ppid,Apids,ALangs,Dpids,DLangs,Tpid);
+      Channel[i].SetPids(Vpid,Ppid,Apids,ALangs,Dpids,DLangs,Spids,SLangs,Tpid);
       display(i);
     }
 }
diff -Nur old/menu.h new/menu.h
--- old/menu.h	2007-07-06 23:57:42.000000000 +0300
+++ new/menu.h	2007-10-16 08:21:54.000000000 +0300
@@ -116,7 +116,7 @@ 
   virtual eOSState ProcessKey(eKeys Key);
   void AddChannel(int Num);
   void NewChannel(const cChannel *Transponder, const char *Name, const char *ShortName, const char *Provider, int Nid, int Tid, int Sid);
-  void SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int Tpid);
+  void SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid);
   void SetCaIds(int Sid,const int *CaIds);
   void SetCaDescriptors(int Sid,int Level);
   cChannel* GetChannel(int Sid);