Skip to content

Allow Media3 decoder fallback for Dolby Vision input - #5

Open
PixPMusic wants to merge 1 commit into
JoshAtticus:mainfrom
PixPMusic:fix/dolby-vision-decoder-fallback
Open

PixPMusic wants to merge 1 commit into
JoshAtticus:mainfrom
PixPMusic:fix/dolby-vision-decoder-fallback

Conversation

@PixPMusic

@PixPMusic PixPMusic commented Oct 19, 2026 •

Copy link
Copy Markdown

Compressor Edge rejects some iPhone Dolby Vision videos before Media3 can attempt decoding. The source preflight requires a decoder advertising the exact video/dolby-vision MIME type, overlooking compatible HEVC base-layer decoding.

Let Media3 inspect Dolby Vision profiles and select a compatible decoder instead of blocking these inputs upfront. Preserve the original input metadata and retain the existing preflight for other source codecs. Unsupported Dolby Vision profiles can still fail through Media3's normal error handling.

Adds regression tests for Dolby Vision reaching output planning without an advertised decoder and unsupported HEVC retaining its decoder error. Enables Android resources in unit tests so the planner's localized errors can be checked.

Validation:

  • bash gradlew :app:assembleDebug :app:testDebugUnitTest with JDK 21: passed, 36 tests.
  • Pixel 10 Pro Fold, Android 17 / SDK 37: the same 3840×2160 / 60 fps iPhone Dolby Vision clip failed with the source-configuration error before the change and compressed successfully with the patch in a separate development build, confirmed by the device owner. Development application ID and branding changes are excluded from this PR.

Equivalent fix for Compressor: JoshAtticus/Compressor#135. These PRs target independent apps and have no merge-order dependency.

Model: GPT-6.1 Sol | Harness: Codex in T3 Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant