diff options
author | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2003-05-21 06:33:18 +0000 |
---|---|---|
committer | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2003-05-21 06:33:18 +0000 |
commit | e767ac4c48395b504279d5dd220f78d4ebbe174c (patch) | |
tree | 87584206fdbde114b271a1ca782a46de0e508647 /sys/v4l2/gstv4l2src.h | |
parent | 40998b3018e1eca6ffc1ae8a36766456222db100 (diff) |
Some final fixes for the v4lsrc elements. remove software sync thread (use GST_ELEMENT_THREAD_SUGGESTED instead) make...
Original commit message from CVS:
Some final fixes for the v4lsrc elements.
* remove software sync thread (use GST_ELEMENT_THREAD_SUGGESTED instead)
* make all src elements threadsafe
* fix num_buffer argument setting in v4l2src (VIDIOC_S_PARM)
* re-add bufsize (RO) for v4lmjpegsrc
* fix the A/V sync calculation in all elements (spvf=GST_SECOND/fps, not GST_SECOND*fps)
* probably some more crap....
With all this, it actually works quite well. The TODO files describes the
next steps in order to make a full-featured video recorder based on these
elements and GStreamer (bottom). Making a simple recorder should be fairly
easy now, btw.
Diffstat (limited to 'sys/v4l2/gstv4l2src.h')
-rw-r--r-- | sys/v4l2/gstv4l2src.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/v4l2/gstv4l2src.h b/sys/v4l2/gstv4l2src.h index 76fc5ef9..1b4ab095 100644 --- a/sys/v4l2/gstv4l2src.h +++ b/sys/v4l2/gstv4l2src.h @@ -52,6 +52,17 @@ struct _GstV4l2Src { struct v4l2_requestbuffers breq; struct v4l2_format format; + /* num of queued frames and some GThread stuff + * to wait if there's not enough */ + gint8 *frame_queue_state; + GMutex *mutex_queue_state; + GCond *cond_queue_state; + gint num_queued; + gint queue_frame; + + /* True if we want to stop */ + gboolean quit; + /* A/V sync... frame counter and internal cache */ gulong handled; gint last_frame; |