7.32. ioctl VIDIOC_G_FREQUENCY, VIDIOC_S_FREQUENCY¶
7.32.1. Name¶
VIDIOC_G_FREQUENCY - VIDIOC_S_FREQUENCY - Get or set tuner or modulator radio frequency
7.32.2. Synopsis¶
-
VIDIOC_G_FREQUENCY¶
int ioctl(int fd, VIDIOC_G_FREQUENCY, struct v4l2_frequency *argp)
-
VIDIOC_S_FREQUENCY¶
int ioctl(int fd, VIDIOC_S_FREQUENCY, const struct v4l2_frequency *argp)
7.32.3. Arguments¶
fd- File descriptor returned by
open(). argp- Pointer to struct
v4l2_frequency.
7.32.4. Description¶
To get the current tuner or modulator radio frequency applications set
the tuner field of a struct
v4l2_frequency to the respective tuner or
modulator number (only input devices have tuners, only output devices
have modulators), zero out the reserved array and call the
VIDIOC_G_FREQUENCY ioctl with a pointer to this structure. The
driver stores the current frequency in the frequency field.
To change the current tuner or modulator radio frequency applications
initialize the tuner, type and frequency fields, and the
reserved array of a struct v4l2_frequency
and call the VIDIOC_S_FREQUENCY ioctl with a pointer to this
structure. When the requested frequency is not possible the driver
assumes the closest possible value. However VIDIOC_S_FREQUENCY is a
write-only ioctl, it does not return the actual new frequency.
-
v4l2_frequency¶
| __u32 | tuner |
The tuner or modulator index number. This is the same value as in
the struct v4l2_input tuner field and
the struct v4l2_tuner index field, or
the struct v4l2_output modulator field
and the struct v4l2_modulator index
field. |
| __u32 | type |
The tuner type. This is the same value as in the struct
v4l2_tuner type field. The type must be
set to V4L2_TUNER_RADIO for /dev/radioX device nodes, and
to V4L2_TUNER_ANALOG_TV for all others. Set this field to
V4L2_TUNER_RADIO for modulators (currently only radio
modulators are supported). See v4l2_tuner_type |
| __u32 | frequency |
Tuning frequency in units of 62.5 kHz, or if the struct
v4l2_tuner or struct
v4l2_modulator capability flag
V4L2_TUNER_CAP_LOW is set, in units of 62.5 Hz. A 1 Hz unit is
used when the capability flag V4L2_TUNER_CAP_1HZ is set. |
| __u32 | reserved[8] |
Reserved for future extensions. Drivers and applications must set the array to zero. |
7.32.5. Return Value¶
On success 0 is returned, on error -1 and the errno variable is set
appropriately. The generic error codes are described at the
Generic Error Codes chapter.
- EINVAL
- The
tunerindex is out of bounds or the value in thetypefield is wrong. - EBUSY
- A hardware seek is in progress.