question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Chromecast with Google TV update to Android 12, play 4k 60fps get format_supported=NO_EXCEEDS_CAPABILITIES

See original GitHub issue

ExoPlayer Version

2.18.1

Devices that reproduce the issue

Device: Chromecast with Google TV (4k ver) Android version: 12

probably relevant system info: image

Devices that do not reproduce the issue

NVIDIA SHIELD Chromecast with Google TV on Android 10

Reproducible in the demo app?

Yes

Reproduction steps

  1. build demo app to the Android 12 CCwGTV(Chromecast with Google TV)
  2. just play video in demo app
    • 60fps DASH
      • 4K (MP4, H264, Clear)

Expected result

The media play successfully.

Actual result

Got this kind result

11:12:03.330  E  Playback error
                   com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.640033, 19375046, null, [3840, 2160, 60.0], [-1, -1]), format_supported=NO_EXCEEDS_CAPABILITIES
                       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:566)
                       at android.os.Handler.dispatchMessage(Handler.java:102)
                       at android.os.Looper.loopOnce(Looper.java:201)
                       at android.os.Looper.loop(Looper.java:288)
                       at android.os.HandlerThread.run(HandlerThread.java:67)
                   Caused by: com.google.android.exoplayer2.video.MediaCodecVideoDecoderException: Decoder failed: OMX.amlogic.avc.decoder.awesome2
                       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1590)
                       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:813)
                       at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:989)
                       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:490)
                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                       at android.os.Looper.loopOnce(Looper.java:201) 
                       at android.os.Looper.loop(Looper.java:288) 
                       at android.os.HandlerThread.run(HandlerThread.java:67) 
                   Caused by: android.media.MediaCodec$CodecException: Error 0x80001000
11:12:03.335  E  Disable failed.
                   java.lang.IllegalStateException
                       at android.media.MediaCodec.native_flush(Native Method)
                       at android.media.MediaCodec.flush(MediaCodec.java:2350)
                       at com.google.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter.flush(AsynchronousMediaCodecAdapter.java:228)
                       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.flushCodec(MediaCodecRenderer.java:877)
                       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:870)
                       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:710)
                       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:561)
                       at com.google.android.exoplayer2.BaseRenderer.disable(BaseRenderer.java:186)
                       at com.google.android.exoplayer2.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:1651)
                       at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:1392)
                       at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:1355)
                       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:582)
                       at android.os.Handler.dispatchMessage(Handler.java:102)
                       at android.os.Looper.loopOnce(Looper.java:201)
                       at android.os.Looper.loop(Looper.java:288)
                       at android.os.HandlerThread.run(HandlerThread.java:67)
11:12:03.346  E  playerFailed [eventTime=0.75, mediaPos=0.00, window=0, period=0, errorCode=ERROR_CODE_DECODING_FAILED
                   com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.640033, 19375046, null, [3840, 2160, 60.0], [-1, -1]), format_supported=NO_EXCEEDS_CAPABILITIES
                       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:566)
                       at android.os.Handler.dispatchMessage(Handler.java:102)
                       at android.os.Looper.loopOnce(Looper.java:201)
                       at android.os.Looper.loop(Looper.java:288)
                       at android.os.HandlerThread.run(HandlerThread.java:67)
                   Caused by: com.google.android.exoplayer2.video.MediaCodecVideoDecoderException: Decoder failed: OMX.amlogic.avc.decoder.awesome2
                       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1590)
                       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:813)
                       at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:989)
                       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:490)
                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                       at android.os.Looper.loopOnce(Looper.java:201) 
                       at android.os.Looper.loop(Looper.java:288) 
                       at android.os.HandlerThread.run(HandlerThread.java:67) 
                   Caused by: android.media.MediaCodec$CodecException: Error 0x80001000
                 ]

Media

demo app media

      {
        "name": "4K (MP4, H264, Clear)",
        "uri": "https://storage.googleapis.com/exoplayer-test-media-1/60fps/bbb-clear-2160/manifest.mpd"
      }

Bug Report

  • You will email the zip file produced by adb bugreport to dev.exoplayer@gmail.com after filing this issue.

Other Notes :

I am taking androidx.media3:media3-exoplayer:1.0.0-beta02, it seem probiliy same as ExoPlayer 2.18.1 got this info from here.

I also tried pure ExoPlayer demo app and leave the error code here. Playing on Android 10 is fine. After update to Android 12, 4k capabilities lose, it quite wired?? 🤔

I guess it might the chromecast’s update issue. I also facing another bug is on CCwGTV Android 10, when i calling exoPlayer.release(), it seems that codec not really do the native codec release by OS, witch may cause oom crash. If is, please let me know that, I can contact them in need.

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
christostscommented, Oct 26, 2022

There is no update yet, and I will update this issue once we get one from the Chromecast team.

For clarity, even before the upgrade to Android 12, the device did not report it could play 4K@60fps and playback was stuttering. Regardless of a potential fix, I think that your app should avoid playing such streams anyway, it you want to ensure smooth playback (my hypothesis is that even if there is a fix on the device, the fix would not make the device faster but at best bring the old behavior back)

1reaction
christostscommented, Oct 20, 2022

[internal ref 254670010]

Read more comments on GitHub >

github_iconTop Results From Across the Web

Chromecast with Google TV 4K update to Oct. 2022 patch rolls ...
The first post-Android 12 update is rolling out to the Chromecast with Google TV 4K, and it brings the October 2022 security patch......
Read more >
Google's 4K Chromecast gets its big Android TV 12 update
The update packs new features like Match content frame rate and mic and camera ... Google's 4K Chromecast gets its big Android TV...
Read more >
Chromecast with Google TV (4K) gets Android 12 with latest ...
Google has started rolling out a fresh update for the Chromecast with Google TV (4K), bringing Android 12 to the streaming dongle.
Read more >
Chromecast with Google TV FINALLY gets Android 12 How to ...
The Chromecast with Google TV is finally getting upgraded from Android 10 to the newest Android TV software update, Android 12.
Read more >
Chromecast with Google TV HDR not working after Android 12
A section of Chromecast with Google TV owners is reporting that HDR is not working after the update to Android 12, but there's...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found