Merge "Effect AIDL: add AudioTrack metadata as a common parameter for effects" into main am: 4181e7db41

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2850160

Change-Id: I42f97ff90df079fa1344207402f2ef182b2eba52
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Shunkai Yao
2023-12-01 18:46:51 +00:00
committed by Automerger Merge Worker
4 changed files with 36 additions and 0 deletions

View File

@@ -43,6 +43,8 @@ parcelable Flags {
boolean audioModeIndication;
boolean audioSourceIndication;
boolean bypass;
boolean sinkMetadataIndication;
boolean sourceMetadataIndication;
@Backing(type="byte") @VintfStability
enum Type {
INSERT = 0,

View File

@@ -41,6 +41,8 @@ union Parameter {
boolean offload;
android.hardware.audio.effect.Parameter.VolumeStereo volumeStereo;
android.hardware.audio.effect.Parameter.Specific specific;
android.hardware.audio.common.SinkMetadata sinkMetadata;
android.hardware.audio.common.SourceMetadata sourceMetadata;
@VintfStability
union Id {
android.hardware.audio.effect.VendorExtension vendorEffectTag;

View File

@@ -144,4 +144,18 @@ parcelable Flags {
* Set to true if the effect instance bypass audio data (no processing).
*/
boolean bypass;
/**
* Effect instance sets this flag to true if it requires record AudioTrack metadata update. In
* this case the framework must call IEffect.setParameter to notify effect instance when there
* is a change in sinkMetadata.
*/
boolean sinkMetadataIndication;
/**
* Effect instance sets this flag to true if it requires playback AudioTrack metadata update. In
* this case the framework must call IEffect.setParameter to notify effect instance when there
* is a change in sourceMetadata.
*/
boolean sourceMetadataIndication;
}

View File

@@ -16,6 +16,8 @@
package android.hardware.audio.effect;
import android.hardware.audio.common.SinkMetadata;
import android.hardware.audio.common.SourceMetadata;
import android.hardware.audio.effect.AcousticEchoCanceler;
import android.hardware.audio.effect.AutomaticGainControlV1;
import android.hardware.audio.effect.AutomaticGainControlV2;
@@ -198,4 +200,20 @@ union Parameter {
Spatializer spatializer;
}
Specific specific;
/**
* SinkMetadata defines the metadata of record AudioTracks which the effect instance associate
* with.
* The effect engine is required to set Flags.sinkMetadataIndication to true if it wants to
* receive sinkMetadata update from the audio framework.
*/
SinkMetadata sinkMetadata;
/**
* SourceMetadata defines the metadata of playback AudioTracks which the effect instance
* associate with.
* The effect engine is required to set Flags.sourceMetadataIndication to true if it wants to
* receive sourceMetadata update from the audio framework.
*/
SourceMetadata sourceMetadata;
}