/// <summary> /// Creates a tuner. /// </summary> /// <param name="device">The parental Video4Linux device.</param> /// <param name="index">The index of the tuner.</param> /// <param name="type">The type of the tuner.</param> internal Tuner(Adapter adapter, uint index, TunerType type) { this.adapter = adapter; tuner = new v4l2_tuner(); tuner.index = index; tuner.type = type; getTuner(); }
/// <summary> /// Collects all available tuners from the device. /// </summary> private void fetchTuners() { tuners = new Core.SearchableList<Analog.Tuner>(); v4l2_tuner cur = new v4l2_tuner(); cur.index = 0; while(ioControl.GetTuner(ref cur) == 0) { tuners.Add(new Analog.Tuner(this, cur.index, cur.type)); cur.index++; } }
ioctl(int device, v4l2_operation request, ref v4l2_tuner argp);
/// <summary> /// Calls VIDIOC_S_TUNER. /// </summary> public int SetTuner(ref v4l2_tuner tuner) { return ioctl(deviceHandle, v4l2_operation.SetTuner, ref tuner); }
private static extern int ioctl(int device, v4l2_operation request, ref v4l2_tuner argp);