Compose PlayerSurface getting black background colour on Android 10 (Real Device)
I maintainer di solito rispondono entro 4 giorni
@oceanjules ci sta già lavorando.
Dal 19/6/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Version
Media3 main branch
More version details
I encountered same issue like this report, but somehow it is marked only for emulator. After trying to run it with real device, i can reproduce it. I use Media3's compose demo for this sample. Here is the comparison:
Samsung A53 - Android 16 One UI 8 (Works fine)
| Running Device | Layout Inspector |
|---|---|
Vivo 1935/Y50 - Android 10 Funtouch 10 (Blackout)
| Running Device | Layout Inspector |
|---|---|
Additional Notes:
Changing the surface type to SURFACE_TYPE_TEXTURE_VIEW able to fix this on some cases, but on secured content, like DRM protected content, it gives MediaCodecVideoRenderer. Unfortunately i cant put the content here since it is private but you can test with Widevine content from main demo app. But i can give you the exception log:
code=ERROR_CODE_DECODER_INIT_FAILED message=MediaCodecVideoRenderer error, index=0, format=Format(1781824546611item-02item, null, video/mp4, video/avc, avc1.4D401F, 1000000, und, [960, 540, 25.0, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES (Fix with AI)
androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1781824546611item-02item, null, video/mp4, video/avc, avc1.4D401F, 1000000, und, [960, 540, 25.0, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES
at androidx.media3.exoplayer.BaseRenderer.createRendererException(BaseRenderer.java:558)
at androidx.media3.exoplayer.BaseRenderer.createRendererException(BaseRenderer.java:527)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:614)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1786)
at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1608)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:1206)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:937)
at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1383)
at androidx.media3.exoplayer.RendererHolder.render(RendererHolder.java:392)
at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1388)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:711)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:230)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: androidx.media3.exoplayer.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.qcom.video.decoder.avc.secure, Format(1781824546611item-02item, null, video/mp4, video/avc, avc1.4D401F, 1000000, und, [960, 540, 25.0, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1])
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1311)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:612)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1786)
at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1608)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:1206)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:937)
at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1383)
at androidx.media3.exoplayer.RendererHolder.render(RendererHolder.java:392)
at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1388)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:711)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:230)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: android.media.MediaCodec$CodecException: start failed
at android.media.MediaCodec.native_start(Native Method)
at android.media.MediaCodec.start(MediaCodec.java:2131)
at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter$Factory.createAdapter(SynchronousMediaCodecAdapter.java:65)
at androidx.media3.exoplayer.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:165)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1390)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1304)
EDITED: update the texture view explanation that turns out related to DRM protected content.
Devices that reproduce the issue
Vivo 1935/Y50 Funtouch OS 10
Devices that do not reproduce the issue
Samsung A53 One UI 8
Reproducible in the demo app?
Yes
Reproduction steps
- Add padding and background color to Box that wraps the Player Composable to make the difference visible
Box(
modifier.fillMaxSize().background(Color.Green).statusBarsPadding().background(Color.Red).padding(vertical = 64.dp)) {
....
- Play video "Video (MKV) -> Audio Only -> Video Only"
Expected result
Same behavior between suported OS, which is other UI component background not getting blacked out without feature parity
Actual result
Other UI component getting black background on Android 10 if using SURFACE_TYPE_SURFACE_VIEW, while SURFACE_TYPE_TEXTURE_VIEW gives decoder error on some video.
Media
Video (MKV) -> Audio Only -> Video Only
Bug Report
- You will email the zip file produced by
adb bugreportto [email protected] after filing this issue.
- Lingua principale
- Java
- Stelle
- 3.1k
- Fork
- 998
- Merge medio
- 6g 8h
- PR unite (30g)
- 2
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di androidx/media
-
Waive ads when seek/start at the beginningForse già presa @microkatz l’ha presa 2 giorni fa. Apertaenhancement
androidx/media#3496 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
-
Since 1.9.0, skip buttons in SLOT_BACK / SLOT_FORWARD reach legacy controllers as custom actionsForse già presa @marcbaechinger l’ha presa 2 giorni fa. Apertabug
androidx/media#3495 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
-
Allow configuring asset-list prefetch timing per HLS interstitialForse già presa @marcbaechinger l’ha presa 2 giorni fa. Apertaenhancement
androidx/media#3494 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
-
Offloaded audio left paused keeps AudioFlinger's AudioOffload wake lock forever, device never suspendsForse già presa @microkatz l’ha presa 2 giorni fa. Apertabug
androidx/media#3493 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
-
Allow opting into frame-index seeking for MP3s without reliable seek metadataForse già presa @icbaker l’ha presa 2 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
androidx/media#3492 · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di androidx/media
Issue simili
-
area: triage theme: undefined
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
jhipster/generator-jhipster#35895 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
oracle/graalvm-reachability-metadata#11659 ·
I maintainer di solito rispondono entro 1 giorno
-
Build failure report and inbox copy miss a proof split by colour codes, which the build log redactsApertabug follow-up
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
Sanne/incus-spawn#1864 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
openhab/openhab-addons#22135 ·
I maintainer di solito rispondono entro 1 giorno