GNOME Bugzilla – Bug 523151
[v4l2] v4l_calls.c : setting tuner does not work
Last modified: 2009-01-19 11:37:58 UTC
Please describe the problem: in file sys/v4l/v4l_calls.c, line 336 the flag vtun.flags & VIDEO_TUNER_LOW is used to calc the channel->freq_multiplicator in the wrong way: 62.5 * ((vtun.flags & VIDEO_TUNER_LOW) ? 1 : 1000); suggested fix: 62.5 * ((vtun.flags & VIDEO_TUNER_LOW) ? 1000 : 1); works fine on my system. Steps to reproduce: 1. try to change the frequency 2. 3. Actual results: the frequency set by the v4l interface is compeletly wrong Expected results: Does this happen every time? yes Other information:
I've only had a quick look at this, but I'm not sure if this is right. According to http://kernelbook.sourceforge.net/videobook.pdf : "VIDEO_TUNER_LOW The tuner frequency is scaled in 1/16th of a KHz steps. If not it is in 1/16th of a MHz steps." So since we're setting a value in Hz, and LOW set means 'KHz' and LOW not set means 'MHz', we should multiply by 1000 if the flag is not set and by 1 if the flag is set (the 1000 for the KHz are already contained in the initial multiplier 1/16 * 1000 = 0.0626 * 1000 = 62.5). Does this make sense? (I don't have hardware at hand to test right now) Could you provide more details about your hardware/driver? Maybe you could provide a GST_DEBUG=*v4l*:5 log of what's happening and the corresponding code?
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for. Thanks!