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.

HEVC Crashing on Chromecast with Google TV via AVR

See original GitHub issue

Environment

  • ExoPlayer r2.13.1 and above (including r2.14.2).
  • Chromecast with Google TV, connected to an AVR or soundbar (without the AVR or soundbar HEVC videos play correctly).
  • Android 10.
  • HEVC Main 10 video seems to be the common culprit.

Reproducing

  • Play the attached video in the ExoPlayer demo application, or any HEVC Main 10 video.

Actual Behaviour

  • Notice the video freezes randomly, frames are dropped or the device crashes and partially reboot (this takes a number of play throughs to replicate).
  • Null pointer dereference error occurs from the surfaceflinger process: Unable to handle kernel NULL pointer dereference at virtual address 00000000, this then causes the device to partially reboot - it seems more like an OS reboot rather than a full device reboot.

Expected Behaviour

Playback is smooth without frame freezes or drops, and without rebooting the device.

Sample + Recorded Video

https://drive.google.com/drive/folders/1hpLZnBSBvF89MxOXtbOPMgfg_t-4k898

  • HEVC 10 - EAC3 Atmos - Crash Sample.mkv is the sample video that can be played to replicate the behaviour.
  • ExoPlayer v2.14.2 Demo on Chromecast with Google TV.mp4 provides a video recording showing the behaviour on the ExoPlayer r2.14.2 demo application (shows the video freezing and frames being dropped).
  • adb bugreport is also zipped up in the folder.

Notes

Sounds like more of a device related issue rather than an issue with ExoPlayer, however the problem started occurring in ExoPlayer r.13.1. In r2.12.1 HEVC plays back smoothly on a Chromecast with Google TV device.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:67
  • Comments:36 (11 by maintainers)

github_iconTop GitHub Comments

18reactions
ojw28commented, Nov 2, 2021

I do have some updates on this issue:

  1. The GoogleTV team and SOC vendor are now both able to reproduce the issue(s), including the stretched video issue and the kernel panic (reboot). It’s unclear at this point whether they’re related, but it seems likely.
  2. The SOC vendor observed that the Plex app appears to be doing something unusual between the first and second playbacks. In particular, switching playback from non-tunnelled to tunnelled mode (background reading, if you’re interested in what this means). It’s thought that this is triggering an underlying bug in the SOC vendor provided part of the platform. The unusual nature of what the Plex app appears to be doing may explain why we’ve not received many reports of other applications being affected by the same issue.
  3. I was able to reproduce the stretched video issue (but not the kernel panic) directly with the ExoPlayer demo app, by modifying it to toggle between non-tunnelled and tunnelled mode.
  4. Plex can work around the issue in the short term by disabling tunnelled mode on GoogleTV. There may also be other workarounds that allow continued use of tunnelled mode, but this is the simplest short term fix. Plex have provided guidance here that the workaround will be included in their v8.26 beta release, which they’re aiming to release next week. They’ve also provided an APK in the same post, if you’re keen to try the fix before then.

We will keep this issue open to track the continued investigation into the underlying platform issue.

17reactions
ojw28commented, Oct 4, 2021

It shouldn’t be possible for the application layer (which is where ExoPlayer lives) to cause a device reboot, so the fact this is occurring indicates an issue in the underlying platform. I have requested an update and increased the priority of the issue that we previously filed on the relevant team.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Chromecast with Google Tv: HEVC H.265 support. - Reddit
265 either stutters or crashes the app. Any insight on wether the new Google Tv supports HEVC? Or which codecs it does support?...
Read more >
Not working on new Chromecast with Google TV (Android 12 ...
If it's a problem that Google has to fix, we are probably screwed. It took over 6 months for them to get HEVC...
Read more >
Fix app crashes on Google TV
If an app crashes while you're using Google TV, this article can help fix the issue. Check for app updates On your TV,...
Read more >
"Google Chromecast with Google TV" dongle with a new ...
Hi everyone, New to this forum, and new to Kodi. Long story short, I've been using the old chromecast for a couple of...
Read more >
Problem playing x265 via KODI with Chromecast with Google tv
Reading a file in x265 (HEVC) format does not work correctly, however: it is very jerky (an image every 2/3 seconds and sound...
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 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