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
tuner
index is out of bounds or the value in thetype
field is wrong. - EBUSY
- A hardware seek is in progress.