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

Commit 038b605c 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" into sc-dev am: 6d52732d

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I255c7f5e9a9037ce8d59f311f54371223875dc64
parents 2f956f08 6d52732d
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@ cc_defaults {
        "android.hardware.tv.tuner@1.1",
        "android.hardware.tv.tuner@1.1",
        "android.hidl.memory@1.0",
        "android.hidl.memory@1.0",
        "libcutils",
        "libcutils",
        "libdmabufheap",
        "libfmq",
        "libfmq",
        "libhidlbase",
        "libhidlbase",
        "libhidlmemory",
        "libhidlmemory",
+9 −7
Original line number Original line Diff line number Diff line
@@ -16,9 +16,11 @@


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


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


#include "Filter.h"

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


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