Media3 fails to switch back from HDR/HDR10 to SDR once the playback is stopped
Maintainers usually reply within 4 days
@microkatz is already working on this.
Since Sep 10, 2026.
Assessment
This issue has not been assessed yet.
Description
Version
Media3 main branch
More version details
HDR/HDR10+ to SDR Transition Issue with Media3 both Stremio and Just (video) Player enter correctly in HDR/HDR10/HDR10+ but fails to return to SDR once the the playback is stopped even in the Home of the Launcher (AndroidTV stock)
this is the short version of the story. long version below:
I am experiencing an issue when switching from HDR/HDR10+ video playback back to SDR on an Android TV box connected to a 4K QLED display.
The display supports HDR, HDR10, HDR10+, and HLG. The issue occurs specifically when playback is handled through Media3/Exo.
WHAT HAPPENS
With Media3 after starting to play HDR* material it goes from SDR to HDR no issue, when playback is quitted the HDR mode does not return to SDR. The display remains in HDR instead of correctly switching back to SDR.
This behavior is consistent and reproducible when using Media3/ExoPlayer, Tested in Both Stremio and Just (Video) Player which uses Media3/exo.
COMPARISON WITH OTHER PLAYBACK ENGINES
I tested the same type of HDR → SDR transition using different playback engines.
Two different YouTube 3rd party applications were tested, and the problem did not occur. HDR content could be followed by SDR content without the HDR state becoming stuck in HDR
Kodi was also tested with an HDR10+ sample. Kodi correctly returned to SDR after HDR10+ playback.
OBSERVED BEHAVIOR
YouTube app https://github.com/Stremio/stremio-bugs/issues/1:
HDR/HDR10+ → SDR: Works correctly
HDR state: Correctly returns to SDR
YouTube app https://github.com/Stremio/stremio-bugs/issues/2:
HDR/HDR10+ → SDR: Works correctly
HDR state: Correctly returns to SDR
Kodi:
HDR/HDR10+ → SDR: Works correctly
Frame-rate switch: Yes
HDR state: Correctly returns to SDR
Stremio / Media3:
HDR/HDR10+ → SDR: Fails
Frame-rate switch: Yes
HDR state: Remains in HDR
Just (Video) Player / Media3:
HDR/HDR10+ → SDR: Fails
Frame-rate switch: Yes
HDR state: Remains in HDR
PLEASE FIX Media3 WHICH IS CLEARLY FAR BETTER THAN THE OTHER ENGINES AND PLAYERS.
Devices:
Samsung 4k QLED Q7F, new
Xiaomi Mi Box S 3rd gen
HDMI cable brand new from UGREEN rated 48Gbps
Devices that reproduce the issue
Samsung 4k QLED Q7F, new
Xiaomi Mi Box S 3rd gen, AndroidTV 14 and Also Xiaomi Mi box S 2nd gen AndroidTV 11
HDMI cable brand new from UGREEN rated 48Gbps
Devices that do not reproduce the issue
I have no idea since i'm focused on AndroidTV 14 but like I said other engines don't have this issue, so I can roll out my devices as buggy
Reproducible in the demo app?
Yes
Reproduction steps
Stremio or Just (Video) Player. exoplayer engine
Choose anything that is HDR/HDR10/HDR10+ or HLG
Play the content for little as 4-5 seconds to let exo match the frame rate if needs to.
Quit the playback, HDR state is on
go back to Home, HDR still active
Expected result
Stremio or Just (Video) Player. exoplayer engine
Choose anything that is HDR/HDR10/HDR10+ or HLG
Play the content for little as 4-5 seconds to let exo match the frame rate if needs to.
Quit the playback, goes Back to SDR mode
Actual result
Still on HDR mode and the playback is quitted. Used Stremio as example but the same thing happens on Just (video) Player
Media engine after quitting playback:
(you can see the green on the play button blown out in colors)
VLC engine after quitting Playback:
Media
https://ff.wetransfer.com/downloads/0f596c6233476b3a74a7005f2912235320210201160114/257cf4
File named: hdr10+test_lake_2021_02_01.zip inside the video
hdr10+test_lake_2021_02_01.mp4
from:
https://ff.de/hdr10plus-metadata-test/
Bug Report
- You will email the zip file produced by
adb bugreportto [email protected] after filing this issue.
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 998
- Avg merge
- 6d 8h
- Merged PRs (30d)
- 2
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing 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.
More from androidx/media
-
Waive ads when seek/start at the beginningPossibly taken @microkatz claimed this today. Openenhancement
androidx/media#3496 · 2 comments · 1 assignee ·
Maintainers usually reply within 4 days
-
Since 1.9.0, skip buttons in SLOT_BACK / SLOT_FORWARD reach legacy controllers as custom actionsPossibly taken @marcbaechinger claimed this today. Openbug
androidx/media#3495 · 1 comment · 1 assignee ·
Maintainers usually reply within 4 days
-
Allow configuring asset-list prefetch timing per HLS interstitialPossibly taken @marcbaechinger claimed this today. Openenhancement needs triage
androidx/media#3494 · 1 assignee ·
Maintainers usually reply within 4 days
-
Offloaded audio left paused keeps AudioFlinger's AudioOffload wake lock forever, device never suspendsPossibly taken @microkatz claimed this today. Open
androidx/media#3493 · 1 assignee ·
Maintainers usually reply within 4 days
-
Allow opting into frame-index seeking for MP3s without reliable seek metadataPossibly taken @icbaker claimed this today. Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
androidx/media#3492 · 1 assignee ·
Maintainers usually reply within 4 days
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
OpenAPITools/openapi-generator#25454 ·
Maintainers usually reply within 1 day
-
Component - Build
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
navikt/mock-oauth2-server#1149 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
oracle/graalvm-reachability-metadata#11318 ·
Maintainers usually reply within 1 day