diff options
author | Mike Isely <isely@pobox.com> | 2006-12-27 20:23:22 -0600 |
---|---|---|
committer | Mike Isely <isely@pobox.com> | 2006-12-27 20:23:22 -0600 |
commit | b74377a68f1b23d52cbe42b2576a31afd3ef875f (patch) | |
tree | 7b6288412b2a69682e2f7ffb9671ecb1a1703333 /linux/drivers/media/video/pvrusb2 | |
parent | 77e758267d723a03a29b9bb5fd3a4c8456af6e62 (diff) | |
download | mediapointer-dvb-s2-b74377a68f1b23d52cbe42b2576a31afd3ef875f.tar.gz mediapointer-dvb-s2-b74377a68f1b23d52cbe42b2576a31afd3ef875f.tar.bz2 |
pvrusb2: Fix tuning calculation when in radio mode
From: Mike Isely <isely@pobox.com>
Frequency units in V4L2 are apparently different when in radio mode
compared to tv mode. Why? Who knows. This change adapts the driver
appropriately - so that internally we always only deal in Hz and don't
have to muck with craziness like this.
Signed-off-by: Mike Isely <isely@pobox.com>
Diffstat (limited to 'linux/drivers/media/video/pvrusb2')
-rw-r--r-- | linux/drivers/media/video/pvrusb2/pvrusb2-i2c-cmd-v4l2.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-cmd-v4l2.c b/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-cmd-v4l2.c index c0920835d..c885a9c25 100644 --- a/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-cmd-v4l2.c +++ b/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-cmd-v4l2.c @@ -146,10 +146,15 @@ static void set_frequency(struct pvr2_hdw *hdw) fv = hdw->freqVal; pvr2_trace(PVR2_TRACE_CHIPS,"i2c v4l2 set_freq(%lu)",fv); memset(&freq,0,sizeof(freq)); - freq.frequency = fv / 62500; + if (hdw->input_val == PVR2_CVAL_INPUT_RADIO) { + // ((fv * 1000) / 62500) + freq.frequency = (fv * 2) / 125; + freq.type = V4L2_TUNER_RADIO; + } else { + freq.frequency = fv / 62500; + freq.type = V4L2_TUNER_ANALOG_TV; + } freq.tuner = 0; - freq.type = (hdw->input_val == PVR2_CVAL_INPUT_RADIO) ? - V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV; pvr2_i2c_core_cmd(hdw,VIDIOC_S_FREQUENCY,&freq); } |