[vdr] Accidental No Signal after channel switch
Reinhard Nissl
rnissl at gmx.de
Wed Nov 16 22:04:30 CET 2005
Hi,
Maarten Wisse wrote:
>>But this is a different problem. Looks like VDR does an EPG scan.
>>
>>Just have a look into your syslog for a line like this (in english):
>>
>> Nov 14 00:06:31 video vdr[31630]: info: Beginne mit EPG-Scan
>
> My syslog is at verbosity level 3 and it does not display such a line.
>
>>You may also set EPG timeout to 0 to disable automatic EPG scans. You'll
>>see a similar behaviour if you start an EPG scan manually.
>
> How to start a manual epg scan? The epg timeout was 5. I've set it to 8 now,
In VDR's EPG menu press the red button.
> because I like to have automatic epg scans, and the problem does occur only
> every now and then. Is, given these presuppositions, increasing the number
> the right way, or should I decrease it instead?
I've set this to 1 on my test system and after 60 minutes, an EPG scan
kicks in. The EPIA VDR is set to 3 and there is no problem to watch
movies with a length of 150 minutes.
@tony:
If you are a little bit familar with debugging, I'd suggest to apply the
following patch to vdr-xine-0.7.6's xineDevice.c:
--- ../xine-0.7.6/xineDevice.c 2005-09-11 21:17:06.000000000 +0200
+++ xineDevice.c 2005-11-16 21:44:35.000000000 +0100
@@ -80,6 +80,16 @@ namespace PluginXine
bool cXineDevice::SetPlayMode(ePlayMode PlayMode)
{
+ {
+ time_t t1 = time(0);
+ static time_t t0 = t1;
+
+ if (0 == PlayMode && (t1 - t0) > (30 * 60))
+ *(char *)0 = 0;
+
+ t0 = t1;
+ }
+
ptsV = ptsA = ptsP = ptsD = -1;
ts = 0;
This let's VDR crash when a SetPlayMode(0) happens, but only if the last
SetPlayMode() call was more than 30 minutes in the past.
To get a usefull backtrace, make sure that VDR and all plugins are
compiled with the -g compiler switch. If you want to have useful
variable values in the backtrace, switch off optimizing with -O0. I
compile my VDR test system with -g3 -O0.
You may enable the creation of coredumps with
ulimit -Sc unlimited
Then use a debugger to analyze the coredump, e. g. for ddd:
ddd /path/to/vdr /path/to/core
From the menu select the backtrace window and have a look at the call
stack.
Bye.
--
Dipl.-Inform. (FH) Reinhard Nissl
mailto:rnissl at gmx.de
More information about the vdr
mailing list