/// <summary> /// Collects all available image formats from the device. /// </summary> private void fetchFormats() { formats = new List<Analog.Video.Format>(); v4l2_fmtdesc cur = new v4l2_fmtdesc(); cur.index = 0; while(ioControl.EnumerateFormats(ref cur) == 0) { formats.Add(new Analog.Video.Format(cur)); cur.index++; } }
ioctl(int device, v4l2_operation request, ref v4l2_fmtdesc argp);
private static extern int ioctl(int device, v4l2_operation request, ref v4l2_fmtdesc argp);
/// <summary> /// Calls VIDIOC_ENUM_FMT. /// </summary> public int EnumerateFormats(ref v4l2_fmtdesc fmt) { return ioctl(deviceHandle, v4l2_operation.EnumerateFormats, ref fmt); }
internal Format(v4l2_fmtdesc fmtdesc) { this.fmtdesc = fmtdesc; }