From 71e0080e74522c9d750c55e07040e715d2d6c95f Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Thu, 10 Nov 2011 18:58:13 +0200 Subject: [PATCH] DTV: poll signal strength and noise ratio every so often --- modules/access/dtv/access.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/access/dtv/access.c b/modules/access/dtv/access.c index 7d048bf20f..e2fdc16afd 100644 --- a/modules/access/dtv/access.c +++ b/modules/access/dtv/access.c @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -394,6 +395,7 @@ vlc_module_end () struct access_sys_t { dvb_device_t *dev; + uint8_t signal_poll; }; typedef struct delsys @@ -429,6 +431,7 @@ static int Open (vlc_object_t *obj) } sys->dev = dev; + sys->signal_poll = 0; access->p_sys = sys; uint64_t freq = var_InheritFrequency (obj); @@ -490,6 +493,12 @@ static block_t *Read (access_t *access) } block->i_buffer = val; + + /* Fetch the signal levels every so often. Some devices do not like this + * to be requested too frequently, e.g. due to low bandwidth I²C bus. */ + if ((sys->signal_poll++) == 0) + access->info.i_update |= INPUT_UPDATE_SIGNAL; + return block; } -- 2.39.5