/* Structure to hold all of our device specific stuff */ struct hdpvr_device { /* the v4l device for this device */ struct video_device video_dev; /* the control handler for this device */ struct v4l2_ctrl_handler hdl; /* the usb device for this device */ struct usb_device *udev; /* v4l2-device unused */ struct v4l2_device v4l2_dev; struct { /* video mode/bitrate control cluster */ struct v4l2_ctrl *video_mode; struct v4l2_ctrl *video_bitrate; struct v4l2_ctrl *video_bitrate_peak;
}; /* v4l2 format */
uint width, height;
/* the max packet size of the bulk endpoint */
size_t bulk_in_size; /* the address of the bulk in endpoint */
__u8 bulk_in_endpointAddr;
/* holds the current device status */
__u8 status;
/* holds the current set options */ struct hdpvr_options options;
v4l2_std_id cur_std; struct v4l2_dv_timings cur_dv_timings;
uint flags;
/* synchronize I/O */ struct mutex io_mutex; /* available buffers */ struct list_head free_buff_list; /* in progress buffers */ struct list_head rec_buff_list; /* waitqueue for buffers */
wait_queue_head_t wait_buffer; /* waitqueue for data */
wait_queue_head_t wait_data; /**/ struct work_struct worker; /* current stream owner */ struct v4l2_fh *owner;
/*========================================================================*/ /* hardware control functions */ int hdpvr_set_options(struct hdpvr_device *dev);
int hdpvr_set_bitrate(struct hdpvr_device *dev);
int hdpvr_set_audio(struct hdpvr_device *dev, u8 input, enum v4l2_mpeg_audio_encoding codec);
int hdpvr_config_call(struct hdpvr_device *dev, uint value, unsignedchar valbuf);
int get_video_info(struct hdpvr_device *dev, struct hdpvr_video_info *vid_info);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.