diff --git a/core/api/current.txt b/core/api/current.txt index d15d1c01ba9b9..7dd095202405b 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -20611,6 +20611,7 @@ package android.media { field public static final int DUAL_MONO_MODE_RR = 3; // 0x3 field public static final int ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR = 2; // 0x2 field public static final int ENCAPSULATION_METADATA_TYPE_FRAMEWORK_TUNER = 1; // 0x1 + field public static final int ENCAPSULATION_METADATA_TYPE_SUPPLEMENTARY_AUDIO_PLACEMENT = 3; // 0x3 field public static final int ENCAPSULATION_MODE_ELEMENTARY_STREAM = 1; // 0x1 field public static final int ENCAPSULATION_MODE_NONE = 0; // 0x0 field public static final int ERROR = -1; // 0xffffffff @@ -20629,6 +20630,9 @@ package android.media { field public static final int STATE_NO_STATIC_DATA = 2; // 0x2 field public static final int STATE_UNINITIALIZED = 0; // 0x0 field public static final int SUCCESS = 0; // 0x0 + field public static final int SUPPLEMENTARY_AUDIO_PLACEMENT_LEFT = 1; // 0x1 + field public static final int SUPPLEMENTARY_AUDIO_PLACEMENT_NORMAL = 0; // 0x0 + field public static final int SUPPLEMENTARY_AUDIO_PLACEMENT_RIGHT = 2; // 0x2 field public static final int WRITE_BLOCKING = 0; // 0x0 field public static final int WRITE_NON_BLOCKING = 1; // 0x1 } diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java index d51f1e1327bd6..f61c42760c9b6 100644 --- a/media/java/android/media/AudioTrack.java +++ b/media/java/android/media/AudioTrack.java @@ -266,15 +266,19 @@ public class AudioTrack extends PlayerBase @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int ENCAPSULATION_MODE_HANDLE = 2; - /* Enumeration of metadata types permitted for use by + /** + * Enumeration of metadata types permitted for use by * encapsulation mode audio streams. + * @hide */ - /** @hide */ - @IntDef(prefix = { "ENCAPSULATION_METADATA_TYPE_" }, value = { - ENCAPSULATION_METADATA_TYPE_NONE, /* reserved */ - ENCAPSULATION_METADATA_TYPE_FRAMEWORK_TUNER, - ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR, - }) + @IntDef(prefix = {"ENCAPSULATION_METADATA_TYPE_"}, + value = + { + ENCAPSULATION_METADATA_TYPE_NONE, /* reserved */ + ENCAPSULATION_METADATA_TYPE_FRAMEWORK_TUNER, + ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR, + ENCAPSULATION_METADATA_TYPE_SUPPLEMENTARY_AUDIO_PLACEMENT, + }) @Retention(RetentionPolicy.SOURCE) public @interface EncapsulationMetadataType {} @@ -298,6 +302,45 @@ public class AudioTrack extends PlayerBase */ public static final int ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR = 2; + /** + * Encapsulation metadata type for placement of supplementary audio. + * + * A 32 bit integer constant, one of {@link #SUPPLEMENTARY_AUDIO_PLACEMENT_NORMAL}, {@link + * #SUPPLEMENTARY_AUDIO_PLACEMENT_LEFT}, {@link #SUPPLEMENTARY_AUDIO_PLACEMENT_RIGHT}. + */ + public static final int ENCAPSULATION_METADATA_TYPE_SUPPLEMENTARY_AUDIO_PLACEMENT = 3; + + /** + * Enumeration of supplementary audio placement types. + * @hide + */ + @IntDef(prefix = {"SUPPLEMENTARY_AUDIO_PLACEMENT_"}, + value = + { + SUPPLEMENTARY_AUDIO_PLACEMENT_NORMAL, + SUPPLEMENTARY_AUDIO_PLACEMENT_LEFT, + SUPPLEMENTARY_AUDIO_PLACEMENT_RIGHT, + }) + @Retention(RetentionPolicy.SOURCE) + public @interface SupplementaryAudioPlacement {} + // Important: The SUPPLEMENTARY_AUDIO_PLACEMENT values must be kept in sync with native header + // files. + + /** + * Supplementary audio placement normal. + */ + public static final int SUPPLEMENTARY_AUDIO_PLACEMENT_NORMAL = 0; + + /** + * Supplementary audio placement left. + */ + public static final int SUPPLEMENTARY_AUDIO_PLACEMENT_LEFT = 1; + + /** + * Supplementary audio placement right. + */ + public static final int SUPPLEMENTARY_AUDIO_PLACEMENT_RIGHT = 2; + /* Dual Mono handling is used when a stereo audio stream * contains separate audio content on the left and right channels. * Such information about the content of the stream may be found, for example, in