androidx / androidx/media

24 bit and 32 bit int MediaCodec and AudioTrack output

Open
#1,931 1 comment 0 reactions 1 assignee View on GitHub

@tonihei is already working on this.

Since Dec 4, 2024.

enhancement
Dominant language
Java
Stars
3k
Forks
955
Avg merge
12d 14h
Merged PRs (30d)
2

Description

[REQUIRED] Use case description

Some manufacturers utilize 24 bit and 32 bit int output support in their flagship device's hardware. Utilizing this hardware mode in MediaCodec and AudioTrack would avoid wasting memory and CPU time in converting to 32bit float values and would also avoid quality loss of converting to 16bit int.
Additionally, considering #415, this is required to output bit perfect audio if files are in 24 bit int or 32 bit int format.

Proposed solution

In https://github.com/google/ExoPlayer/issues/6749, 32 bit float output support was added to ExoPlayer. Similar to that issue, 24 bit and 32 bit int support would solve this issue.

Alternatives considered

Keep converting to 32 bit float or 16 bit int, wasting battery and not fully utilizing user's hardware.

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.