예제 #1
0
        /// <summary>
        /// Creates a buffer to be used with Video4Linux streaming I/O.
        /// </summary>
        /// <param name="device">The parental Video4Linux device.</param>
        /// <param name="buffer">The struct holding the buffer information.</param>
        internal V4LBuffer(V4LDevice device, v4l2_buffer buffer)
        {
            this.device = device;
            this.buffer = buffer;

            mapMemory();
        }
        /// <summary>
        /// Creates a video capture/output format.
        /// </summary>
        /// <param name="device">The parental Video4Linux device.</param>
        /// <param name="type">The buffer type the format belongs to.</param>
        internal V4LOverlayFormat(V4LDevice device, v4l2_buf_type type)
        {
            this.device = device;

            format = new v4l2_format();
            format.type = type;
        }
        internal V4LVideoFormat(V4LDevice device, v4l2_buf_type type)
        {
            this.device = device;

            format = new v4l2_format();
            format.type = type;
            getFormat();
        }
예제 #4
0
        /// <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 V4LTuner(V4LDevice device, uint index, V4LTunerType type)
        {
            this.device = device;

            tuner = new v4l2_tuner();
            tuner.index = index;
            tuner.type = type;
            getTuner();
        }
예제 #5
0
        public static void Main(string[] args)
        {
            V4LDevice dev = new V4LDevice("/dev/video0");

            System.Console.WriteLine(dev.Name);
            System.Console.WriteLine(dev.Driver);
            System.Console.WriteLine(dev.BusInfo);
            System.Console.WriteLine(dev.Version);
            System.Console.WriteLine();

            foreach (V4LInput input in dev.Inputs)
                System.Console.WriteLine(input.Name);
            System.Console.WriteLine();

            System.Console.WriteLine("Current Input: " + dev.Input.Name);
            dev.Standard = (ulong)Video4Linux.APIv2.v4l2_std_id.Composite_PAL_BG;
            System.Console.WriteLine("Current Standard: " + dev.Standard);

            /*v4l2_std_id std_id = V4L2_STD_PAL_BG;
            if (ioctl(fd, VIDIOC_S_STD, &std_id) < 0)
                printf("err: cant set vid std\n");*/
        }
예제 #6
0
 public V4LInput(V4LDevice device, APIv2.v4l2_input input)
 {
     this.device = device;
     this.input = input;
 }
예제 #7
0
 public V4LStandard(V4LDevice device, APIv2.v4l2_standard standard)
 {
     this.device = device;
     this.standard = standard;
 }
예제 #8
0
 public V4LAudioInput(V4LDevice device, APIv2.v4l2_audio input)
 {
     this.device = device;
     this.input = input;
 }
예제 #9
0
 /// <summary>
 /// Creates a video input.
 /// </summary>
 /// <param name="device">The parental Video4Linux device.</param>
 /// <param name="input">The struct holding the video input information.</param>
 internal V4LInput(V4LDevice device, v4l2_input input)
 {
     this.device = device;
     this.input = input;
 }
예제 #10
0
 public V4LFormat(V4LDevice device, APIv2.v4l2_fmtdesc fmtdesc)
 {
     this.device = device;
     this.fmtdesc = fmtdesc;
 }
 internal V4LFormatContainer(V4LDevice device)
 {
     this.device = device;
 }
예제 #12
0
 /// <summary>
 /// Creates a tuner.
 /// </summary>
 /// <param name="device">The parental Video4Linux device.</param>
 /// <param name="tuner">The struct holding the tuner information.</param>
 internal V4LTuner(V4LDevice device, v4l2_tuner tuner)
 {
     this.device = device;
     this.tuner = tuner;
 }
예제 #13
0
 public V4LTuner(V4LDevice device, APIv2.v4l2_tuner tuner)
 {
     this.device = device;
     this.tuner = tuner;
 }
예제 #14
0
 internal V4LAudioInput(V4LDevice device, v4l2_audio input)
 {
     this.device = device;
     this.input = input;
 }
예제 #15
0
 public V4LOutput(V4LDevice device, APIv2.v4l2_output output)
 {
     this.device = device;
     this.output = output;
 }