androidx / androidx/media

DTS:X TV reporting ACTION_HDMI_AUDIO_PLUG.EXTRA_MAX_CHANNEL_COUNT as 8 instead of 10

Open
#396 12 comments 0 reactions 2 assignees View on GitHub

@cedricxperi is already working on this.

Since May 16, 2023.

bug needs triage
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
  1. Get the code from this commit 03914340bdb0887e3243c74301757df6e995af19 from pull request

  2. Add https://secured.streamdts.com/dtsx/dtsx/dash/callout/index.mpd to media.exolist.json

  3. Comment out the following around line 231 of Audiocapabilities.java
    /* if (format.sampleMimeType == MimeTypes.AUDIO_DTS_X) {
    if (channelCount > 10) {
    return null;
    }
    } else */

  4. Connect Xiaomi V435H to a Audio Video Receiver

  5. Enable tunnel mode in Exoplayer

  6. 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 bugreport to dev.exoplayer@gmail.com after filing this issue.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.