Commit dcd7fc6f authored by Ren-Pei Zeng's avatar Ren-Pei Zeng Committed by Commit Bot

chromeos_camera/JEA: Fix shared memory handle creation

The size of SharedMemoryHandle is now checked when mapping, so we should
pass correct buffer sizes in JEA.

Bug: b:133119111
Test: Take picture and check HW encoding works from /var/log/messages.
Change-Id: I30c95e85a329f95083ae16cf3383ff3377e53409
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1619517Reviewed-by: default avatarRicky Liang <jcliang@chromium.org>
Commit-Queue: Ren-Pei Zeng <kamesan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#661313}
parent 95aa03a9
...@@ -202,11 +202,11 @@ void MojoJpegEncodeAcceleratorService::EncodeWithFD( ...@@ -202,11 +202,11 @@ void MojoJpegEncodeAcceleratorService::EncodeWithFD(
base::UnguessableToken exif_guid = base::UnguessableToken::Create(); base::UnguessableToken exif_guid = base::UnguessableToken::Create();
base::UnguessableToken output_guid = base::UnguessableToken::Create(); base::UnguessableToken output_guid = base::UnguessableToken::Create();
base::SharedMemoryHandle input_shm_handle( base::SharedMemoryHandle input_shm_handle(
base::FileDescriptor(input_fd, true), 0u, input_guid); base::FileDescriptor(input_fd, true), input_buffer_size, input_guid);
base::SharedMemoryHandle exif_shm_handle(base::FileDescriptor(exif_fd, true), base::SharedMemoryHandle exif_shm_handle(base::FileDescriptor(exif_fd, true),
0u, exif_guid); exif_buffer_size, exif_guid);
base::SharedMemoryHandle output_shm_handle( base::SharedMemoryHandle output_shm_handle(
base::FileDescriptor(output_fd, true), 0u, output_guid); base::FileDescriptor(output_fd, true), output_buffer_size, output_guid);
media::BitstreamBuffer output_buffer( media::BitstreamBuffer output_buffer(
buffer_id, output_shm_handle, false /* read_only */, output_buffer_size); buffer_id, output_shm_handle, false /* read_only */, output_buffer_size);
...@@ -316,7 +316,7 @@ void MojoJpegEncodeAcceleratorService::EncodeWithDmaBuf( ...@@ -316,7 +316,7 @@ void MojoJpegEncodeAcceleratorService::EncodeWithDmaBuf(
} }
base::UnguessableToken exif_guid = base::UnguessableToken::Create(); base::UnguessableToken exif_guid = base::UnguessableToken::Create();
base::SharedMemoryHandle exif_shm_handle(base::FileDescriptor(exif_fd, true), base::SharedMemoryHandle exif_shm_handle(base::FileDescriptor(exif_fd, true),
0u, exif_guid); exif_buffer_size, exif_guid);
std::unique_ptr<media::BitstreamBuffer> exif_buffer; std::unique_ptr<media::BitstreamBuffer> exif_buffer;
if (exif_buffer_size > 0) { if (exif_buffer_size > 0) {
exif_buffer = std::make_unique<media::BitstreamBuffer>( exif_buffer = std::make_unique<media::BitstreamBuffer>(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment