androidx / media

Jetpack Media3 support libraries for media use cases, including ExoPlayer, an extensible media player for Android
https://developer.android.com/media/media3
Apache License 2.0
1.73k stars 415 forks source link

Regression in Opus 5.1 and 7.1 channel mapping #1902

Open djamps opened 6 days ago

djamps commented 6 days ago

Version

Media3 main branch

More version details

This commit resolves the issue in ExoPlayer(Androidx Media3) version 1.21 and later. it seems that the fix is no longer needed, and actually causes the issue now. Correct channel mapping works with earlier versions of ExoPlayer that don't include this patch. For example, if you use Just Player version .154, which is based on ExoPlayer 1.20, you'll see that the channels are mapped correctly.

Devices that reproduce the issue

Firestick 4k MAX

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Yes

Reproduction steps

Play Opus 5.1 or 7.1 encoded content

Expected result

Correct channel mapping

Actual result

Center channel and right channel is reversed.

Media

Test file

Bug Report

icbaker commented 4 days ago

Thanks for reporting.

it seems that the fix is no longer needed

Unfortunately we can't just remove the workaround from the library, because there will always be devices in the wild that haven't received an update to change their logic, and so do need the workaround. So we need a way to detect for each device whether to apply the workaround or not. This is being discussed further internally in b/177524746.