WIP
This commit is contained in:
parent
ac9831bd1a
commit
3c4457076b
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
camera_stream
|
@ -13,11 +13,7 @@ bool buffer_output_dequeue(buffer_t *buf)
|
|||||||
|
|
||||||
bool buffer_consumed(buffer_t *buf)
|
bool buffer_consumed(buffer_t *buf)
|
||||||
{
|
{
|
||||||
if (buf->buf_list->do_mmap) {
|
if (buf->mmap_reflinks > 0) {
|
||||||
if (buf->mmap_reflinks <= 0) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
buf->mmap_reflinks--;
|
buf->mmap_reflinks--;
|
||||||
|
|
||||||
// update used bytes
|
// update used bytes
|
||||||
@ -31,11 +27,11 @@ bool buffer_consumed(buffer_t *buf)
|
|||||||
E_LOG_DEBUG(buf, "Queuing buffer...");
|
E_LOG_DEBUG(buf, "Queuing buffer...");
|
||||||
E_XIOCTL(buf, buf->buf_list->device->fd, VIDIOC_QBUF, &buf->v4l2_buffer, "Can't queue 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);
|
if (buf->mmap_source) {
|
||||||
buf->mmap_source = NULL;
|
buffer_consumed(buf->mmap_source);
|
||||||
}
|
buf->mmap_source = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
BIN
camera_stream
BIN
camera_stream
Binary file not shown.
2
device.c
2
device.c
@ -70,7 +70,7 @@ int device_open_buffer_list(device_t *dev, bool do_capture, unsigned width, unsi
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
buf_list = &dev->output_list;
|
buf_list = &dev->output_list;
|
||||||
do_mmap = true;
|
//do_mmap = true;
|
||||||
|
|
||||||
if (dev->v4l2_cap.capabilities & V4L2_CAP_VIDEO_OUTPUT) {
|
if (dev->v4l2_cap.capabilities & V4L2_CAP_VIDEO_OUTPUT) {
|
||||||
type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
|
type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user