Hi,
bei mir ergibt sich mit dem Patch auch keine Verbesserung.
Ich habe mal ein "kleines" Video meines Problems erstellt, die Laufzeit von 30s ist real. (Dateigröße 350k)
Was für ein Ausgabedevice verwendest du denn?
Klaus
Hi,
bei mir ergibt sich mit dem Patch auch keine Verbesserung.
Ich habe mal ein "kleines" Video meines Problems erstellt, die Laufzeit von 30s ist real. (Dateigröße 350k)
Was für ein Ausgabedevice verwendest du denn?
Klaus
Ich habe das jetzt mal probiert, das Verhalten hat sich leider nicht geändert.
Kannst du bitte mal folgenden Patch einbauen (zusätzlich zu dem in vdr.c):
--- device.c 2013/02/01 12:00:09 2.71
+++ device.c 2013/02/15 10:14:06
@@ -852,6 +852,11 @@
bool cDevice::HasProgramme(void)
{
+ static time_t LastLog = 0;
+ if (time(NULL) - LastLog > 10) {
+ dsyslog("HasProgramme: %d %d %d", Replaying(), pidHandles[ptAudio].pid, pidHandles[ptVideo].pid);
+ LastLog = time(NULL);
+ }
return Replaying() || pidHandles[ptAudio].pid || pidHandles[ptVideo].pid;
}
Alles anzeigen
und damit das Fehlerszenario nochmal durchspielen?
Bitte dann das Log posten.
Klaus
Folgendes Log hat sich mit den beiden Patches ergeben:
VDR ist auch frisch gestartet.
Feb 15 12:16:14 home-05 vdr: [7260] VDR version 1.7.37 started
Feb 15 12:16:14 home-05 vdr: [7260] switched to user 'root'
Feb 15 12:16:14 home-05 vdr: [7260] codeset is 'UTF-8' - known
.
.
.
Feb 15 12:17:21 home-05 vdr: [7260] HasProgramme: 0 5106 5101
Feb 15 12:17:32 home-05 vdr: [7260] HasProgramme: 0 5106 5101
Feb 15 12:17:43 home-05 vdr: [7260] HasProgramme: 0 5106 5101
Feb 15 12:17:54 home-05 vdr: [7260] HasProgramme: 0 5106 5101
Feb 15 12:18:05 home-05 vdr: [7260] HasProgramme: 0 5106 5101
Feb 15 12:18:16 home-05 vdr: [7260] HasProgramme: 0 5106 5101
Feb 15 12:18:19 home-05 vdr: [7275] channel 4 (ZDF HD) event Fre 15.02.2013 12:10-13:00 (VPS: 15.02. 12:10) 'drehscheibe Deutschland' status 4
Feb 15 12:18:27 home-05 vdr: [7260] HasProgramme: 0 5106 5101
Feb 15 12:18:33 home-05 vdr: [7260] replay /video/video0/Celtic_Woman_-_A_Christmas_Celebration/2012-12-23.22.12.1-0.rec
Feb 15 12:18:33 home-05 vdr: [7260] playing '/video/video0/Celtic_Woman_-_A_Christmas_Celebration/2012-12-23.22.12.1-0.rec/00001.ts'
Feb 15 12:18:34 home-05 vdr: [7859] dvbplayer thread started (pid=7260, tid=7859, prio=high)
Feb 15 12:18:34 home-05 vdr: [7859] resuming replay at index 29961 (0:19:58.12)
Feb 15 12:18:34 home-05 vdr: [7860] non blocking file reader thread started (pid=7260, tid=7860, prio=high)
Feb 15 12:18:38 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:18:49 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:19:00 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:19:11 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:19:22 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:19:33 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:19:35 home-05 vdr: [7275] channel 26 (NDR FS NDS HD) event Fre 15.02.2013 12:15-13:05 (VPS: 15.02. 12:15) 'In aller Freundschaft (160)' status 4
Feb 15 12:19:43 home-05 vdr: [7282] frontend 3/0 timed out while tuning to channel 1331, tp 111641
Feb 15 12:19:44 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:19:55 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:20:06 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:20:17 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:20:17 home-05 vdr: [7270] channel 3 (Das Erste) event Fre 15.02.2013 12:15-13:00 (VPS: 15.02. 11:05) 'ARD-Buffet' status 4
Feb 15 12:20:28 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:20:38 home-05 vdr: [7275] changing portal name of channel 181 from '' to 'Sky Select'
Feb 15 12:20:38 home-05 vdr: [7275] changing name of channel 189 from '370 - 10:45,;' to '370 - 12:30,;'
Feb 15 12:20:38 home-05 vdr: [7275] changing name of channel 187 from '372 - 10:30,;' to '372 - 12:30,;'
Feb 15 12:20:38 home-05 vdr: [7275] linking channel 181 from none to 190 191 189 187 185 186
Feb 15 12:20:38 home-05 vdr: [7278] changing pids of channel 153 from 767+767=2:768=deu@3:0:32 to 767+767=2:768=deu@3,769=eng@3:0:32
Feb 15 12:20:38 home-05 vdr: [7283] channel 23 (rbb Brandenburg) event Fre 15.02.2013 12:15-13:00 (VPS: 15.02. 12:15) 'Panda, Gorilla & Co. (29)' status 4
Feb 15 12:20:39 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:20:39 home-05 vdr: [7275] changing portal name of channel 204 from '' to 'Info Tafel'
Feb 15 12:20:39 home-05 vdr: [7275] linking channel 204 from none to 200 201 202
Feb 15 12:20:39 home-05 vdr: [7283] channel 1 (MDR Sachsen) event Fre 15.02.2013 11:45-12:35 (VPS: 15.02. 11:45) 'In aller Freundschaft (243)' status 4
Feb 15 12:20:50 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:21:00 home-05 vdr: [7283] channel 57 (SR Fernsehen) event Fre 15.02.2013 11:50-12:40 (VPS: 15.02. 11:50) 'Eisbär, Affe & Co. (155/174)' status 4
Feb 15 12:21:01 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:21:01 home-05 vdr: [7270] changing pids of channel 109 from 1023+1023=2:1024=deu@3:0:35 to 1023+1023=2:1024=deu@3:0:0
Feb 15 12:21:12 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:21:20 home-05 vdr: [7270] changing pids of channel 905 from 255+255=27:0;259=deu@106:0:32 to 255+255=27:0;258=deu@106,259=deu@106,260=eng@106:0:32
Feb 15 12:21:20 home-05 vdr: [7283] channel 18 (Einsfestival HD) event Fre 15.02.2013 11:50-12:25 (VPS: 15.02. 11:50) 'Willkommen Galina' status 4
Feb 15 12:21:20 home-05 vdr: [7270] changing pids of channel 178 from 767+767=27:0;771=deu@106:0:32 to 767+767=27:0;771=deu@106,772=eng@106:0:32:0;771=deu@106:0:32 to 767+767=27:0;771=deu@106,772=eng@106:0:32
Feb 15 12:21:23 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:21:34 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:21:45 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:21:49 home-05 vdr: [7282] frontend 3/0 timed out while tuning to channel 612, tp 112574
Feb 15 12:21:56 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:22:02 home-05 vdr: [7283] changing pids of channel 206 from 160+160=2:161=deu@3,162=eng@3;163=deu@106:0:165 to 160+160=2:161=deu@3,162=deu@3;163=deu@106:0:165
Feb 15 12:22:03 home-05 vdr: [7283] changing pids of channel 208 from 500+500=2:501=deu@3,502=deu@3;503=deu@106:0:505 to 500+500=2:501=deu@3;503=deu@106:0:505
Feb 15 12:22:03 home-05 vdr: [7283] changing pids of channel 209 from 500+500=2:501=deu@3,502=deu@3;503=deu@106:0:505 to 500+500=2:501=deu@3;503=deu@106:0:505
Feb 15 12:22:03 home-05 vdr: [7275] changing name of channel 1323 from 'MB SmartCast Test 2,;MEDIA BROADCAST' to 'MB Smartcast Test 2,;MEDIA BROADCAST'
Feb 15 12:22:03 home-05 vdr: [7275] changing name of channel 470 from '89 HIT FM,;MEDIA BROADCAST' to 'SCHLAGERHOELLE,;MEDIA BROADCAST'
Feb 15 12:22:04 home-05 vdr: [7283] changing pids of channel 210 from 500+500=2:501=deu@3,502=deu@3;503=deu@106:0:505 to 500+500=2:501=deu@3;503=deu@106:0:505
Feb 15 12:22:04 home-05 vdr: [7283] changing pids of channel 211 from 500+500=2:501=deu@3,502=deu@3;503=deu@106:0:505 to 500+500=2:501=deu@3;503=deu@106:0:505
Feb 15 12:22:05 home-05 vdr: [7283] changing pids of channel 212 from 500+500=2:501=deu@3,502=deu@3;503=deu@106:0:505 to 500+500=2:501=deu@3;503=deu@106:0:505
Feb 15 12:22:05 home-05 vdr: [7283] changing pids of channel 213 from 500+500=2:501=deu@3,502=deu@3;503=deu@106:0:505 to 500+500=2:501=deu@3;503=deu@106:0:505
Feb 15 12:22:06 home-05 vdr: [7283] changing pids of channel 214 from 500+500=2:501=deu@3,502=deu@3;503=deu@106:0:505 to 500+500=2:501=deu@3;503=deu@106:0:505
Feb 15 12:22:06 home-05 vdr: [7283] changing pids of channel 215 from 500+500=2:501=deu@3,502=deu@3;503=deu@106:0:505 to 500+500=2:501=deu@3;503=deu@106:0:505
Feb 15 12:22:07 home-05 vdr: [7283] changing pids of channel 216 from 500+500=2:501=deu@3,502=deu@3;503=deu@106:0:505 to 500+500=2:501=deu@3;503=deu@106:0:505
Feb 15 12:22:07 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:22:07 home-05 vdr: [7283] changing pids of channel 217 from 500+500=2:501=deu@3,502=deu@3;503=deu@106:0:505 to 500+500=2:501=deu@3;503=deu@106:0:505
Feb 15 12:22:18 home-05 vdr: [7260] HasProgramme: 1 0 0
Feb 15 12:22:24 home-05 vdr: [7260] max. latency time 3 seconds
Feb 15 12:22:28 home-05 vdr: [7860] non blocking file reader thread ended (pid=7260, tid=7860)
Feb 15 12:22:28 home-05 vdr: [7859] dvbplayer thread ended (pid=7260, tid=7859)
Feb 15 12:22:29 home-05 vdr: [7260] HasProgramme: 0 0 0
Feb 15 12:22:40 home-05 vdr: [7260] HasProgramme: 0 0 0
Feb 15 12:22:51 home-05 vdr: [7260] HasProgramme: 0 0 0
Feb 15 12:23:02 home-05 vdr: [7260] HasProgramme: 0 0 0
Feb 15 12:23:11 home-05 vdr: [7260] switching to channel 2
Feb 15 12:23:13 home-05 vdr: [7260] HasProgramme: 0 5106 5101
Alles anzeigen
In der letzten Zeile dann das Programm wieder händisch eingestellt.
Was mir jetzt noch aufgefallen ist:
Diesmal habe ich gleich bei der ersten Wiedergabe etwas länger gewartet, ca. 4min, und das Problem trat dann auf.
kamel5
Folgendes Log hat sich mit den beiden Patches ergeben:
VDR ist auch frisch gestartet.
CodeAlles anzeigen... Feb 15 12:22:18 home-05 vdr: [7260] HasProgramme: 1 0 0 Feb 15 12:22:24 home-05 vdr: [7260] max. latency time 3 seconds Feb 15 12:22:28 home-05 vdr: [7860] non blocking file reader thread ended (pid=7260, tid=7860) Feb 15 12:22:28 home-05 vdr: [7859] dvbplayer thread ended (pid=7260, tid=7859) Feb 15 12:22:29 home-05 vdr: [7260] HasProgramme: 0 0 0 Feb 15 12:22:40 home-05 vdr: [7260] HasProgramme: 0 0 0 Feb 15 12:22:51 home-05 vdr: [7260] HasProgramme: 0 0 0 Feb 15 12:23:02 home-05 vdr: [7260] HasProgramme: 0 0 0 Feb 15 12:23:11 home-05 vdr: [7260] switching to channel 2 Feb 15 12:23:13 home-05 vdr: [7260] HasProgramme: 0 5106 5101
OK, also HasProgramme() liefert schonmal den richtigen Wert.
Jetzt bitte noch folgendes:
--- vdr.c 2013/02/14 10:49:06 2.49
+++ vdr.c 2013/02/15 12:24:29
@@ -837,20 +837,28 @@
if (!EITScanner.Active() && cDevice::PrimaryDevice()->HasDecoder()) {
static time_t lastTime = 0;
if (!cDevice::PrimaryDevice()->HasProgramme()) {
+ dsyslog("no programme");
if (!CamMenuActive() && Now - lastTime > MINCHANNELWAIT) { // !CamMenuActive() to avoid interfering with the CAM if a CAM menu is open
+ dsyslog("check");
cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel());
if (Channel && (Channel->Vpid() || Channel->Apid(0) || Channel->Dpid(0))) {
+ dsyslog("channel %d", cDevice::GetDeviceForTransponder(Channel, LIVEPRIORITY));
if (cDevice::GetDeviceForTransponder(Channel, LIVEPRIORITY) && Channels.SwitchTo(Channel->Number())) // try to switch to the original channel...
- ;
+ dsyslog("switched A");
else if (LastTimerChannel > 0) {
+ dsyslog("LastTimerChannel = %d", LastTimerChannel);
Channel = Channels.GetByNumber(LastTimerChannel);
if (Channel && cDevice::GetDeviceForTransponder(Channel, LIVEPRIORITY) && Channels.SwitchTo(LastTimerChannel)) // ...or the one used by the last timer
- ;
+ dsyslog("switched B");
}
}
+ else
+ dsyslog("no channel");
lastTime = Now; // don't do this too often
LastTimerChannel = -1;
}
+ else
+ dsyslog("A: %d %d %d %d", CamMenuActive(), Now, lastTime, Now - lastTime, MINCHANNELWAIT);
}
else
lastTime = 0; // makes sure we immediately try again next time
Alles anzeigen
Und wiederum die Ausgaben posten (kann evtl. etwas mehr sein, du kannst dann gleiche Sequenzen gerne rauslöschen).
Genau genommen interessiert mich nur die erste solche Sequenz nach dem Beenden der Wiedergabe.
Gruß
Klaus
Hier das aktuelle Log:
Feb 15 14:05:39 home-05 vdr: [29971] dvbplayer thread ended (pid=29920, tid=29971)
Feb 15 14:05:39 home-05 vdr: [29920] no programme
Feb 15 14:05:39 home-05 vdr: [29920] check
Feb 15 14:05:39 home-05 vdr: [29920] channel 0
Feb 15 14:05:40 home-05 vdr: [29920] no programme
Feb 15 14:05:40 home-05 vdr: [29920] A: 0 1360933540 1360933539 1
Feb 15 14:05:41 home-05 vdr: [29920] HasProgramme: 0 0 0
Feb 15 14:05:41 home-05 vdr: [29920] no programme
Feb 15 14:05:41 home-05 vdr: [29920] A: 0 1360933541 1360933539 2
Feb 15 14:05:42 home-05 vdr: [29920] no programme
Feb 15 14:05:42 home-05 vdr: [29920] A: 0 1360933542 1360933539 3
Feb 15 14:05:43 home-05 vdr: [29920] no programme
Feb 15 14:05:43 home-05 vdr: [29920] A: 0 1360933543 1360933539 4
Feb 15 14:05:44 home-05 vdr: [29920] no programme
Feb 15 14:05:44 home-05 vdr: [29920] A: 0 1360933544 1360933539 5
Feb 15 14:05:45 home-05 vdr: [29920] no programme
Feb 15 14:05:45 home-05 vdr: [29920] A: 0 1360933545 1360933539 6
Feb 15 14:05:46 home-05 vdr: [29920] no programme
Feb 15 14:05:46 home-05 vdr: [29920] A: 0 1360933546 1360933539 7
Feb 15 14:05:47 home-05 vdr: [29920] no programme
Feb 15 14:05:47 home-05 vdr: [29920] A: 0 1360933547 1360933539 8
Feb 15 14:05:48 home-05 vdr: [29920] no programme
Feb 15 14:05:48 home-05 vdr: [29920] A: 0 1360933548 1360933539 9
Feb 15 14:05:49 home-05 vdr: [29920] no programme
Feb 15 14:05:49 home-05 vdr: [29920] A: 0 1360933549 1360933539 10
Feb 15 14:05:50 home-05 vdr: [29920] no programme
.
.
.
Feb 15 14:06:41 home-05 vdr: [29920] A: 0 1360933601 1360933594 7
Feb 15 14:06:41 home-05 vdr: [29920] no programme
Feb 15 14:06:41 home-05 vdr: [29920] A: 0 1360933601 1360933594 7
Feb 15 14:06:41 home-05 vdr: [29920] no programme
Feb 15 14:06:41 home-05 vdr: [29920] A: 0 1360933601 1360933594 7
Feb 15 14:06:41 home-05 vdr: [29920] no programme
Feb 15 14:06:41 home-05 vdr: [29920] A: 0 1360933601 1360933594 7
Feb 15 14:06:41 home-05 vdr: [29920] no programme
Feb 15 14:06:41 home-05 vdr: [29920] A: 0 1360933601 1360933594 7
Feb 15 14:06:41 home-05 vdr: [29920] no programme
Feb 15 14:06:41 home-05 vdr: [29920] A: 0 1360933601 1360933594 7
Feb 15 14:06:41 home-05 vdr: [29920] no programme
Feb 15 14:06:41 home-05 vdr: [29920] A: 0 1360933601 1360933594 7
Feb 15 14:06:41 home-05 vdr: [29920] no programme
Feb 15 14:06:41 home-05 vdr: [29920] A: 0 1360933601 1360933594 7
Feb 15 14:06:41 home-05 vdr: [29920] no programme
Feb 15 14:06:41 home-05 vdr: [29920] A: 0 1360933601 1360933594 7
Feb 15 14:06:41 home-05 vdr: [29920] no programme
Feb 15 14:06:41 home-05 vdr: [29920] A: 0 1360933601 1360933594 7
Feb 15 14:06:42 home-05 vdr: [29920] switching to channel 2
Feb 15 14:06:47 home-05 vdr: [29920] HasProgramme: 0 5106 5101
Alles anzeigen
Zum Schluss wieder das händische Umschalten
kamel5
Hier das aktuelle Log:
CodeFeb 15 14:05:39 home-05 vdr: [29971] dvbplayer thread ended (pid=29920, tid=29971) Feb 15 14:05:39 home-05 vdr: [29920] no programme Feb 15 14:05:39 home-05 vdr: [29920] check Feb 15 14:05:39 home-05 vdr: [29920] channel 0 Feb 15 14:05:40 home-05 vdr: [29920] no programme Feb 15 14:05:40 home-05 vdr: [29920] A: 0 1360933540 1360933539 1 Feb 15 14:05:41 home-05 vdr: [29920] HasProgramme: 0 0 0
Nächster Schritt:
--- device.c 2013/02/01 12:00:09 2.71
+++ device.c 2013/02/15 14:50:51
@@ -336,6 +336,7 @@
if (cDevice *d = cDevice::GetDevice(i)) {
if (d->IsTunedToTransponder(Channel))
return d; // if any device is tuned to the transponder, we're done
+ dsyslog("GetDeviceForTransponder %d %d %d %d %d %d", i, d->ProvidesTransponder(Channel), d->Occupied(), d->MaySwitchTransponder(Channel), d->Priority(), Priority);
if (d->ProvidesTransponder(Channel)) {
if (d->MaySwitchTransponder(Channel))
Device = d; // this device may switch to the transponder without disturbing any receiver or live view
Klaus
Was für ein Ausgabedevice verwendest du denn?
Sorry, ich hatte vergessen dies mit anzugeben,
mein Ausgabegerät ist eine normale SD-FF Karten, da der Tuner nicht berauschend ist ... '-Pdvbsddevice --outputonly'
Andreas
Nächster Schritt:
Aktueller Log:
Feb 15 17:33:32 home-05 vdr: [1800] dvbplayer thread ended (pid=1697, tid=1800)
Feb 15 17:33:32 home-05 vdr: [1697] no programme
Feb 15 17:33:32 home-05 vdr: [1697] check
Feb 15 17:33:32 home-05 vdr: [1697] channel 0
Feb 15 17:33:33 home-05 vdr: [1697] no programme
Feb 15 17:33:33 home-05 vdr: [1697] A: 0 1360946013 1360946012 1
Feb 15 17:33:34 home-05 vdr: [1697] no programme
Feb 15 17:33:34 home-05 vdr: [1697] A: 0 1360946014 1360946012 2
Feb 15 17:33:35 home-05 vdr: [1697] no programme
Feb 15 17:33:35 home-05 vdr: [1697] A: 0 1360946015 1360946012 3
Feb 15 17:33:36 home-05 vdr: [1697] no programme
Feb 15 17:33:36 home-05 vdr: [1697] A: 0 1360946016 1360946012 4
Feb 15 17:33:37 home-05 vdr: [1697] no programme
Feb 15 17:33:37 home-05 vdr: [1697] A: 0 1360946017 1360946012 5
Feb 15 17:33:38 home-05 vdr: [1697] HasProgramme: 0 0 0
Feb 15 17:33:38 home-05 vdr: [1697] no programme
Feb 15 17:33:38 home-05 vdr: [1697] A: 0 1360946018 1360946012 6
Feb 15 17:33:39 home-05 vdr: [1697] no programme
Feb 15 17:33:39 home-05 vdr: [1697] A: 0 1360946019 1360946012 7
Feb 15 17:33:40 home-05 vdr: [1697] no programme
Feb 15 17:33:40 home-05 vdr: [1697] A: 0 1360946020 1360946012 8
Feb 15 17:33:41 home-05 vdr: [1697] no programme
Feb 15 17:33:41 home-05 vdr: [1697] A: 0 1360946021 1360946012 9
Feb 15 17:33:42 home-05 vdr: [1697] no programme
Feb 15 17:33:42 home-05 vdr: [1697] A: 0 1360946022 1360946012 10
Feb 15 17:33:43 home-05 vdr: [1697] no programme
Feb 15 17:33:43 home-05 vdr: [1697] check
Alles anzeigen
Mmmh, eine Logmeldung mit "GetDeviceForTransponder" tritt aber auch sonst nicht auf.
Beim Testen ist mir jetzt noch eingefallen, das hatte ich wohl bisher nicht erwähnt:
Wenn eine Aufnahme im Hintergrund läuft, tritt das Problem nicht auf.
kamel5
Aktueller Log:
CodeAlles anzeigenFeb 15 17:33:32 home-05 vdr: [1800] dvbplayer thread ended (pid=1697, tid=1800) Feb 15 17:33:32 home-05 vdr: [1697] no programme Feb 15 17:33:32 home-05 vdr: [1697] check Feb 15 17:33:32 home-05 vdr: [1697] channel 0 Feb 15 17:33:33 home-05 vdr: [1697] no programme Feb 15 17:33:33 home-05 vdr: [1697] A: 0 1360946013 1360946012 1 Feb 15 17:33:34 home-05 vdr: [1697] no programme Feb 15 17:33:34 home-05 vdr: [1697] A: 0 1360946014 1360946012 2 Feb 15 17:33:35 home-05 vdr: [1697] no programme Feb 15 17:33:35 home-05 vdr: [1697] A: 0 1360946015 1360946012 3 Feb 15 17:33:36 home-05 vdr: [1697] no programme Feb 15 17:33:36 home-05 vdr: [1697] A: 0 1360946016 1360946012 4 Feb 15 17:33:37 home-05 vdr: [1697] no programme Feb 15 17:33:37 home-05 vdr: [1697] A: 0 1360946017 1360946012 5 Feb 15 17:33:38 home-05 vdr: [1697] HasProgramme: 0 0 0 Feb 15 17:33:38 home-05 vdr: [1697] no programme Feb 15 17:33:38 home-05 vdr: [1697] A: 0 1360946018 1360946012 6 Feb 15 17:33:39 home-05 vdr: [1697] no programme Feb 15 17:33:39 home-05 vdr: [1697] A: 0 1360946019 1360946012 7 Feb 15 17:33:40 home-05 vdr: [1697] no programme Feb 15 17:33:40 home-05 vdr: [1697] A: 0 1360946020 1360946012 8 Feb 15 17:33:41 home-05 vdr: [1697] no programme Feb 15 17:33:41 home-05 vdr: [1697] A: 0 1360946021 1360946012 9 Feb 15 17:33:42 home-05 vdr: [1697] no programme Feb 15 17:33:42 home-05 vdr: [1697] A: 0 1360946022 1360946012 10 Feb 15 17:33:43 home-05 vdr: [1697] no programme Feb 15 17:33:43 home-05 vdr: [1697] check
Mmmh, eine Logmeldung mit "GetDeviceForTransponder" tritt aber auch sonst nicht auf.
Das wundert mich aber, denn in der Zeile
Feb 15 17:33:32 home-05 vdr: [1697] channel 0
stammt die '0' vom Aufruf cDevice::GetDeviceForTransponder(Channel, LIVEPRIORITY).
Bist du sicher, daß du den Patch angewendet, neu übersetzt und VDR neu gestartet hast?
Zitat
Beim Testen ist mir jetzt noch eingefallen, das hatte ich wohl bisher nicht erwähnt:
Wenn eine Aufnahme im Hintergrund läuft, tritt das Problem nicht auf.
Hmm, weiß noch nicht, wie ich das einordnen soll.
Erstmal sehen, ob mit dem jüngsten Patch noch was rauskommt.
Klaus
Hallo Klaus,
Bist du sicher, daß du den Patch angewendet, neu übersetzt und VDR neu gestartet hast?
ja, das hatte ich eigentlich gedacht, aber ich kann mich auch irren.
Ich habe das Ganze jetzt nochmal neu gemacht.
Jetzt gibt es auch ein paar Logausgaben:
Feb 15 22:10:28 home-05 vdr: [5527] dvbplayer thread ended (pid=5444, tid=5527)
Feb 15 22:10:28 home-05 vdr: [5444] no programme
Feb 15 22:10:28 home-05 vdr: [5444] check
Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 0 1 0 0 -1 0
Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 1 1 0 0 -100 0
Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 2 1 0 0 -100 0
Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 3 1 0 0 -100 0
Feb 15 22:10:28 home-05 vdr: [5444] channel 0
Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 0 1 0 0 -1 0
Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 1 1 0 0 -100 0
Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 2 1 0 0 -100 0
Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 3 1 0 0 -100 0
Feb 15 22:10:29 home-05 vdr: [5444] no programme
Feb 15 22:10:29 home-05 vdr: [5444] A: 0 1360962629 1360962628 1
Alles anzeigen
kamel5
CodeAlles anzeigenFeb 15 22:10:28 home-05 vdr: [5527] dvbplayer thread ended (pid=5444, tid=5527) Feb 15 22:10:28 home-05 vdr: [5444] no programme Feb 15 22:10:28 home-05 vdr: [5444] check Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 0 1 0 0 -1 0 Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 1 1 0 0 -100 0 Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 2 1 0 0 -100 0 Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 3 1 0 0 -100 0 Feb 15 22:10:28 home-05 vdr: [5444] channel 0 Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 0 1 0 0 -1 0 Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 1 1 0 0 -100 0 Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 2 1 0 0 -100 0 Feb 15 22:10:28 home-05 vdr: [5444] GetDeviceForTransponder 3 1 0 0 -100 0 Feb 15 22:10:29 home-05 vdr: [5444] no programme Feb 15 22:10:29 home-05 vdr: [5444] A: 0 1360962629 1360962628 1
Hmm, die Priority von -1 für das erste Device erscheint mir problematisch.
Kannst du bitte mal die Zeilen
if (IsPrimaryDevice() && !Replaying() && ActualDevice() == PrimaryDevice())
priority = TRANSFERPRIORITY; // we use the same value here, no matter whether it's actual Transfer Mode or real live viewing
in cDevice::Priority() (device.c, Zeile 1540-1541) auskommentieren und den Versuch nochmal machen?
Das wäre zwar noch nicht die endgültige Lösung, weil das wieder andere Seiteneffekte haben könnte, aber zumindest würde es meine momentane Theorie stützen, wenn es dadurch für diesen Fall besser würde.
Bitte wieder das Log der betreffenden Stelle posten.
Klaus
in cDevice::Priority() (device.c, Zeile 1540-1541) auskommentieren und den Versuch nochmal machen?
Das wäre zwar noch nicht die endgültige Lösung, weil das wieder andere Seiteneffekte haben könnte, aber zumindest würde es meine momentane Theorie stützen, wenn es dadurch für diesen Fall besser würde.
Bitte wieder das Log der betreffenden Stelle posten.
Hier das Log dazu:
Feb 16 14:43:53 home-05 vdr: [4807] dvbplayer thread ended (pid=4560, tid=4807)
Feb 16 14:43:53 home-05 vdr: [4560] no programme
Feb 16 14:43:53 home-05 vdr: [4560] check
Feb 16 14:43:53 home-05 vdr: [4560] GetDeviceForTransponder 0 1 0 1 -100 0
Feb 16 14:43:53 home-05 vdr: [4560] GetDeviceForTransponder 1 1 0 1 -100 0
Feb 16 14:43:53 home-05 vdr: [4560] GetDeviceForTransponder 2 1 0 1 -100 0
Feb 16 14:43:53 home-05 vdr: [4560] GetDeviceForTransponder 3 1 0 1 -100 0
Feb 16 14:43:53 home-05 vdr: [4560] channel 44767696
Feb 16 14:43:53 home-05 vdr: [4560] GetDeviceForTransponder 0 1 0 1 -100 0
Feb 16 14:43:53 home-05 vdr: [4560] GetDeviceForTransponder 1 1 0 1 -100 0
Feb 16 14:43:53 home-05 vdr: [4560] GetDeviceForTransponder 2 1 0 1 -100 0
Feb 16 14:43:53 home-05 vdr: [4560] GetDeviceForTransponder 3 1 0 1 -100 0
Feb 16 14:43:53 home-05 vdr: [4560] switching to channel 2
Feb 16 14:43:53 home-05 vdr: [4560] switched A
Feb 16 14:43:55 home-05 vdr: [4569] channel 58 (SWR BW HD) event Sam 16.02.2013 14:45-15:15 (VPS: 02.02. 14:45) 'Lecker aufs Land - eine kulinarische Reise (4/5)' status 2
Feb 16 14:43:55 home-05 vdr: [4569] channel 58 (SWR BW HD) event Sam 16.02.2013 13:55-14:45 (VPS: 26.01. 13:55) 'Verrückt nach Meer (55/80)' status 1
Feb 16 14:43:57 home-05 vdr: [4560] HasProgramme: 0 5106 5101
Feb 16 14:44:08 home-05 vdr: [4560] HasProgramme: 0 5106 5101
Feb 16 14:44:19 home-05 vdr: [4560] HasProgramme: 0 5106 5101
Feb 16 14:44:30 home-05 vdr: [4560] HasProgramme: 0 5106 5101
Feb 16 14:44:41 home-05 vdr: [4560] HasProgramme: 0 5106 5101
Feb 16 14:44:52 home-05 vdr: [4560] HasProgramme: 0 5106 5101
Feb 16 14:44:54 home-05 vdr: [4560] no programme
Feb 16 14:44:54 home-05 vdr: [4560] check
Feb 16 14:44:54 home-05 vdr: [4560] GetDeviceForTransponder 0 1 0 1 -100 0
Feb 16 14:44:54 home-05 vdr: [4560] GetDeviceForTransponder 1 1 0 1 -100 0
Feb 16 14:44:54 home-05 vdr: [4560] GetDeviceForTransponder 2 1 0 1 -100 0
Feb 16 14:44:54 home-05 vdr: [4560] GetDeviceForTransponder 3 1 0 1 -100 0
Feb 16 14:44:54 home-05 vdr: [4560] channel 44767696
Feb 16 14:44:54 home-05 vdr: [4560] GetDeviceForTransponder 0 1 0 1 -100 0
Feb 16 14:44:54 home-05 vdr: [4560] GetDeviceForTransponder 1 1 0 1 -100 0
Feb 16 14:44:54 home-05 vdr: [4560] GetDeviceForTransponder 2 1 0 1 -100 0
Feb 16 14:44:54 home-05 vdr: [4560] GetDeviceForTransponder 3 1 0 1 -100 0
Feb 16 14:44:54 home-05 vdr: [4560] switching to channel 2
Feb 16 14:44:55 home-05 vdr: [4560] switched A
Feb 16 14:44:55 home-05 vdr: [4560] max. latency time 2 seconds
Feb 16 14:45:03 home-05 vdr: [4560] HasProgramme: 0 5106 5101
Feb 16 14:45:08 home-05 vdr: [4569] channel 58 (SWR BW HD) event Sam 16.02.2013 14:45-15:15 (VPS: 02.02. 14:45) 'Lecker aufs Land - eine kulinarische Reise (4/5)' status 4
Feb 16 14:45:14 home-05 vdr: [4560] HasProgramme: 0 5106 5101
Feb 16 14:45:15 home-05 vdr: [4560] no programme
Feb 16 14:45:15 home-05 vdr: [4560] check
Feb 16 14:45:15 home-05 vdr: [4560] GetDeviceForTransponder 0 1 0 1 -100 0
Feb 16 14:45:15 home-05 vdr: [4560] GetDeviceForTransponder 1 1 0 1 -100 0
Feb 16 14:45:15 home-05 vdr: [4560] GetDeviceForTransponder 2 1 0 1 -100 0
Feb 16 14:45:15 home-05 vdr: [4560] GetDeviceForTransponder 3 1 0 1 -100 0
Feb 16 14:45:15 home-05 vdr: [4560] channel 44767696
Feb 16 14:45:15 home-05 vdr: [4560] GetDeviceForTransponder 0 1 0 1 -100 0
Feb 16 14:45:15 home-05 vdr: [4560] GetDeviceForTransponder 1 1 0 1 -100 0
Feb 16 14:45:15 home-05 vdr: [4560] GetDeviceForTransponder 2 1 0 1 -100 0
Feb 16 14:45:15 home-05 vdr: [4560] GetDeviceForTransponder 3 1 0 1 -100 0
Feb 16 14:45:15 home-05 vdr: [4560] switching to channel 2
Feb 16 14:45:15 home-05 vdr: [4560] switched A
Feb 16 14:45:25 home-05 vdr: [4560] HasProgramme: 0 5106 5101
Feb 16 14:45:36 home-05 vdr: [4560] HasProgramme: 0 0 0
Feb 16 14:45:36 home-05 vdr: [4560] no programme
Feb 16 14:45:36 home-05 vdr: [4560] check
Feb 16 14:45:36 home-05 vdr: [4560] GetDeviceForTransponder 0 1 0 1 -100 0
Feb 16 14:45:36 home-05 vdr: [4560] GetDeviceForTransponder 1 1 0 1 -100 0
Feb 16 14:45:36 home-05 vdr: [4560] GetDeviceForTransponder 2 1 0 1 -100 0
Feb 16 14:45:36 home-05 vdr: [4560] GetDeviceForTransponder 3 1 0 1 -100 0
Feb 16 14:45:36 home-05 vdr: [4560] channel 44767696
Feb 16 14:45:36 home-05 vdr: [4560] GetDeviceForTransponder 0 1 0 1 -100 0
Feb 16 14:45:36 home-05 vdr: [4560] GetDeviceForTransponder 1 1 0 1 -100 0
Feb 16 14:45:36 home-05 vdr: [4560] GetDeviceForTransponder 2 1 0 1 -100 0
Feb 16 14:45:36 home-05 vdr: [4560] GetDeviceForTransponder 3 1 0 1 -100 0
Feb 16 14:45:36 home-05 vdr: [4560] switching to channel 2
Feb 16 14:47:35 home-05 vdr: [4560] PANIC: watchdog timer expired - exiting!
Alles anzeigen
Nach dem Auskommentieren dieser beiden Zeilen konnte ich dieses Problem nicht mehr reproduzieren.
Das hatte aber den Nebeneffekt, das der Kanal alle paar Sekunden neu getunt wird und dann irgendwann das Bild schwarz bleibt.
Zum Schluss dann der watchdog, bei mir auf 2min eingestellt.
Das retunen mit watchdog auch, wenn vorher keine Aufnahme abgespielt wurde, nach einem Neustart vergehen so 2min bis das Bild schwarz bleibt.
kamel5
Alles anzeigenHier das Log dazu:
CodeFeb 16 14:43:53 home-05 vdr: [4807] dvbplayer thread ended (pid=4560, tid=4807) Feb 16 14:43:53 home-05 vdr: [4560] no programme Feb 16 14:43:53 home-05 vdr: [4560] check Feb 16 14:43:53 home-05 vdr: [4560] GetDeviceForTransponder 0 1 0 1 -100 0 Feb 16 14:43:53 home-05 vdr: [4560] GetDeviceForTransponder 1 1 0 1 -100 0 Feb 16 14:43:53 home-05 vdr: [4560] GetDeviceForTransponder 2 1 0 1 -100 0 Feb 16 14:43:53 home-05 vdr: [4560] GetDeviceForTransponder 3 1 0 1 -100 0 ...
Nach dem Auskommentieren dieser beiden Zeilen konnte ich dieses Problem nicht mehr reproduzieren.
Das hatte aber den Nebeneffekt, das der Kanal alle paar Sekunden neu getunt wird und dann irgendwann das Bild schwarz bleibt.
Zum Schluss dann der watchdog, bei mir auf 2min eingestellt.
Das retunen mit watchdog auch, wenn vorher keine Aufnahme abgespielt wurde, nach einem Neustart vergehen so 2min bis das Bild schwarz bleibt.
OK, mit Seiteneffekten hatte ich schon gerechnet.
Inzwischen glaube ich, daß folgende Änderung helfen sollte:
--- device.c 2013/02/16 13:05:06 2.72
+++ device.c 2013/02/16 13:07:09
@@ -1537,7 +1537,7 @@
int cDevice::Priority(void) const
{
int priority = IDLEPRIORITY;
- if (IsPrimaryDevice() && !Replaying() && ActualDevice() == PrimaryDevice())
+ if (IsPrimaryDevice() && !Replaying() && ((cDevice *)this)->HasProgramme())
priority = TRANSFERPRIORITY; // we use the same value here, no matter whether it's actual Transfer Mode or real live viewing
cMutexLock MutexLock(&mutexReceiver);
for (int i = 0; i < MAXRECEIVERS; i++) {
Alles anzeigen
Der Typecast ist nur wegen des fehlenden 'const' bei cDevice::HasProgramme(), das werde ich in der nächsten Version noch ändern (ebenso bei cDevice::HasLock()).
Bitte probier es damit nochmal, ich hoffe mal, daß es das dann war.
Evtl. könnten auch andere, die dieses Problem haben, diesen Patch testen.
Klaus
Bitte probier es damit nochmal, ich hoffe mal, daß es das dann war.
Evtl. könnten auch andere, die dieses Problem haben, diesen Patch testen.
Klaus
Wunderbar, bei ersten Tests trat das Problem nicht mehr auf. Ich werde das Verhalten in den nächsten Tagen nochmal intensiv Testen und gebe dann eine Rückmeldung dazu.
Nur der Vollständigkeit halber hier nochmal die letzten Logs:
Feb 16 16:06:25 home-05 vdr: [6609] dvbplayer thread ended (pid=6071, tid=6609)
Feb 16 16:06:25 home-05 vdr: [6071] no programme
Feb 16 16:06:25 home-05 vdr: [6071] check
Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 0 1 0 1 -100 0
Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 1 1 0 1 -100 0
Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 2 1 0 1 -100 0
Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 3 1 0 1 -100 0
Feb 16 16:06:25 home-05 vdr: [6071] channel 37073088
Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 0 1 0 1 -100 0
Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 1 1 0 1 -100 0
Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 2 1 0 1 -100 0
Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 3 1 0 1 -100 0
Feb 16 16:06:25 home-05 vdr: [6071] switching to channel 1
Feb 16 16:06:25 home-05 vdr: [6071] switched A
Feb 16 16:06:30 home-05 vdr: [6071] HasProgramme: 0 2902 2901
Alles anzeigen
Wenn ich allerdings die Wiedergabe kurz nach dem Start wieder beende gibt es keine Meldungen mit "GetDeviceForTransponder" und die channel-Nummer ist eine Andere, das ist wohl OK so?
Feb 16 16:01:27 home-05 vdr: [6578] resuming replay at index 67626 (0:45:05.02)
Feb 16 16:01:27 home-05 vdr: [6579] non blocking file reader thread started (pid=6071, tid=6579, prio=high)
Feb 16 16:01:31 home-05 vdr: [6579] non blocking file reader thread ended (pid=6071, tid=6579)
Feb 16 16:01:31 home-05 vdr: [6578] dvbplayer thread ended (pid=6071, tid=6578)
Feb 16 16:01:31 home-05 vdr: [6071] no programme
Feb 16 16:01:31 home-05 vdr: [6071] check
Feb 16 16:01:31 home-05 vdr: [6071] channel 36990128
Feb 16 16:01:31 home-05 vdr: [6071] switching to channel 1
Feb 16 16:01:31 home-05 vdr: [6071] switched A
Feb 16 16:01:33 home-05 vdr: [6071] HasProgramme: 0 2902 2901
Klaus, vielen Dank für die Mühen
Gruß
kamel5
Alles anzeigenWunderbar, bei ersten Tests trat das Problem nicht mehr auf. Ich werde das Verhalten in den nächsten Tagen nochmal intensiv Testen und gebe dann eine Rückmeldung dazu.
Nur der Vollständigkeit halber hier nochmal die letzten Logs:
CodeAlles anzeigenFeb 16 16:06:25 home-05 vdr: [6609] dvbplayer thread ended (pid=6071, tid=6609) Feb 16 16:06:25 home-05 vdr: [6071] no programme Feb 16 16:06:25 home-05 vdr: [6071] check Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 0 1 0 1 -100 0 Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 1 1 0 1 -100 0 Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 2 1 0 1 -100 0 Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 3 1 0 1 -100 0 Feb 16 16:06:25 home-05 vdr: [6071] channel 37073088 Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 0 1 0 1 -100 0 Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 1 1 0 1 -100 0 Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 2 1 0 1 -100 0 Feb 16 16:06:25 home-05 vdr: [6071] GetDeviceForTransponder 3 1 0 1 -100 0 Feb 16 16:06:25 home-05 vdr: [6071] switching to channel 1 Feb 16 16:06:25 home-05 vdr: [6071] switched A Feb 16 16:06:30 home-05 vdr: [6071] HasProgramme: 0 2902 2901
Wenn ich allerdings die Wiedergabe kurz nach dem Start wieder beende gibt es keine Meldungen mit "GetDeviceForTransponder" und die channel-Nummer ist eine Andere, das ist wohl OK so?
Kurz nach dem Start hat wohl der EPG-Scan noch nicht zugeschlagen, daher das unterschiedliche Verhalten.
Die "channel-Nummer" ist ein Pointer, daher kann der jedesmal anders sein. War nur ausgegeben um zu sehen, ob ein Kanal da ist oder nicht.
ZitatCodeFeb 16 16:01:27 home-05 vdr: [6578] resuming replay at index 67626 (0:45:05.02) Feb 16 16:01:27 home-05 vdr: [6579] non blocking file reader thread started (pid=6071, tid=6579, prio=high) Feb 16 16:01:31 home-05 vdr: [6579] non blocking file reader thread ended (pid=6071, tid=6579) Feb 16 16:01:31 home-05 vdr: [6578] dvbplayer thread ended (pid=6071, tid=6578) Feb 16 16:01:31 home-05 vdr: [6071] no programme Feb 16 16:01:31 home-05 vdr: [6071] check Feb 16 16:01:31 home-05 vdr: [6071] channel 36990128 Feb 16 16:01:31 home-05 vdr: [6071] switching to channel 1 Feb 16 16:01:31 home-05 vdr: [6071] switched A Feb 16 16:01:33 home-05 vdr: [6071] HasProgramme: 0 2902 2901
Klaus, vielen Dank für die Mühen
Danke für die Hilfe beim Debuggen!
Falls du in HISTORY/CONTRIBUTORS genannt werden möchtest, bitte eine Email mit vollem Namen an mich.
Klaus
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!