Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
vb2_queue Struct Reference

#include <videobuf2-core.h>

Data Fields

enum v4l2_buf_type type
 
unsigned int io_modes
 
unsigned int io_flags
 
struct mutexlock
 
struct v4l2_fhowner
 
struct vb2_opsops
 
struct vb2_mem_opsmem_ops
 
voiddrv_priv
 
unsigned int buf_struct_size
 
enum v4l2_memory memory
 
struct vb2_bufferbufs [VIDEO_MAX_FRAME]
 
unsigned int num_buffers
 
struct list_head queued_list
 
atomic_t queued_count
 
struct list_head done_list
 
spinlock_t done_lock
 
wait_queue_head_t done_wq
 
voidalloc_ctx [VIDEO_MAX_PLANES]
 
unsigned int plane_sizes [VIDEO_MAX_PLANES]
 
unsigned int streaming:1
 
struct vb2_fileio_datafileio
 

Detailed Description

struct vb2_queue - a videobuf queue

: queue type (see V4L2_BUF_TYPE_* in linux/videodev2.h : supported io methods (see vb2_io_modes enum) : additional io flags (see vb2_fileio_flags enum) : pointer to a mutex that protects the vb2_queue struct. The driver can set this to a mutex to let the v4l2 core serialize the queuing ioctls. If the driver wants to handle locking itself, then this should be set to NULL. This lock is not used by the videobuf2 core API. : The filehandle that 'owns' the buffers, i.e. the filehandle that called reqbufs, create_buffers or started fileio. This field is not used by the videobuf2 core API, but it allows drivers to easily associate an owner filehandle with the queue. : driver-specific callbacks : memory allocator specific callbacks : driver private data : size of the driver-specific buffer structure; "0" indicates the driver doesn't want to use a custom buffer structure type, so sizeof(struct vb2_buffer) will is used

: current memory type used : videobuf buffer structures : number of allocated/used buffers : list of buffers currently queued from userspace : number of buffers owned by the driver : list of buffers ready to be dequeued to userspace : lock to protect done_list list : waitqueue for processes waiting for buffers ready to be dequeued : memory type/allocator-specific contexts for each plane : current streaming state : file io emulator internal data, used only if emulator is active

Definition at line 283 of file videobuf2-core.h.

Field Documentation

void* alloc_ctx[VIDEO_MAX_PLANES]

Definition at line 307 of file videobuf2-core.h.

unsigned int buf_struct_size

Definition at line 293 of file videobuf2-core.h.

Definition at line 297 of file videobuf2-core.h.

struct list_head done_list

Definition at line 303 of file videobuf2-core.h.

spinlock_t done_lock

Definition at line 304 of file videobuf2-core.h.

Definition at line 305 of file videobuf2-core.h.

Definition at line 292 of file videobuf2-core.h.

Definition at line 312 of file videobuf2-core.h.

unsigned int io_flags

Definition at line 286 of file videobuf2-core.h.

unsigned int io_modes

Definition at line 285 of file videobuf2-core.h.

struct mutex* lock

Definition at line 287 of file videobuf2-core.h.

struct vb2_mem_ops* mem_ops

Definition at line 291 of file videobuf2-core.h.

enum v4l2_memory memory

Definition at line 296 of file videobuf2-core.h.

unsigned int num_buffers

Definition at line 298 of file videobuf2-core.h.

Definition at line 290 of file videobuf2-core.h.

struct v4l2_fh* owner

Definition at line 288 of file videobuf2-core.h.

unsigned int plane_sizes[VIDEO_MAX_PLANES]

Definition at line 308 of file videobuf2-core.h.

atomic_t queued_count

Definition at line 302 of file videobuf2-core.h.

struct list_head queued_list

Definition at line 300 of file videobuf2-core.h.

unsigned int streaming

Definition at line 310 of file videobuf2-core.h.

Definition at line 284 of file videobuf2-core.h.


The documentation for this struct was generated from the following file: