Media3 reports H.264 [email protected] as supported by a [email protected] hardware decoder

Aperta
#3,518 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 5 giorni

@microkatz ci sta già lavorando.

Dal 6/11/2026.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
android, java

Direzione di ricerca

Start by tracing how Media3 evaluates AVC profile and level support when selecting a decoder; the issue names no source files or tests. Reproduce on the listed Android 9 device with the supplied avc1.640034 4K track, then inspect the capability check and related tests. Done means the track is no longer reported as supported by a decoder that declares [email protected] and highL52=false.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug needs triage
Version

Media3 1.11.1

More version details
Description

The device reports that its hardware AVC decoder supports H.264 [email protected], and the capability probe explicitly reports highL52=false. However, when playing a DASH video track encoded as H.264 [email protected] (avc1.640034, 3840x2160), Media3 reports the track as supported=YES, selects OMX.hisi.video.decoder.avc, and the decoder subsequently fails.

This results in no video output. The issue appears to be a capability mismatch: the format exceeds the decoder's declared profile/level capabilities, but the track is still reported as supported and the decoder is still initialized.

Relevant logs

The following excerpts are from one reproduction only (2026-11-05-20-46_log.txt):

11-05 20:46:44.059 14392 14392 I ExoCodecCaps: codec=OMX.hisi.video.decoder.avc decoder=true
11-05 20:46:44.064 14392 14392 I ExoCodecCaps:   avcProbe 3840x2160=true 4k@24=true 4k@30=true 4k@60=false highL52=false
11-05 20:46:53.920 14392 14392 D EventLogger:     [X] Track:0, id=video_120, mimeType=video/avc, container=video/mp4, bitrate=11220469, codecs=avc1.640034, res=3840x2160, supported=YES
11-05 20:46:55.318 14392 14864 W MediaCodecRenderer: Format exceeds selected codec's capabilities [id=video_120, mimeType=video/avc, container=video/mp4, bitrate=11214465, codecs=avc1.640034, res=3840x2160, color=BT709/Limited range/SDR SMPTE 170M/8/8, language=und, OMX.hisi.video.decoder.avc]
11-05 20:46:55.319 14392 14392 D EventLogger: videoDecoderInitialized [eventTime=2.17, mediaPos=0.00, window=0, period=0, OMX.hisi.video.decoder.avc]
11-05 20:47:29.031 14392 15025 E ExoPlayerImplInternal:   u1.q: MediaCodecVideoRenderer error, index=2, format=Format(video_120, null, video/avc, avc1.640034, 23292769, und, [3840, 2160, -1.0, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1, -1]), format_supported=YES
11-05 20:47:29.031 14392 15025 E ExoPlayerImplInternal:   Caused by: s2.i: Decoder failed: OMX.hisi.video.decoder.avc
11-05 20:47:29.063 14392 14392 E EventLogger: playerFailed [eventTime=3.03, mediaPos=1.87, window=0, period=0, errorCode=ERROR_CODE_DECODING_FAILED

Could this profile/level capability mismatch be handled before decoder initialization so that Media3 does not report the format as supported or select a decoder whose declared capabilities are insufficient?

Devices that reproduce the issue
  • Huawei HWOSCA-550A / OSCA-550A
  • Android 9 (API 28)
  • Hardware decoder: OMX.hisi.video.decoder.avc
Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Not tested

Reproduction steps
  1. Use Media3 1.11.1 on the device listed above.
  2. Play a DASH video track encoded as H.264 [email protected], codec string avc1.640034, resolution 3840x2160.
  3. Inspect the track support and decoder initialization logs.
  4. Observe that Media3 reports supported=YES, initializes OMX.hisi.video.decoder.avc, logs that the format exceeds the selected codec's capabilities, and then reports ERROR_CODE_DECODING_FAILED.
Expected result

A format whose H.264 profile/level exceeds the selected hardware decoder's declared capabilities should not be reported as supported by that decoder. Media3 should avoid selecting or initializing that decoder for the format, or classify it as unsupported so that an appropriate fallback path can be used.

Actual result

The H.264 [email protected] track is reported as supported=YES even though the decoder capability dump reaches [email protected] and reports highL52=false. Media3 selects and initializes OMX.hisi.video.decoder.avc, logs Format exceeds selected codec's capabilities, and the decoder fails with ERROR_CODE_DECODING_FAILED. No video is rendered.

Media

Not applicable. No public media URL is available. The issue is reproduced with the H.264 track described above (avc1.640034, 3840x2160).

Bug Report
  • You will email the zip file produced by adb bugreport to [email protected] after filing this issue.
Lingua principale
Java
Stelle
3.1k
Fork
1k
Merge medio
7g 12h
PR unite (30g)
5

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di androidx/media

Tutte le issue di androidx/media

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.