summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/android/jpeg/post_processor_jpeg.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/android/jpeg/post_processor_jpeg.cpp b/src/android/jpeg/post_processor_jpeg.cpp
index 83244ce6..3bf16996 100644
--- a/src/android/jpeg/post_processor_jpeg.cpp
+++ b/src/android/jpeg/post_processor_jpeg.cpp
@@ -183,7 +183,7 @@ int PostProcessorJpeg::process(const FrameBuffer &source,
/* Fill in the JPEG blob header. */
uint8_t *resultPtr = destination->plane(0).data()
- + destination->plane(0).size()
+ + destination->jpegBufferSize(cameraDevice_->maxJpegBufferSize())
- sizeof(struct camera3_jpeg_blob);
auto *blob = reinterpret_cast<struct camera3_jpeg_blob *>(resultPtr);
blob->jpeg_blob_id = CAMERA3_JPEG_BLOB_ID;
' href='#n32'>32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Copyright (C) 2019, Google Inc.
 *
 * v4l2_compat_manager.h - V4L2 compatibility manager
 */

#ifndef __V4L2_COMPAT_MANAGER_H__
#define __V4L2_COMPAT_MANAGER_H__

#include <condition_variable>
#include <fcntl.h>
#include <map>
#include <memory>
#include <mutex>
#include <sys/types.h>
#include <vector>

#include <libcamera/camera_manager.h>

#include "thread.h"
#include "v4l2_camera_proxy.h"

using namespace libcamera;

class V4L2CompatManager : public Thread
{
public:
	static V4L2CompatManager *instance();

	int init();

	V4L2CameraProxy *getProxy(int fd);

	int openat(int dirfd, const char *path, int oflag, mode_t mode);

	int dup(int oldfd);
	int close(int fd);
	void *mmap(void *addr, size_t length, int prot, int flags,
		   int fd, off_t offset);
	int munmap(void *addr, size_t length);