From 3c4457076bad147e10381e89ea898250063af70d Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Mon, 4 Apr 2022 15:12:33 +0200 Subject: [PATCH] WIP --- .gitignore | 1 + buffer_queue.c | 16 ++++++---------- camera_stream | Bin 22792 -> 0 bytes device.c | 2 +- 4 files changed, 8 insertions(+), 11 deletions(-) create mode 100644 .gitignore delete mode 100755 camera_stream diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..02ceb54 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +camera_stream diff --git a/buffer_queue.c b/buffer_queue.c index 31267bb..63535ec 100644 --- a/buffer_queue.c +++ b/buffer_queue.c @@ -13,11 +13,7 @@ bool buffer_output_dequeue(buffer_t *buf) bool buffer_consumed(buffer_t *buf) { - if (buf->buf_list->do_mmap) { - if (buf->mmap_reflinks <= 0) { - return true; - } - + if (buf->mmap_reflinks > 0) { buf->mmap_reflinks--; // update used bytes @@ -31,11 +27,11 @@ bool buffer_consumed(buffer_t *buf) E_LOG_DEBUG(buf, "Queuing buffer..."); E_XIOCTL(buf, buf->buf_list->device->fd, VIDIOC_QBUF, &buf->v4l2_buffer, "Can't queue buffer."); } - } else { - if (buf->mmap_source) { - buffer_consumed(buf->mmap_source); - buf->mmap_source = NULL; - } + } + + if (buf->mmap_source) { + buffer_consumed(buf->mmap_source); + buf->mmap_source = NULL; } return true; diff --git a/camera_stream b/camera_stream deleted file mode 100755 index 77efafa5263771b870647971238ade500f6f4617..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22792 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 diff --git a/device.c b/device.c index fb91cb4..4634551 100644 --- a/device.c +++ b/device.c @@ -70,7 +70,7 @@ int device_open_buffer_list(device_t *dev, bool do_capture, unsigned width, unsi } } else { buf_list = &dev->output_list; - do_mmap = true; + //do_mmap = true; if (dev->v4l2_cap.capabilities & V4L2_CAP_VIDEO_OUTPUT) { type = V4L2_BUF_TYPE_VIDEO_OUTPUT;