这是indexloc提供的服务,不要输入任何密码
Skip to content

Why was max channel count handling changed to not check Spatializer anymore? #2894

@nift4

Description

@nift4

Dolby codecs have an optimized downmix feature. If max output channels is not set, it will output stereo audio with downmix optimized for sound quality. If max output channels is set to >=12 instead the unmodified audio will be output. Spatializer requires full set of channels to work, so Dolby recommends to set max output channels on codec to 99 if spatialization is enabled:

https://professionalsupport.dolby.com/s/article/Enabling-Dolby-Atmos-in-Android-Mobile-media-apps?language=en_US
at "Important notice when targeting Android 12L (API level 32) and later."

However when spatialization is disabled the codec should do stereo downmix by just not setting max channel count. ("it's necessary to monitor if the spatializer status changes during playback. This can happen if the end user modifies the spatializer effect settings. In such cases, playback should be adjusted to reflect those changes.")

Since google/ExoPlayer@0dd1080 ExoPlayer ignores the Spatializer API's opinion and just hardcoded max channel count to 99.

Is it possible to explain why it was done?

Thanks in advance.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions