[Issue]: HEVC slideshow / extremely low visible FPS on Xiaomi TV Stick MiTV-AYFR0 with Android TV 14

Author: Viktsolovevwork278Created Jul 27, 2026Updated Sep 15, 2026
Labelsbug

Describe the bug

Describe the bug

HEVC streaming on Xiaomi TV Stick MiTV-AYFR0 running Android TV 14 becomes a slideshow with extremely low visible FPS.

Moonlight's performance overlay may still report a normal rendering frame rate even though the actual displayed video updates only a few times per second.

H.264 streaming works normally.

The issue appears to be caused by MediaCodec low-latency mode with:

c2.amlogic.hevc.decoder

Disabling MediaCodec low-latency options for HEVC completely fixes the issue.

Device

  • Device: Xiaomi TV Stick
  • Model: MiTV-AYFR0
  • Android TV: 14
  • Build: UKG3.250107.001.V816.0.26.6.10.UZFAATK
  • Decoder: c2.amlogic.hevc.decoder
  • Moonlight: 12.1
  • Server: Sunshine
  • HEVC 1920x1080 @ 60 FPS

Steps to reproduce

  1. Start a Moonlight stream using HEVC.
  2. Move around in a game or display rapidly changing content.
  3. Video becomes a slideshow / extremely low visible FPS.
  4. Switch to H.264 and the stream immediately works normally.

Troubleshooting performed

  • H.264 in Moonlight works perfectly at 60 FPS.
  • Local HEVC video playback in VLC on the same device works normally.
  • The same Sunshine HEVC stream works normally on another Android phone.
  • Tested Moonlight 12.1, 12.0.2 and 10.8.4 — same issue.
  • Tested Sunshine NVENC and software HEVC encoding — same issue.
  • Disabled HEVC Reference Frame Invalidation (RFI) — issue remained.
  • Disabled MediaCodec low-latency options for HEVC — issue completely disappeared.
  • Re-enabled RFI while keeping HEVC MediaCodec low-latency disabled — HEVC 1080p60 remains fully working.

Relevant behavior

With the broken configuration, logcat shows:

c2::u32 algo.low-latency.value = 1

and the Amlogic decoder reports:

use_low_latency_mode_:1

The problem disappears when setDecoderLowLatencyOptions() is skipped for HEVC on this device.

Working patch

I created a fork with a device-specific workaround that disables MediaCodec low-latency mode for HEVC on MiTV-AYFR0 while leaving RFI and H.264 behavior unchanged: https://github.com/Viktsolovevwork278/moonlight-android-hevc-fix

A prebuilt APK is also available in the Releases section of the fork.

I'd be happy to test a cleaner device-specific workaround or provide additional logcat output if needed.

Steps to reproduce

  1. Start a Moonlight stream using HEVC on Xiaomi TV Stick MiTV-AYFR0.
  2. Use 1920x1080 at 60 FPS.
  3. Display rapidly changing content or start a game.
  4. The video becomes a slideshow with extremely low visible FPS, while Moonlight may still report a normal rendering frame rate.
  5. Switch the codec to H.264 and the stream immediately works normally.

The issue also occurs at 720p/30 FPS and with default Moonlight settings.

Affected games

The issue is not game-specific. It also occurs while streaming the Windows desktop and other rapidly changing content.

Tested in games as well as on the desktop.

Other Moonlight clients

PC

Moonlight adjusted settings

Yes

Moonlight adjusted settings (please complete the following information)

Tested with HEVC at:

  • 1920x1080 60 FPS
  • 1280x720 30 FPS
  • Prefer lowest latency frame pacing

Also tested after reverting Moonlight settings to defaults. The issue still occurs.

H.264 works normally with the same setup.

Moonlight default settings

Yes

Gamepad-related connection issue

Yes

Gamepad-related input issue

Yes

Gamepad-related streaming issue

Yes

Android version

Android TV 14

Device model

Xiaomi TV Stick MiTV-AYFR0

Server PC OS version

Windows 11

Server PC GeForce Experience version

N/A - using Sunshine

Server PC Nvidia GPU driver version

nvidia-smi

Server PC antivirus and firewall software

Windows Defender and Windows Firewall

Screenshots

No response

Relevant log output

bash
Moonlight selects the Amlogic HEVC hardware decoder:

Selected HEVC decoder: c2.amlogic.hevc.decoder
Using codec c2.amlogic.hevc.decoder for hardware decoding video/hevc

MediaCodec low latency gets enabled:

c2::u32 algo.low-latency.value = 1

The Amlogic decoder then reports:

use_low_latency_mode_:1

Disabling setDecoderLowLatencyOptions() for video/hevc completely fixes the issue while keeping HEVC RFI enabled.

Additional context

No response

Source: moonlight-stream/moonlight-android