
see you
Moderatori: ragno, tapino, alez, zulu, davidea
Ho riletto tutto il thread...biondo79 ha scritto:se nn sono settati i pid audio e video in chiaro o non il canale non si apre
Codice: Seleziona tutto
In ogni caso, facendo un confronto FREQ+SID, basterebbe mettere il RID >0 per quei canali che hanno tutti i dati, e lasciarlo =0 per quelli che sono da aggiornare
Codice: Seleziona tutto
:[ Top Italia ]
RAI1;RAI:11766:vC23:S13.0E:27500:0:0:0:0:3401:318:5200:0
:[ Generalisti ]
RAI1:11766:vC23:S13.0E:27500:0:0:0:0:3401:318:5200:0
:[ Rai ]
RAI1:11766:vC23:S13.0E:27500:0:0:0:0:3401:318:5200:0
Codice: Seleziona tutto
:[ Top Italia ]
RAI1;RAI:11766:vC23:S13.0E:27500:0:0:0:0:3401:318:5200:0
:[ Generalisti ]
RAI1:11766:vC23:S13.0E:27500:0:0:0:0:3401:318:5200:1
:[ Rai ]
RAI1:11766:vC23:S13.0E:27500:0:0:0:0:3401:318:5200:2
Codice: Seleziona tutto
:[ Generalisti ]
RAI1:11766:vC23:S13.0E:27500:0:0:0:0:3401:318:5200:1
:[ Rai ]
RAI1:11766:vC23:S13.0E:27500:0:0:0:0:3401:318:5200:2
Codice: Seleziona tutto
:[ Top Italia ]
RAI1;RAI:11766:vC23:S13.0E:27500:0:0:0:0:3401:318:5200:0
:[ Generalisti ]
RAI1:11766:vC23:S13.0E:27500:0:0:0:0:3401:318:5200:0
:[ Rai ]
RAI1:11766:vC23:S13.0E:27500:0:0:0:0:3401:318:5200:0
Ok, su PHP nessun problemabiondo79 ha scritto: ma lo script è php ...
Codice: Seleziona tutto
E si potrebbe patchare vdr per aggiornare i pid anche in caso di RID<>0.
Codice: Seleziona tutto
cChannel *Channel = Channels.GetByServiceID(Source(), Transponder(), pmt.getServiceId());
if (Channel) {
Ci darò uno sguardo.. probabilmente il controllo sugli ID serve certamente a qualcosa.. bisogna capire se è posssibile e come assegnare eventualmente un Id diverso al medesimo canale (doppiione) cambiando magari un valore non importante.. e capire se o in che modo un medesimo canale possa creare problemi a chi o cosa eventualmenteragno ha scritto:@biondo79: ho capito il problema...sono di coccio
Non vorrei sbagliarmi ma quando un canale non ha i pids settati l'aggiornamento e' effettuato dal metodo cPatFilter::Process (in pat.c).
Se date un'occhiata poco piu' giu c'e'Ora andando a guardare la Channels.GetByServiceID (in channels.c)Codice: Seleziona tutto
cChannel *Channel = Channels.GetByServiceID(Source(), Transponder(), pmt.getServiceId()); if (Channel) {
l'utilizzo del suffisso hash mi porta a pensare che la lista sia creata non utilizzando il valore del rid. Quindi la ricerca credo venga effettuata solo sul primo canale valido (?!?). Altrimenti basterebbe aggiungere nella if di confronto il test anche sul rid...Se non lo fa probabilmente non viene utilizzato...
Diversamente quando il canale ha i pids validi (per l'epg ad esempio) viene utilizzata la GetByChannelID che usa un parametro proprio per specificare se e' utilizzato il RID.
Per non stare ad impazzire con le strutture interne di vdr, direi che converrebbe sentire Klaus se e' possibile risolvere il problema...
D'altronde se utilizza un ID univoco per ogni canale una ragione c'e'...
saluti
ragno