From d9927380ed7c8366f762049be9f3fee225860833 Mon Sep 17 00:00:00 2001 From: liyujie <2352380935@qq.com> Date: Thu, 28 Aug 2025 12:04:16 +0000 Subject: [PATCH] [2/4]解决USB摄像头打开相机预览界面绿屏 --- android/hardware/aw/camera/3_4/camera_stream.cpp | 34 ++++++++++++++++++++++++---------- 1 files changed, 24 insertions(+), 10 deletions(-) diff --git a/android/hardware/aw/camera/3_4/camera_stream.cpp b/android/hardware/aw/camera/3_4/camera_stream.cpp index d5d8382..1b8f207 100755 --- a/android/hardware/aw/camera/3_4/camera_stream.cpp +++ b/android/hardware/aw/camera/3_4/camera_stream.cpp @@ -397,7 +397,8 @@ int CameraStream::initialize(uint32_t width, uint32_t height, int format, - uint32_t usage) { + uint32_t usage, + bool mergeStreamFlag) { int res = -1; HAL_LOGD("%s: %d x %d, format:%d(%s), usage:%d.", mStreamType.c_str(), @@ -407,7 +408,7 @@ getHalPixelFormatString(format).c_str(), usage); - res = stream_->SetParm(V4L2_MODE_VIDEO); + res = stream_->SetParm(V4L2_MODE_VIDEO, width, height); if (res) { HAL_LOGE("%s: Failed to SetParm.", mStreamType.c_str()); } @@ -417,7 +418,7 @@ format = HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED; } StreamFormat stream_format(format, width, height); - res = stream_->SetFormat(stream_format, &max_buffers); + res = stream_->SetFormat(stream_format, &max_buffers, mergeStreamFlag); if (res) { HAL_LOGE("%s: Failed to set stream to correct format for stream: %d.", mStreamType.c_str(), res); @@ -543,9 +544,14 @@ int CameraMainStream::initialize(uint32_t width, uint32_t height, - int format, - uint32_t usage) { - return CameraStream::initialize(width, height, format, usage); + int format, + uint32_t usage, + bool mergeStreamFlag) { + return CameraStream::initialize(width, + height, + format, + usage, + mergeStreamFlag); } int CameraMainStream::setFormat(uint32_t width, @@ -680,8 +686,14 @@ int CameraSubStream::initialize(uint32_t width, uint32_t height, int format, - uint32_t usage) { - return CameraStream::initialize(width, height, format, usage); + uint32_t usage, + bool mergeStreamFlag) { + return CameraStream::initialize(width, + height, + format, + usage, + mergeStreamFlag); + } int CameraSubStream::setFormat(uint32_t width, @@ -803,7 +815,8 @@ int CameraMainMirrorStream::initialize(uint32_t /*width*/, uint32_t /*height*/, int /*format*/, - uint32_t /*usage*/) { + uint32_t /*usage*/, + bool /*mergeStreamFlag*/) { initialized = true; return 0; } @@ -935,7 +948,8 @@ int CameraSubMirrorStream::initialize(uint32_t /*width*/, uint32_t /*height*/, int /*format*/, - uint32_t /*usage*/) { + uint32_t /*usage*/, + bool /*mergeStreamFlag*/) { int res = 0; initialized = true; return res; -- Gitblit v1.6.2