media.c2 aidl: provide a waitable fd for blockpool creation
Provide a waitable fd as a param for IComponent::createBlockPool() along with IGraphicBufferAllocator interface. This will remove one IPC call from HAL to client to get a waitable fd during blockpool creation. Test: m Bug: 254050314 Change-Id: I38d9bde987793e352299385fb141e484c758f89d
This commit is contained in:
parent
e4067812af
commit
eec87d9081
2 changed files with 20 additions and 2 deletions
|
@ -49,8 +49,12 @@ interface IComponent {
|
|||
long blockPoolId;
|
||||
android.hardware.media.c2.IConfigurable configurable;
|
||||
}
|
||||
parcelable C2AidlGbAllocator {
|
||||
android.hardware.media.c2.IGraphicBufferAllocator igba;
|
||||
ParcelFileDescriptor waitableFd;
|
||||
}
|
||||
union BlockPoolAllocator {
|
||||
int allocatorId;
|
||||
android.hardware.media.c2.IGraphicBufferAllocator igba;
|
||||
android.hardware.media.c2.IComponent.C2AidlGbAllocator allocator;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,6 +21,8 @@ import android.hardware.media.c2.IComponentInterface;
|
|||
import android.hardware.media.c2.IConfigurable;
|
||||
import android.hardware.media.c2.IGraphicBufferAllocator;
|
||||
import android.hardware.media.c2.WorkBundle;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
|
||||
|
||||
/**
|
||||
* Interface for an AIDL Codec2 component.
|
||||
|
@ -44,6 +46,18 @@ interface IComponent {
|
|||
IConfigurable configurable;
|
||||
}
|
||||
|
||||
/**
|
||||
* C2AIDL allocator interface along with a waitable fd.
|
||||
*
|
||||
* The interface is used from a specific type of C2BlockPool to allocate
|
||||
* graphic blocks. the waitable fd is used to create a specific type of
|
||||
* C2Fence which can be used for waiting until to allocate is not blocked.
|
||||
*/
|
||||
parcelable C2AidlGbAllocator {
|
||||
IGraphicBufferAllocator igba;
|
||||
ParcelFileDescriptor waitableFd;
|
||||
}
|
||||
|
||||
/**
|
||||
* Allocator for C2BlockPool.
|
||||
*
|
||||
|
@ -52,7 +66,7 @@ interface IComponent {
|
|||
*/
|
||||
union BlockPoolAllocator {
|
||||
int allocatorId;
|
||||
IGraphicBufferAllocator igba;
|
||||
C2AidlGbAllocator allocator;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue