Piccola precisazione, la extensionpatch, contiene codice per adattare vdr plainvanilla all'utilizzo di alcuni plugghi che necessitano per il loro funzionamento di modificare vdr.
In questo caso invece la situazione e' opposta, il pluggo deve essere patchato per funzionare con vdr...
Prova questa patch, a me cosi il pluggo si compila ma non e' testato il funzionamento (se ci sono problemi dovrebbero manifestarsi utilizzando la funzionalita' di scansione canali interna al pluggo..).
Codice: Seleziona tutto
diff -u /root/rotor-0.1.4/filter.c ./rotor/filter.c
--- /root/rotor-0.1.4/filter.c2007-10-14 11:37:13.000000000 +0200
+++ ./rotor/filter.c2008-03-23 17:13:17.000000000 +0100
@@ -368,7 +368,9 @@
int Ppid = pmt.getPCRPid();
int Apids[MAXAPIDS + 1] = { 0 };
int Dpids[MAXDPIDS + 1] = { 0 };
+ int Spids[MAXDPIDS + 1] = { 0 };
#if VDRVERSNUM >= 10332
+ char SLangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" };
char ALangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" };
char DLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
#else
@@ -448,7 +450,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));
}
Only in /root/rotor-0.1.4: i18n.o
diff -u /root/rotor-0.1.4/menu.c ./rotor/menu.c
--- /root/rotor-0.1.4/menu.c2007-10-14 11:37:12.000000000 +0200
+++ ./rotor/menu.c2008-03-24 09:12:05.000000000 +0100
@@ -406,6 +406,11 @@
channel->SetId(Channel[Num].Nid(),Channel[Num].Tid(),Channel[Num].Sid(),channel->Rid());
int Apids[MAXAPIDS + 1] = { 0 };
int Dpids[MAXDPIDS + 1] = { 0 };
+
+#if VDRVERSNUM>=10600
+ int Spids[MAXDPIDS + 1] = { 0 };
+ char SLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
+#endif
#if VDRVERSNUM>=10332
char ALangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" };
char DLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
@@ -414,6 +419,15 @@
char DLangs[MAXDPIDS + 1][4] = { "" };
#endif
int CaIds[MAXCAIDS+1] = { 0 };
+
+#if VDRVERSNUM>=10600
+ for (int i=0; i<=MAXDPIDS; i++)
+ {
+ Spids[i]=Channel[Num].Spid(i);
+ strcpy(SLangs[i],Channel[Num].Slang(i));
+ }
+#endif
+
for (int i=0; i<=MAXAPIDS; i++)
{
Apids[i]=Channel[Num].Apid(i);
@@ -426,7 +440,11 @@
}
for (int i=0; i<=MAXCAIDS; i++)
CaIds[i]=Channel[Num].Ca(i);
+#if VDRVERSNUM>=10600
+ channel->SetPids(Channel[Num].Vpid(),Channel[Num].Ppid(),Apids,ALangs,Dpids,DLangs,Spids,SLangs,Channel[Num].Tpid());
+#else
channel->SetPids(Channel[Num].Vpid(),Channel[Num].Ppid(),Apids,ALangs,Dpids,DLangs,Channel[Num].Tpid());
+#endif
channel->SetCaIds(CaIds);
}
else
@@ -455,16 +473,18 @@
num++;
}
-#if VDRVERSNUM>=10332
-void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int Tpid)
-#else
+#if VDRVERSNUM>=10600
+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)
+#elif VDRVERNUM<=10331
void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char ALangs[][4], int *Dpids, char DLangs[][4], int Tpid)
+#else
+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)
#endif
{
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 -u /root/rotor-0.1.4/menu.h ./rotor/menu.h
--- /root/rotor-0.1.4/menu.h2007-10-14 11:37:12.000000000 +0200
+++ ./rotor/menu.h2008-03-23 17:10:36.000000000 +0100
@@ -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);
Common subdirectories: /root/rotor-0.1.4/patches and ./rotor/patches
Common subdirectories: /root/rotor-0.1.4/po and ./rotor/po