diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 1868b4acf3..12897521cc 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -69,6 +69,10 @@ for audio passthrough when the format audio channel count is unset, which occurs with HLS chunkless preparation ([10204](https://github.com/google/ExoPlayer/issues/10204)). + * Configure `AudioTrack` with channel mask + `AudioFormat.CHANNEL_OUT_7POINT1POINT4` if the decoder outputs 12 + channel PCM audio + ([#10322](#https://github.com/google/ExoPlayer/pull/10322). * DRM * Ensure the DRM session is always correctly updated when seeking immediately after a format change diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Util.java b/libraries/common/src/main/java/androidx/media3/common/util/Util.java index e79ba706e6..659d9ba3d8 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/Util.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/Util.java @@ -1745,6 +1745,10 @@ public final class Util { // 8 ch output is not supported before Android L. return AudioFormat.CHANNEL_INVALID; } + case 12: + return Util.SDK_INT >= 32 + ? AudioFormat.CHANNEL_OUT_7POINT1POINT4 + : AudioFormat.CHANNEL_INVALID; default: return AudioFormat.CHANNEL_INVALID; }