blob: 4441d6695eb59b92e109beb3d1a899c1dd51bde1 [file] [log] [blame]
// 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