1 /*
2  * Copyright (C) 2024 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.media;
18 
19 import android.hardware.HardwareBuffer;
20 import android.media.IAidlBufferSource;
21 import android.os.ParcelFileDescriptor;
22 
23 /**
24  * Binder interface abstraction for codec2 encoder instance.
25  *
26  * In order to support Persistent InputSurface and/or MediaRecorder.
27  */
28 interface IAidlNode {
29 
30     /**
31      * InputBuffer parameter for retrieval for the Node
32      */
33     parcelable InputBufferParams {
34         int bufferCountActual;
35         int frameWidth;
36         int frameHeight;
37     }
38 
freeNode()39     void freeNode();
getConsumerUsage()40     long getConsumerUsage();
getInputBufferParams()41     InputBufferParams getInputBufferParams();
setConsumerUsage(long usage)42     void setConsumerUsage(long usage);
setAdjustTimestampGapUs(int gapUs)43     void setAdjustTimestampGapUs(int gapUs);
setInputSurface(IAidlBufferSource bufferSource)44     void setInputSurface(IAidlBufferSource bufferSource);
submitBuffer( int buffer, in @nullable HardwareBuffer hBuffer, int flags, long timestampUs, in @nullable ParcelFileDescriptor fence)45     void submitBuffer(
46             int buffer,
47             in @nullable HardwareBuffer hBuffer,
48             int flags,
49             long timestampUs,
50             in @nullable ParcelFileDescriptor fence);
onDataSpaceChanged(int dataSpace, int aspects, int pixelFormat)51     void onDataSpaceChanged(int dataSpace, int aspects, int pixelFormat);
52 }
53