@@ -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));
}
@@ -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);
}
}
@@ -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);