Habe mal in der Funkiton cDevice::AddPid Logging eingebaut und mir ist folgendes aufgefallen:
Beim Schalten auf "Das Erste" bekomme ich folgende Ausgabe:
Code
Feb 11 13:54:40 server vdr: [26796] AddPid 5101 5 0
Feb 11 13:54:40 server vdr: [26796] AddPid 5102 5 0
Feb 11 13:54:40 server vdr: [26796] AddPid 5103 5 0
Feb 11 13:54:40 server vdr: [26796] AddPid 5107 5 0
Feb 11 13:54:40 server vdr: [26796] AddPid 5106 5 0
Feb 11 13:54:40 server vdr: [26796] AddPid 5105 5 0
Sämtliche Pids werden als ptOther (=5) hinzugefügt, anstatt z.B. AddPid(5101, ptVideo, ?) oder AddPid(5102, ptAudio, ?)
In der channel.conf steht doch welche pid für was ist:
Code
Das Erste HD;ARD:11493:HC23M5O35P0S1:S19.2E:22000:5101=27:5102=deu@3,5103=mis@3,5107=qks@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0
Im vtuner erkenne ich die ja auch:
Code
pid tab : 5100-PMT* 16-NIT* 17-SDT* 0-PAT* 20-TOT* 18-EIT* 5105-SUB* 5106-AC3* 5107-AUD0* 5103-AUD0* 5102-AUD0* 5101-VID0* (len=12)
Wie soll sowas funktionieren wenn ptAudio und ptVideo nie gesetzt werden? Prüfung nur auf Replaying?
Code
bool cDevice::HasProgramme(void) const
{
cMutexLock MutexLock(&mutexChannel); // to avoid a race between SVDRP CHAN and HasProgramme()
return Replaying() || pidHandles[ptAudio].pid || pidHandles[ptVideo].pid;
}
Wird ePidType überhaupt verwendet?