Accidental No Signal after channel switch

Message ID 437B9EDE.3060104@gmx.de
State New
Headers

Commit Message

Reinhard Nissl Nov. 16, 2005, 9:04 p.m. UTC
  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:


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.
  

Comments

Maarten Wisse Nov. 17, 2005, 9:05 a.m. UTC | #1
> >>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.
I've tried that now, but that yields different results. Indeed, after pressing 
the red button, the NO SIGNAL appears, but pressing channel up or down, the 
signal will appear again. I don't need to restart vdr in this case, which I 
need when the NO SIGNAL screen appears accidentally. So, my problem must 
still be different.

Best regards,

Maarten
  

Patch

--- ../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;