DTS:X TV reporting ACTION_HDMI_AUDIO_PLUG.EXTRA_MAX_CHANNEL_COUNT as 8 instead of 10
@cedricxperi is already working on this.
Since May 16, 2023.
- Dominant language
- Java
- Stars
- 3k
- Forks
- 955
- Avg merge
- 12d 14h
- Merged PRs (30d)
- 2
Description
Media3 Version
Media3 1.0.1
Devices that reproduce the issue
Xiaomi TV V435H
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
-
Get the code from this commit 03914340bdb0887e3243c74301757df6e995af19 from pull request
-
Add https://secured.streamdts.com/dtsx/dtsx/dash/callout/index.mpd to media.exolist.json
-
Comment out the following around line 231 of Audiocapabilities.java
/* if (format.sampleMimeType == MimeTypes.AUDIO_DTS_X) {
if (channelCount > 10) {
return null;
}
} else */ -
Connect Xiaomi V435H to a Audio Video Receiver
-
Enable tunnel mode in Exoplayer
-
Playback the following DASH stream https://secured.streamdts.com/dtsx/dtsx/dash/callout/index.mpd
Expected result
Media should playback properly.
Actual result
Playback will fail at maxChannelCount check in AudioCapabilities.getEncodingAndChannelConfigForPassthrough(). Because the number of channels encoded in the stream is 10, while the TV (through ACTION_HDMI_AUDIO_PLUG.EXTRA_MAX_CHANNEL_COUNT) reported that the connected audio sink only supports up to 8 channels. The TV is actually capable of playing back the stream but is blocked by this check on Exoplayer side.
NOTE: This issue is related to the following pull request: https://github.com/androidx/media/pull/335 A temporary fix has been added in this pull request which has not been merged. As it is a device issue, once the device reports the maxChannelCount correctly, we can remove the fix in AudioCapabilities.getEncodingAndChannelConfigForPassthrough(). cc @tianyif
Media
https://secured.streamdts.com/dtsx/dtsx/dash/callout/index.mpd
Bug Report
- You will email the zip file produced by
adb bugreportto dev.exoplayer@gmail.com after filing this issue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.