mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:09:42 +00:00
Merge "media.c2 aidl: Use IGraphicBufferAllocator for createBlockPool()" into main am: 6e053ee395 am: 8f2ffb4d1b am: 0691e0b9fe
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2721919 Change-Id: Ia08cba52d30313b162d78aa96db8e6573e93535a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -35,7 +35,7 @@ package android.hardware.media.c2;
|
|||||||
@VintfStability
|
@VintfStability
|
||||||
interface IComponent {
|
interface IComponent {
|
||||||
android.hardware.common.NativeHandle configureVideoTunnel(in int avSyncHwId);
|
android.hardware.common.NativeHandle configureVideoTunnel(in int avSyncHwId);
|
||||||
android.hardware.media.c2.IComponent.BlockPool createBlockPool(in int allocatorId);
|
android.hardware.media.c2.IComponent.BlockPool createBlockPool(in android.hardware.media.c2.IComponent.BlockPoolAllocator allocator);
|
||||||
void destroyBlockPool(in long blockPoolId);
|
void destroyBlockPool(in long blockPoolId);
|
||||||
void drain(in boolean withEos);
|
void drain(in boolean withEos);
|
||||||
android.hardware.media.c2.WorkBundle flush();
|
android.hardware.media.c2.WorkBundle flush();
|
||||||
@@ -43,11 +43,14 @@ interface IComponent {
|
|||||||
void queue(in android.hardware.media.c2.WorkBundle workBundle);
|
void queue(in android.hardware.media.c2.WorkBundle workBundle);
|
||||||
void release();
|
void release();
|
||||||
void reset();
|
void reset();
|
||||||
void setDecoderOutputAllocator(in android.hardware.media.c2.IGraphicBufferAllocator allocator);
|
|
||||||
void start();
|
void start();
|
||||||
void stop();
|
void stop();
|
||||||
parcelable BlockPool {
|
parcelable BlockPool {
|
||||||
long blockPoolId;
|
long blockPoolId;
|
||||||
android.hardware.media.c2.IConfigurable configurable;
|
android.hardware.media.c2.IConfigurable configurable;
|
||||||
}
|
}
|
||||||
|
union BlockPoolAllocator {
|
||||||
|
int allocatorId;
|
||||||
|
android.hardware.media.c2.IGraphicBufferAllocator igba;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,6 +43,18 @@ interface IComponent {
|
|||||||
long blockPoolId;
|
long blockPoolId;
|
||||||
IConfigurable configurable;
|
IConfigurable configurable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allocator for C2BlockPool.
|
||||||
|
*
|
||||||
|
* C2BlockPool will use a C2Allocator which is specified by an id.
|
||||||
|
* or C2AIDL allocator interface directly.
|
||||||
|
*/
|
||||||
|
union BlockPoolAllocator {
|
||||||
|
int allocatorId;
|
||||||
|
IGraphicBufferAllocator igba;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configures a component for a tunneled playback mode.
|
* Configures a component for a tunneled playback mode.
|
||||||
*
|
*
|
||||||
@@ -86,7 +98,8 @@ interface IComponent {
|
|||||||
* destroyBlockPool(), reset() or release(). reset() and release() must
|
* destroyBlockPool(), reset() or release(). reset() and release() must
|
||||||
* destroy all `C2BlockPool` objects that have been created.
|
* destroy all `C2BlockPool` objects that have been created.
|
||||||
*
|
*
|
||||||
* @param allocatorId Id of a `C2Allocator`.
|
* @param allocator AIDL allocator interface or C2Allocator specifier
|
||||||
|
* for C2BlockPool
|
||||||
* @param out configurable Configuration interface for the created pool. This
|
* @param out configurable Configuration interface for the created pool. This
|
||||||
* must not be null.
|
* must not be null.
|
||||||
* @return Created block pool information. This could be used to config/query and
|
* @return Created block pool information. This could be used to config/query and
|
||||||
@@ -97,7 +110,7 @@ interface IComponent {
|
|||||||
* - `Status::TIMED_OUT` - The operation cannot be finished in a timely manner.
|
* - `Status::TIMED_OUT` - The operation cannot be finished in a timely manner.
|
||||||
* - `Status::CORRUPTED` - Some unknown error occurred.
|
* - `Status::CORRUPTED` - Some unknown error occurred.
|
||||||
*/
|
*/
|
||||||
BlockPool createBlockPool(in int allocatorId);
|
BlockPool createBlockPool(in BlockPoolAllocator allocator);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroys a local block pool previously created by createBlockPool().
|
* Destroys a local block pool previously created by createBlockPool().
|
||||||
@@ -231,17 +244,6 @@ interface IComponent {
|
|||||||
*/
|
*/
|
||||||
void reset();
|
void reset();
|
||||||
|
|
||||||
/**
|
|
||||||
* Specify an allocator for decoder output buffer from HAL.
|
|
||||||
*
|
|
||||||
* The method will be used once during the life-cycle of a codec instance.
|
|
||||||
* @param allocator Decoder output buffer allocator from the client
|
|
||||||
* @throws ServiceSpecificException with one of the following values
|
|
||||||
* - `Status::CANNOT_DO` - The component does not support allocating from the client.
|
|
||||||
* - `Status::CORRUPTED` - Some unknown error occurred.
|
|
||||||
*/
|
|
||||||
void setDecoderOutputAllocator(in IGraphicBufferAllocator allocator);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the component.
|
* Starts the component.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user