Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 421ca19c authored by Shunkai Yao's avatar Shunkai Yao
Browse files

Effect AIDL: add AudioTrack metadata as a common parameter for effects

Bug: 307368176
Test: m android.hardware.audio.effect-update-api
Test: atest --test-mapping hardware/interfaces/audio/aidl
Change-Id: I5affc96c09445a425361f326f728b8ef9b04daee
parent d664a63c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -43,6 +43,8 @@ parcelable Flags {
  boolean audioModeIndication;
  boolean audioSourceIndication;
  boolean bypass;
  boolean sinkMetadataIndication;
  boolean sourceMetadataIndication;
  @Backing(type="byte") @VintfStability
  enum Type {
    INSERT = 0,
+2 −0
Original line number Diff line number Diff line
@@ -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;
+14 −0
Original line number Diff line number Diff line
@@ -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;
}
+18 −0
Original line number Diff line number Diff line
@@ -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;
}