diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | sys/v4l2/gstv4l2src.c | 4 |
2 files changed, 10 insertions, 3 deletions
@@ -1,5 +1,14 @@ 2005-06-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net> + * sys/v4l2/gstv4l2src.c: (gst_v4l2src_get): + Don't use bytesused/length of a buffer for GST_BUFFER_SIZE(), + since length is the allocated length in the kernel, which may + be more, and bytesused is not set by all drivers and may be + less if part of the frame was lost. Instead, use the calculated + piximage size. Fixes #301718. + +2005-06-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net> + * gst/adder/gstadder.c: (gst_adder_link): Workaround for multi-mp3 case. Seems to work fine (#305658). Patch based on work from Akos Maroy <darkeye@tyrell.hu>. diff --git a/sys/v4l2/gstv4l2src.c b/sys/v4l2/gstv4l2src.c index 45b60bde..b563d9c6 100644 --- a/sys/v4l2/gstv4l2src.c +++ b/sys/v4l2/gstv4l2src.c @@ -907,9 +907,7 @@ gst_v4l2src_get (GstPad * pad) g_assert (num != -1); GST_LOG_OBJECT (v4l2src, "buffer %d needs %d writes", num, v4l2src->need_writes + 1); - i = v4l2src->pool->buffers[num].buffer.bytesused > - 0 ? v4l2src->pool->buffers[num].buffer.bytesused : v4l2src->pool-> - buffers[num].length; + i = v4l2src->format.fmt.pix.sizeimage; /* check if this is the last buffer in the queue. If so do a memcpy to put it back asap to avoid framedrops and deadlocks because of stupid elements */ if (gst_atomic_int_read (&v4l2src->pool->refcount) == v4l2src->breq.count) { |