diff --git a/core/api/current.txt b/core/api/current.txt index 08390c5d2839f..6e0ae2151bc8d 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -22599,6 +22599,7 @@ package android.media { field public static final String KEY_MAX_FPS_TO_ENCODER = "max-fps-to-encoder"; field public static final String KEY_MAX_HEIGHT = "max-height"; field public static final String KEY_MAX_INPUT_SIZE = "max-input-size"; + field public static final String KEY_MAX_OUTPUT_CHANNEL_COUNT = "max-output-channel_count"; field public static final String KEY_MAX_PTS_GAP_TO_ENCODER = "max-pts-gap-to-encoder"; field public static final String KEY_MAX_WIDTH = "max-width"; field public static final String KEY_MIME = "mime"; diff --git a/media/java/android/media/MediaFormat.java b/media/java/android/media/MediaFormat.java index 9bf0db52f66d7..028ae2b3487c5 100644 --- a/media/java/android/media/MediaFormat.java +++ b/media/java/android/media/MediaFormat.java @@ -682,6 +682,19 @@ public final class MediaFormat { */ public static final String KEY_CHANNEL_MASK = "channel-mask"; + /** + * A key describing the maximum number of channels that can be output by an audio decoder. + * By default, the decoder will output the same number of channels as present in the encoded + * stream, if supported. Set this value to limit the number of output channels, and use + * the downmix information in the stream, if available. + *

Values larger than the number of channels in the content to decode behave like the number + * of channels in the content (if applicable), for instance passing 99 for a 5.1 audio stream + * behaves like passing 6. + *

This key is only used during decoding. + */ + public static final String KEY_MAX_OUTPUT_CHANNEL_COUNT = + "max-output-channel_count"; + /** * A key describing the number of frames to trim from the start of the decoded audio stream. * The associated value is an integer.