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

Commit 0262d603 authored by Jiwen 'Steve' Cai's avatar Jiwen 'Steve' Cai
Browse files

Deprecate legacy and unused DVR API

Bug: 65469368
Test: Build system and run VrHome; dvr_api-test
Change-Id: I366549319e96ed936815f100f8e64e6a1c4f52bb
parent 0c7c5d6c
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -41,10 +41,19 @@ int dvrGetApi(void* api, size_t struct_size, int version) {
    }                                                          \
  } while (0)

#define DVR_V1_API_ENTRY_DEPRECATED(name)                      \
  do {                                                         \
    if ((offsetof(DvrApi_v1, name) + sizeof(dvr_api->name)) <= \
        clamped_struct_size) {                                 \
      dvr_api->name = nullptr;                                 \
    }                                                          \
  } while (0)

#include "include/dvr/dvr_api_entries.h"

// Undefine macro definitions to play nice with Google3 style rules.
#undef DVR_V1_API_ENTRY
#undef DVR_V1_API_ENTRY_DEPRECATED

    return 0;
  }
+0 −104
Original line number Diff line number Diff line
@@ -38,11 +38,6 @@ int ConvertToAHardwareBuffer(GraphicBuffer* graphic_buffer,

extern "C" {

void dvrWriteBufferCreateEmpty(DvrWriteBuffer** write_buffer) {
  if (write_buffer)
    *write_buffer = new DvrWriteBuffer;
}

void dvrWriteBufferDestroy(DvrWriteBuffer* write_buffer) {
  if (write_buffer != nullptr) {
    ALOGW_IF(
@@ -57,14 +52,6 @@ int dvrWriteBufferIsValid(DvrWriteBuffer* write_buffer) {
  return write_buffer && write_buffer->write_buffer;
}

int dvrWriteBufferClear(DvrWriteBuffer* write_buffer) {
  if (!write_buffer)
    return -EINVAL;

  write_buffer->write_buffer = nullptr;
  return 0;
}

int dvrWriteBufferGetId(DvrWriteBuffer* write_buffer) {
  if (!write_buffer || !write_buffer->write_buffer)
    return -EINVAL;
@@ -81,38 +68,6 @@ int dvrWriteBufferGetAHardwareBuffer(DvrWriteBuffer* write_buffer,
      write_buffer->write_buffer->buffer()->buffer().get(), hardware_buffer);
}

int dvrWriteBufferPost(DvrWriteBuffer* write_buffer, int ready_fence_fd,
                       const void* meta, size_t meta_size_bytes) {
  if (!write_buffer || !write_buffer->write_buffer)
    return -EINVAL;

  pdx::LocalHandle fence(ready_fence_fd);
  int result = write_buffer->write_buffer->Post(fence, meta, meta_size_bytes);
  return result;
}

int dvrWriteBufferGain(DvrWriteBuffer* write_buffer, int* release_fence_fd) {
  if (!write_buffer || !write_buffer->write_buffer || !release_fence_fd)
    return -EINVAL;

  pdx::LocalHandle release_fence;
  int result = write_buffer->write_buffer->Gain(&release_fence);
  *release_fence_fd = release_fence.Release();
  return result;
}

int dvrWriteBufferGainAsync(DvrWriteBuffer* write_buffer) {
  if (!write_buffer || !write_buffer->write_buffer)
    return -EINVAL;

  return write_buffer->write_buffer->GainAsync();
}

void dvrReadBufferCreateEmpty(DvrReadBuffer** read_buffer) {
  if (read_buffer)
    *read_buffer = new DvrReadBuffer;
}

void dvrReadBufferDestroy(DvrReadBuffer* read_buffer) {
  if (read_buffer != nullptr) {
    ALOGW_IF(
@@ -127,14 +82,6 @@ int dvrReadBufferIsValid(DvrReadBuffer* read_buffer) {
  return read_buffer && read_buffer->read_buffer;
}

int dvrReadBufferClear(DvrReadBuffer* read_buffer) {
  if (!read_buffer)
    return -EINVAL;

  read_buffer->read_buffer = nullptr;
  return 0;
}

int dvrReadBufferGetId(DvrReadBuffer* read_buffer) {
  if (!read_buffer || !read_buffer->read_buffer)
    return -EINVAL;
@@ -151,34 +98,6 @@ int dvrReadBufferGetAHardwareBuffer(DvrReadBuffer* read_buffer,
      read_buffer->read_buffer->buffer()->buffer().get(), hardware_buffer);
}

int dvrReadBufferAcquire(DvrReadBuffer* read_buffer, int* ready_fence_fd,
                         void* meta, size_t meta_size_bytes) {
  if (!read_buffer || !read_buffer->read_buffer)
    return -EINVAL;

  pdx::LocalHandle ready_fence;
  int result =
      read_buffer->read_buffer->Acquire(&ready_fence, meta, meta_size_bytes);
  *ready_fence_fd = ready_fence.Release();
  return result;
}

int dvrReadBufferRelease(DvrReadBuffer* read_buffer, int release_fence_fd) {
  if (!read_buffer || !read_buffer->read_buffer)
    return -EINVAL;

  pdx::LocalHandle fence(release_fence_fd);
  int result = read_buffer->read_buffer->Release(fence);
  return result;
}

int dvrReadBufferReleaseAsync(DvrReadBuffer* read_buffer) {
  if (!read_buffer || !read_buffer->read_buffer)
    return -EINVAL;

  return read_buffer->read_buffer->ReleaseAsync();
}

void dvrBufferDestroy(DvrBuffer* buffer) { delete buffer; }

int dvrBufferGetAHardwareBuffer(DvrBuffer* buffer,
@@ -196,27 +115,4 @@ int dvrBufferGlobalLayoutVersionGet() {
  return android::dvr::kSharedBufferLayoutVersion;
}

const struct native_handle* dvrWriteBufferGetNativeHandle(
    DvrWriteBuffer* write_buffer) {
  if (!write_buffer || !write_buffer->write_buffer)
    return nullptr;

  return write_buffer->write_buffer->native_handle();
}

const struct native_handle* dvrReadBufferGetNativeHandle(
    DvrReadBuffer* read_buffer) {
  if (!read_buffer || !read_buffer->read_buffer)
    return nullptr;

  return read_buffer->read_buffer->native_handle();
}

const struct native_handle* dvrBufferGetNativeHandle(DvrBuffer* buffer) {
  if (!buffer || !buffer->buffer)
    return nullptr;

  return buffer->buffer->handle();
}

}  // extern "C"
+0 −45
Original line number Diff line number Diff line
@@ -273,14 +273,6 @@ int dvrWriteBufferQueueGetId(DvrWriteBufferQueue* write_queue) {
  return write_queue->id();
}

int dvrWriteBufferQueueGetExternalSurface(DvrWriteBufferQueue* write_queue,
                                          ANativeWindow** out_window) {
  ALOGW(
      "dvrWriteBufferQueueGetExternalSurface: This API has been deprecated and "
      "renamed to dvrWriteBufferQueueGetANativeWindow.");
  return dvrWriteBufferQueueGetANativeWindow(write_queue, out_window);
}

int dvrWriteBufferQueueGetANativeWindow(DvrWriteBufferQueue* write_queue,
                                        ANativeWindow** out_window) {
  if (!write_queue || !out_window)
@@ -297,15 +289,6 @@ int dvrWriteBufferQueueCreateReadQueue(DvrWriteBufferQueue* write_queue,
  return write_queue->CreateReadQueue(out_read_queue);
}

int dvrWriteBufferQueueDequeue(DvrWriteBufferQueue* write_queue, int timeout,
                               DvrWriteBuffer* write_buffer,
                               int* out_fence_fd) {
  if (!write_queue || !write_buffer || !out_fence_fd)
    return -EINVAL;

  return write_queue->Dequeue(timeout, write_buffer, out_fence_fd);
}

int dvrWriteBufferQueueGainBuffer(DvrWriteBufferQueue* write_queue, int timeout,
                                  DvrWriteBuffer** out_write_buffer,
                                  DvrNativeBufferMetadata* out_meta,
@@ -355,34 +338,6 @@ int DvrReadBufferQueue::CreateReadQueue(DvrReadBufferQueue** out_read_queue) {
  return 0;
}

int DvrReadBufferQueue::Dequeue(int timeout, DvrReadBuffer* read_buffer,
                                int* out_fence_fd, void* out_meta,
                                size_t meta_size_bytes) {
  if (meta_size_bytes != consumer_queue_->metadata_size()) {
    ALOGE(
        "DvrReadBufferQueue::Dequeue: Invalid metadata size, expected (%zu), "
        "but actual (%zu).",
        consumer_queue_->metadata_size(), meta_size_bytes);
    return -EINVAL;
  }

  size_t slot;
  pdx::LocalHandle acquire_fence;
  auto buffer_status = consumer_queue_->Dequeue(
      timeout, &slot, out_meta, meta_size_bytes, &acquire_fence);
  if (!buffer_status) {
    ALOGE_IF(buffer_status.error() != ETIMEDOUT,
             "dvrReadBufferQueueDequeue: Failed to dequeue buffer: %s",
             buffer_status.GetErrorMessage().c_str());
    return -buffer_status.error();
  }

  read_buffer->read_buffer = buffer_status.take();
  *out_fence_fd = acquire_fence.Release();

  return 0;
}

int DvrReadBufferQueue::AcquireBuffer(int timeout,
                                      DvrReadBuffer** out_read_buffer,
                                      DvrNativeBufferMetadata* out_meta,
+2 −0
Original line number Diff line number Diff line
@@ -443,11 +443,13 @@ static_assert(sizeof(DvrNativeBufferMetadata) == 104,
struct DvrApi_v1 {
// Defines an API entry for V1 (no version suffix).
#define DVR_V1_API_ENTRY(name) Dvr##name##Ptr name
#define DVR_V1_API_ENTRY_DEPRECATED(name) Dvr##name##Ptr name

#include "dvr_api_entries.h"

// Undefine macro definitions to play nice with Google3 style rules.
#undef DVR_V1_API_ENTRY
#undef DVR_V1_API_ENTRY_DEPRECATED
};

int dvrGetApi(void* api, size_t struct_size, int version);
+20 −16
Original line number Diff line number Diff line
@@ -8,6 +8,10 @@
#error Do not include this header directly.
#endif

#ifndef DVR_V1_API_ENTRY_DEPRECATED
#error Do not include this header directly.
#endif

// Do not delete this line: BEGIN CODEGEN OUTPUT
// Display manager client
DVR_V1_API_ENTRY(DisplayManagerCreate);
@@ -32,42 +36,42 @@ DVR_V1_API_ENTRY(SurfaceStateGetAttributeCount);
DVR_V1_API_ENTRY(SurfaceStateGetAttributes);

// Write buffer
DVR_V1_API_ENTRY(WriteBufferCreateEmpty);
DVR_V1_API_ENTRY_DEPRECATED(WriteBufferCreateEmpty);
DVR_V1_API_ENTRY(WriteBufferDestroy);
DVR_V1_API_ENTRY(WriteBufferIsValid);
DVR_V1_API_ENTRY(WriteBufferClear);
DVR_V1_API_ENTRY_DEPRECATED(WriteBufferClear);
DVR_V1_API_ENTRY(WriteBufferGetId);
DVR_V1_API_ENTRY(WriteBufferGetAHardwareBuffer);
DVR_V1_API_ENTRY(WriteBufferPost);
DVR_V1_API_ENTRY(WriteBufferGain);
DVR_V1_API_ENTRY(WriteBufferGainAsync);
DVR_V1_API_ENTRY(WriteBufferGetNativeHandle);
DVR_V1_API_ENTRY_DEPRECATED(WriteBufferPost);
DVR_V1_API_ENTRY_DEPRECATED(WriteBufferGain);
DVR_V1_API_ENTRY_DEPRECATED(WriteBufferGainAsync);
DVR_V1_API_ENTRY_DEPRECATED(WriteBufferGetNativeHandle);

// Read buffer
DVR_V1_API_ENTRY(ReadBufferCreateEmpty);
DVR_V1_API_ENTRY_DEPRECATED(ReadBufferCreateEmpty);
DVR_V1_API_ENTRY(ReadBufferDestroy);
DVR_V1_API_ENTRY(ReadBufferIsValid);
DVR_V1_API_ENTRY(ReadBufferClear);
DVR_V1_API_ENTRY_DEPRECATED(ReadBufferClear);
DVR_V1_API_ENTRY(ReadBufferGetId);
DVR_V1_API_ENTRY(ReadBufferGetAHardwareBuffer);
DVR_V1_API_ENTRY(ReadBufferAcquire);
DVR_V1_API_ENTRY(ReadBufferRelease);
DVR_V1_API_ENTRY(ReadBufferReleaseAsync);
DVR_V1_API_ENTRY(ReadBufferGetNativeHandle);
DVR_V1_API_ENTRY_DEPRECATED(ReadBufferAcquire);
DVR_V1_API_ENTRY_DEPRECATED(ReadBufferRelease);
DVR_V1_API_ENTRY_DEPRECATED(ReadBufferReleaseAsync);
DVR_V1_API_ENTRY_DEPRECATED(ReadBufferGetNativeHandle);

// Buffer
DVR_V1_API_ENTRY(BufferDestroy);
DVR_V1_API_ENTRY(BufferGetAHardwareBuffer);
DVR_V1_API_ENTRY(BufferGetNativeHandle);
DVR_V1_API_ENTRY_DEPRECATED(BufferGetNativeHandle);
DVR_V1_API_ENTRY(BufferGlobalLayoutVersionGet);

// Write buffer queue
DVR_V1_API_ENTRY(WriteBufferQueueDestroy);
DVR_V1_API_ENTRY(WriteBufferQueueGetCapacity);
DVR_V1_API_ENTRY(WriteBufferQueueGetId);
DVR_V1_API_ENTRY(WriteBufferQueueGetExternalSurface);  // deprecated
DVR_V1_API_ENTRY_DEPRECATED(WriteBufferQueueGetExternalSurface);
DVR_V1_API_ENTRY(WriteBufferQueueCreateReadQueue);
DVR_V1_API_ENTRY(WriteBufferQueueDequeue);
DVR_V1_API_ENTRY_DEPRECATED(WriteBufferQueueDequeue);
DVR_V1_API_ENTRY(WriteBufferQueueResizeBuffer);

// Read buffer queue
@@ -75,7 +79,7 @@ DVR_V1_API_ENTRY(ReadBufferQueueDestroy);
DVR_V1_API_ENTRY(ReadBufferQueueGetCapacity);
DVR_V1_API_ENTRY(ReadBufferQueueGetId);
DVR_V1_API_ENTRY(ReadBufferQueueCreateReadQueue);
DVR_V1_API_ENTRY(ReadBufferQueueDequeue);
DVR_V1_API_ENTRY_DEPRECATED(ReadBufferQueueDequeue);
DVR_V1_API_ENTRY(ReadBufferQueueSetBufferAvailableCallback);
DVR_V1_API_ENTRY(ReadBufferQueueSetBufferRemovedCallback);
DVR_V1_API_ENTRY(ReadBufferQueueHandleEvents);
Loading