Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a245a1c authored by Amy Zhang's avatar Amy Zhang Committed by Automerger Merge Worker
Browse files

Merge "Make the tv tuner hal use libdmabufheap instead of libion" am:...

Merge "Make the tv tuner hal use libdmabufheap instead of libion" am: 5001056e am: 4448d5ff am: 5df80531 am: 28aa7cba

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1610134

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8a370fb6a4d46274cff97165d21fc4f795bca6c3
parents 6658b8db 28aa7cba
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ cc_defaults {
        "libfmq",
        "libhidlbase",
        "libhidlmemory",
        "libion",
        "libdmabufheap",
        "liblog",
        "libstagefright_foundation",
        "libutils",
+9 −7
Original line number Diff line number Diff line
@@ -16,9 +16,11 @@

#define LOG_TAG "android.hardware.tv.tuner@1.0-Filter"

#include "Filter.h"
#include <BufferAllocator/BufferAllocator.h>
#include <utils/Log.h>

#include "Filter.h"

namespace android {
namespace hardware {
namespace tv {
@@ -622,15 +624,15 @@ void Filter::detachFilterFromRecord() {
}

int Filter::createAvIonFd(int size) {
    // Create an ion fd and allocate an av fd mapped to a buffer to it.
    int ion_fd = ion_open();
    if (ion_fd == -1) {
        ALOGE("[Filter] Failed to open ion fd %d", errno);
    // Create an DMA-BUF fd and allocate an av fd mapped to a buffer to it.
    auto buffer_allocator = std::make_unique<BufferAllocator>();
    if (!buffer_allocator) {
        ALOGE("[Filter] Unable to create BufferAllocator object");
        return -1;
    }
    int av_fd = -1;
    ion_alloc_fd(dup(ion_fd), size, 0 /*align*/, ION_HEAP_SYSTEM_MASK, 0 /*flags*/, &av_fd);
    if (av_fd == -1) {
    av_fd = buffer_allocator->Alloc("system-uncached", size);
    if (av_fd < 0) {
        ALOGE("[Filter] Failed to create av fd %d", errno);
        return -1;
    }