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 | 6588850d7426b792046254d5ddf050c47172e932 (patch) | |
tree | be06b509f6e905de522c5d36dd4b831ef6c98d4b /sys/v4l2/gstv4l2src.h | |
parent | 7777638d99477dd6c3548fd958ea83c52fda1b12 (diff) | |
download | gst-plugins-bad-6588850d7426b792046254d5ddf050c47172e932.tar.gz gst-plugins-bad-6588850d7426b792046254d5ddf050c47172e932.tar.bz2 gst-plugins-bad-6588850d7426b792046254d5ddf050c47172e932.zip |
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; |