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

This commit is contained in:
Shunkai Yao
2023-12-01 18:29:21 +00:00
committed by Gerrit Code Review
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;
}