Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: GRAB always gives gray image



Jan Ekholm wrote:
> 
> On Tue, 2 Mar 2004 oliviervdr@free.fr wrote:
> 
> >> I experimented a bit with the SVDRP command GRAB to get screenshots, but
> >> it always seems to return a solid gray image, such as this one:
> >>
> >>     http://www.infa.abo.fi/~chakie/media/dvb/test.jpg
> >
> >Jan,
> >
> >do you have another v4l device on your PC (like analog TV card)?
> 
> No other cards, only one DVB-c card.
> 
> >If yes, then this should be fixed since 1.2.6pre1 (and you have 1.3.5).
> >(from HISTORY:
> >- Fixed detecting the /dev/videoN devices for GRAB in case there are others
> >  before the DVB devices (thanks to Andreas Kool).
> >)
> >
> >You could take a look at cDvbDevice::GrabImage in dvbdevice.c and try to
> >override devVideoIndex variable to see if it is wrongly set.
> >If you succeed, then we should try to look why this doesn't work for you.
> 
> It seems to use:
> 
>         device index: 0, device name: /dev/video0
> 
> which is correct on this system. Right now when I test (remotely) I can't
> get a single GRAB to work, it just freezes VDR and then the watchdog
> performs an emergency exit.
> 
> Doing a reboot now... Ok, that cured the grabbing problems, now I get the
> same gray images again.
> 
> Another thing I noticed while monitoring VDR is that it has started to
> take a lot more CPU than before (not sure since when). Not one thread sits
> in a tight loop and does nothing more than this:
> 
> select(1024, [23], NULL, NULL, {0, 10000}) = 0 (Timeout)
> time(NULL)                              = 1078300591
> gettimeofday({1078300591, 801847}, NULL) = 0
> rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
> rt_sigprocmask(SIG_UNBLOCK, [RTMIN], [RTMIN], 8) = 0
> gettimeofday({1078300591, 802801}, NULL) = 0
> nanosleep({0, 9046000}, NULL)           = 0
> rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
> alarm(60)                               = 60
> time(NULL)                              = 1078300591
> time(NULL)                              = 1078300591
> time(NULL)                              = 1078300591
> 
> I'm not sure what descriptor 23 is, but it seems to wait for access to
> that descriptor. This keeps on running as long as VDR is alive, and does
> not seem to have any negative effects apart from hogging 25% of the CPU
> (an Epia 800) all the time. Some more tests show that the function can
> also be accept() instead of select().

Can you find out exactly which thread this is?
From the "alarm(60)" call I would assume that it is the main VDR thread,
and then what it waits for is probably some user input.

That doesn't explain the high CPU load, though...

Klaus


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index