From: Hans Verkuil Date: Sun, 3 Mar 2013 14:21:29 +0000 (+0100) Subject: v4l2-ctl: when streaming to file use bytesused instead of the full buffer. X-Git-Tag: v4l-utils-0.9.4~49 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=85a2639bfc57de7970fde09ec43100b409b86c44;p=platform%2Fupstream%2Fv4l-utils.git v4l2-ctl: when streaming to file use bytesused instead of the full buffer. This makes it possible to use v4l2-ctl to stream compressed video using stream I/O. Signed-off-by: Hans Verkuil --- diff --git a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp index 5a080e3..e23e317 100644 --- a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp +++ b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp @@ -674,11 +674,11 @@ void streaming_set(int fd) if (fout && !stream_skip) { for (unsigned j = 0; j < num_planes; j++) { unsigned p = buf.index * num_planes + j; - unsigned sz = fwrite(buffers[p], 1, - buffer_lengths[p], fout); + unsigned used = is_mplane ? planes[j].bytesused : buf.bytesused; + unsigned sz = fwrite(buffers[p], 1, used, fout); - if (sz != buffer_lengths[p]) - fprintf(stderr, "%u != %u\n", sz, buffer_lengths[p]); + if (sz != used) + fprintf(stderr, "%u != %u\n", sz, used); } } if (doioctl(fd, VIDIOC_QBUF, &buf))