Skip to content
Snippets Groups Projects
Commit 7a777b9f authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "plugin_store: split getDmabufId() function to dedicated file" am:...

Merge "plugin_store: split getDmabufId() function to dedicated file" am: 2c2e7cdb am: 98d279af am: 7ee4c865 am: 1a3b3ae6

Original change: https://android-review.googlesource.com/c/platform/external/v4l2_codec2/+/1883434

Change-Id: I8b319ac872382faa9097feaf37532a864befccf4
parents 560dd375 1a3b3ae6
No related branches found
No related tags found
No related merge requests found
...@@ -18,6 +18,7 @@ cc_library_shared { ...@@ -18,6 +18,7 @@ cc_library_shared {
srcs: [ srcs: [
"C2VdaBqBlockPool.cpp", "C2VdaBqBlockPool.cpp",
"C2VdaPooledBlockPool.cpp", "C2VdaPooledBlockPool.cpp",
"DmabufHelpers.cpp",
"H2BGraphicBufferProducer.cpp", "H2BGraphicBufferProducer.cpp",
"V4L2PluginStore.cpp", "V4L2PluginStore.cpp",
"VendorAllocatorLoader.cpp", "VendorAllocatorLoader.cpp",
......
...@@ -9,9 +9,6 @@ ...@@ -9,9 +9,6 @@
#include <errno.h> #include <errno.h>
#include <string.h> #include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <chrono> #include <chrono>
#include <mutex> #include <mutex>
...@@ -27,6 +24,7 @@ ...@@ -27,6 +24,7 @@
#include <log/log.h> #include <log/log.h>
#include <ui/BufferQueueDefs.h> #include <ui/BufferQueueDefs.h>
#include <v4l2_codec2/plugin_store/DmabufHelpers.h>
#include <v4l2_codec2/plugin_store/H2BGraphicBufferProducer.h> #include <v4l2_codec2/plugin_store/H2BGraphicBufferProducer.h>
#include <v4l2_codec2/plugin_store/V4L2AllocatorId.h> #include <v4l2_codec2/plugin_store/V4L2AllocatorId.h>
...@@ -54,20 +52,6 @@ using ::android::BufferQueueDefs::NUM_BUFFER_SLOTS; ...@@ -54,20 +52,6 @@ using ::android::BufferQueueDefs::NUM_BUFFER_SLOTS;
using ::android::hardware::Return; using ::android::hardware::Return;
using HProducerListener = ::android::hardware::graphics::bufferqueue::V2_0::IProducerListener; using HProducerListener = ::android::hardware::graphics::bufferqueue::V2_0::IProducerListener;
std::optional<unique_id_t> getDmabufId(int dmabufFd) {
struct stat sb {};
if (fstat(dmabufFd, &sb) != 0) {
return std::nullopt;
}
if (sb.st_size == 0) {
ALOGE("Dma-buf size is 0. Please check your kernel is v5.3+");
return std::nullopt;
}
return static_cast<unique_id_t>(sb.st_ino);
}
static c2_status_t asC2Error(status_t err) { static c2_status_t asC2Error(status_t err) {
switch (err) { switch (err) {
case OK: case OK:
......
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//#define LOG_NDEBUG 0
#define LOG_TAG "DmabufHelpers"
#include <v4l2_codec2/plugin_store/DmabufHelpers.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <log/log.h>
namespace android {
std::optional<unique_id_t> getDmabufId(int dmabufFd) {
struct stat sb {};
if (fstat(dmabufFd, &sb) != 0) {
return std::nullopt;
}
if (sb.st_size == 0) {
ALOGE("Dma-buf size is 0. Please check your kernel is v5.3+");
return std::nullopt;
}
return static_cast<unique_id_t>(sb.st_ino);
}
} // namespace android
...@@ -16,10 +16,6 @@ ...@@ -16,10 +16,6 @@
namespace android { namespace android {
// We use the value of dma-buf inode as the unique ID of the graphic buffers.
using unique_id_t = uint32_t;
std::optional<unique_id_t> getDmabufId(int dmabufFd);
/** /**
* The BufferQueue-backed block pool design which supports to request arbitrary count of graphic * The BufferQueue-backed block pool design which supports to request arbitrary count of graphic
* buffers from IGBP, and use this buffer set among codec component and client. * buffers from IGBP, and use this buffer set among codec component and client.
......
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ANDROID_V4L2_CODEC2_PLUGIN_STORE_DMABUF_HELPERS_H
#define ANDROID_V4L2_CODEC2_PLUGIN_STORE_DMABUF_HELPERS_H
#include <inttypes.h>
#include <optional>
namespace android {
// We use the value of dma-buf inode as the unique ID of the graphic buffers.
using unique_id_t = uint32_t;
std::optional<unique_id_t> getDmabufId(int dmabufFd);
} // namespace android
#endif // ANDROID_V4L2_CODEC2_PLUGIN_STORE_DMABUF_HELPERS_H
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment