Move IGraphicBufferProducer to graphics/bufferqueue.

Test: With CtsMediaTestCases.apk installed,
adb shell am instrument -e size small -w
'android.media.cts/android.support.test.runner.AndroidJUnitRunner'

Bug: 35442034
Change-Id: Ia1ef0eb069fcd97f7afcf42bf3bb16c8c6a752c4
This commit is contained in:
Pawin Vongmasa 2017-03-06 15:09:19 -08:00
parent 13690d2315
commit 4a3cd13ddc
6 changed files with 100 additions and 32 deletions

View file

@ -3,6 +3,7 @@ subdirs = [
"allocator/2.0",
"allocator/2.0/default",
"allocator/2.0/vts/functional",
"bufferqueue/1.0",
"common/1.0",
"composer/2.1",
"composer/2.1/default",

View file

@ -0,0 +1,70 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
filegroup {
name: "android.hardware.graphics.bufferqueue@1.0_hal",
srcs: [
"IGraphicBufferProducer.hal",
"IProducerListener.hal",
],
}
genrule {
name: "android.hardware.graphics.bufferqueue@1.0_genc++",
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.bufferqueue@1.0",
srcs: [
":android.hardware.graphics.bufferqueue@1.0_hal",
],
out: [
"android/hardware/graphics/bufferqueue/1.0/GraphicBufferProducerAll.cpp",
"android/hardware/graphics/bufferqueue/1.0/ProducerListenerAll.cpp",
],
}
genrule {
name: "android.hardware.graphics.bufferqueue@1.0_genc++_headers",
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.bufferqueue@1.0",
srcs: [
":android.hardware.graphics.bufferqueue@1.0_hal",
],
out: [
"android/hardware/graphics/bufferqueue/1.0/IGraphicBufferProducer.h",
"android/hardware/graphics/bufferqueue/1.0/IHwGraphicBufferProducer.h",
"android/hardware/graphics/bufferqueue/1.0/BnHwGraphicBufferProducer.h",
"android/hardware/graphics/bufferqueue/1.0/BpHwGraphicBufferProducer.h",
"android/hardware/graphics/bufferqueue/1.0/BsGraphicBufferProducer.h",
"android/hardware/graphics/bufferqueue/1.0/IProducerListener.h",
"android/hardware/graphics/bufferqueue/1.0/IHwProducerListener.h",
"android/hardware/graphics/bufferqueue/1.0/BnHwProducerListener.h",
"android/hardware/graphics/bufferqueue/1.0/BpHwProducerListener.h",
"android/hardware/graphics/bufferqueue/1.0/BsProducerListener.h",
],
}
cc_library_shared {
name: "android.hardware.graphics.bufferqueue@1.0",
generated_sources: ["android.hardware.graphics.bufferqueue@1.0_genc++"],
generated_headers: ["android.hardware.graphics.bufferqueue@1.0_genc++_headers"],
export_generated_headers: ["android.hardware.graphics.bufferqueue@1.0_genc++_headers"],
shared_libs: [
"libhidlbase",
"libhidltransport",
"libhwbinder",
"liblog",
"libutils",
"libcutils",
"android.hardware.graphics.common@1.0",
"android.hardware.media@1.0",
"android.hidl.base@1.0",
],
export_shared_lib_headers: [
"libhidlbase",
"libhidltransport",
"libhwbinder",
"libutils",
"android.hardware.graphics.common@1.0",
"android.hardware.media@1.0",
"android.hidl.base@1.0",
],
}

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2016 The Android Open Source Project
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -14,20 +14,29 @@
* limitations under the License.
*/
package android.hardware.media.omx@1.0;
package android.hardware.graphics.bufferqueue@1.0;
import android.hardware.media@1.0::Fence;
import android.hardware.media@1.0::AnwBuffer;
import android.hardware.media@1.0::Rect;
import android.hardware.media@1.0::Region;
import android.hardware.graphics.common@1.0::Dataspace;
import android.hardware.graphics.common@1.0::PixelFormat;
import android.hardware.media@1.0::types;
import IOmxProducerListener;
import IProducerListener;
/**
* Ref: frameworks/native/include/gui/IGraphicBufferProducer.h:
* IGraphicBufferProducer
* This is a wrapper/wrapped HAL interface for the actual binder interface.
*/
interface IOmxBufferProducer {
interface IGraphicBufferProducer {
/**
* Type for return values of functions in IGraphicBufferProducer.
*/
typedef int32_t Status;
/**
* Ref: frameworks/native/include/ui/FenceTime.h: FenceTime::Snapshot
@ -142,7 +151,7 @@ interface IOmxBufferProducer {
/**
* requestBuffer requests a new buffer for the given index. The server (i.e.
* the IOmxBufferProducer implementation) assigns the newly created
* the IProducerListener implementation) assigns the newly created
* buffer to the given slot index, and the client is expected to mirror the
* slot->buffer mapping so that it's not necessary to transfer an
* AnwBuffer for every dequeue operation.
@ -466,12 +475,12 @@ interface IOmxBufferProducer {
);
/**
* connect attempts to connect a client API to the IOmxBufferProducer.
* This must be called before any other IOmxBufferProducer methods are
* connect attempts to connect a client API to the IGraphicBufferProducer.
* This must be called before any other IGraphicBufferProducer methods are
* called except for getAllocator. A consumer must be already connected.
*
* This method will fail if the connect was previously called on the
* IOmxBufferProducer and no corresponding disconnect call was made.
* IGraphicBufferProducer and no corresponding disconnect call was made.
*
* The listener is an optional binder callback object that can be used if
* the producer wants to be notified when the consumer releases a buffer
@ -506,7 +515,7 @@ interface IOmxBufferProducer {
* should be treated as opaque fatal unrecoverable errors.
*/
connect(
IOmxProducerListener listener,
IProducerListener listener,
int32_t api,
bool producerControlledByApp
) generates (
@ -516,8 +525,8 @@ interface IOmxBufferProducer {
/**
* disconnect attempts to disconnect a client API from the
* IOmxBufferProducer. Calling this method will cause any subsequent
* calls to other IOmxBufferProducer methods to fail except for
* IGraphicBufferProducer. Calling this method will cause any subsequent
* calls to other IGraphicBufferProducer methods to fail except for
* getAllocator and connect. Successfully calling connect after this will
* allow the other methods to succeed again.
*
@ -526,7 +535,7 @@ interface IOmxBufferProducer {
* Alternatively if mode is AllLocal, then the API value is ignored, and any API
* connected from the same PID calling disconnect will be disconnected.
*
* Disconnecting from an abandoned IOmxBufferProducer is legal and
* Disconnecting from an abandoned IGraphicBufferProducer is legal and
* is considered a no-op.
*
* Return of a value other than NO_ERROR means an error has occurred:
@ -543,7 +552,7 @@ interface IOmxBufferProducer {
);
/**
* Attaches a sideband buffer stream to the IOmxBufferProducer.
* Attaches a sideband buffer stream to the IGraphicBufferProducer.
*
* A sideband stream is a device-specific mechanism for passing buffers
* from the producer to the consumer without using dequeueBuffer/

View file

@ -14,13 +14,13 @@
* limitations under the License.
*/
package android.hardware.media.omx@1.0;
package android.hardware.graphics.bufferqueue@1.0;
/**
* Ref: frameworks/native/include/gui/IProducerListener.h: IProducerListener
* This is a wrapper/wrapped HAL interface for the actual binder interface.
*/
interface IOmxProducerListener {
interface IProducerListener {
oneway onBufferReleased();
needsReleaseNotify() generates (bool result);
};

View file

@ -6,11 +6,9 @@ filegroup {
"types.hal",
"IGraphicBufferSource.hal",
"IOmx.hal",
"IOmxBufferProducer.hal",
"IOmxBufferSource.hal",
"IOmxNode.hal",
"IOmxObserver.hal",
"IOmxProducerListener.hal",
],
}
@ -25,11 +23,9 @@ genrule {
"android/hardware/media/omx/1.0/types.cpp",
"android/hardware/media/omx/1.0/GraphicBufferSourceAll.cpp",
"android/hardware/media/omx/1.0/OmxAll.cpp",
"android/hardware/media/omx/1.0/OmxBufferProducerAll.cpp",
"android/hardware/media/omx/1.0/OmxBufferSourceAll.cpp",
"android/hardware/media/omx/1.0/OmxNodeAll.cpp",
"android/hardware/media/omx/1.0/OmxObserverAll.cpp",
"android/hardware/media/omx/1.0/OmxProducerListenerAll.cpp",
],
}
@ -52,11 +48,6 @@ genrule {
"android/hardware/media/omx/1.0/BnHwOmx.h",
"android/hardware/media/omx/1.0/BpHwOmx.h",
"android/hardware/media/omx/1.0/BsOmx.h",
"android/hardware/media/omx/1.0/IOmxBufferProducer.h",
"android/hardware/media/omx/1.0/IHwOmxBufferProducer.h",
"android/hardware/media/omx/1.0/BnHwOmxBufferProducer.h",
"android/hardware/media/omx/1.0/BpHwOmxBufferProducer.h",
"android/hardware/media/omx/1.0/BsOmxBufferProducer.h",
"android/hardware/media/omx/1.0/IOmxBufferSource.h",
"android/hardware/media/omx/1.0/IHwOmxBufferSource.h",
"android/hardware/media/omx/1.0/BnHwOmxBufferSource.h",
@ -72,11 +63,6 @@ genrule {
"android/hardware/media/omx/1.0/BnHwOmxObserver.h",
"android/hardware/media/omx/1.0/BpHwOmxObserver.h",
"android/hardware/media/omx/1.0/BsOmxObserver.h",
"android/hardware/media/omx/1.0/IOmxProducerListener.h",
"android/hardware/media/omx/1.0/IHwOmxProducerListener.h",
"android/hardware/media/omx/1.0/BnHwOmxProducerListener.h",
"android/hardware/media/omx/1.0/BpHwOmxProducerListener.h",
"android/hardware/media/omx/1.0/BsOmxProducerListener.h",
],
}
@ -92,6 +78,7 @@ cc_library_shared {
"liblog",
"libutils",
"libcutils",
"android.hardware.graphics.bufferqueue@1.0",
"android.hardware.graphics.common@1.0",
"android.hardware.media@1.0",
"android.hidl.base@1.0",
@ -101,6 +88,7 @@ cc_library_shared {
"libhidltransport",
"libhwbinder",
"libutils",
"android.hardware.graphics.bufferqueue@1.0",
"android.hardware.graphics.common@1.0",
"android.hardware.media@1.0",
"android.hidl.base@1.0",

View file

@ -16,11 +16,11 @@
package android.hardware.media.omx@1.0;
import android.hardware.graphics.bufferqueue@1.0::IGraphicBufferProducer;
import android.hardware.media@1.0::types;
import IOmxNode;
import IOmxObserver;
import IOmxBufferProducer;
import IGraphicBufferSource;
/**
@ -76,7 +76,7 @@ interface IOmx {
createInputSurface(
) generates (
Status status,
IOmxBufferProducer producer,
IGraphicBufferProducer producer,
IGraphicBufferSource source
);
};