#6234·SmartTube

[BUG]: Playback stutters (frame drops) every ~15 min caused by background channel sync (no-login mode)

Author: BobFix-0Created Sep 17, 2026Updated Sep 17, 2026
Labelsbug

Checklist

  • I made sure that there are no existing issues - open or closed - which I could contribute my information to.
  • I have read the FAQ and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one bug.

Affected version

last

Device Type

Phone/Tablet

Affected Android

Android 14

Steps to reproduce the bug

Android TV box (2 cores / 2 GB RAM) - no account signed in -more than 16 subscribed channels. while playing a video.

Actual behavior

Brief frame drops / micro-stutters during playback, roughly every 15 minutes.

Additional information

Environment SmartTube stable - Android TV box (2 cores / 2 GB RAM) - no account signed in -more than 16 subscribed channels. What happens Brief frame drops / micro-stutters during playback, roughly every 15 minutes. The moresubscriptions, the worse. Not noticeable on faster devices or with an account signed in. Root cause (traced in source) UpdateChannelsWorker (WorkManager periodic job, 15 min, enabled by default) runs a fullsubscriptions sync while a video is playing: • leanbackassistant/.../channels/UpdateChannelsTask.java -> ContentService.getSubscriptions() • In no-login mode this ends in RssService.getFeed() (MediaServiceCore/youtubeapi/.../rss/RssService.kt) fetching ALL channel feeds with unbounded concurrency (one coroutine perchannel on Dispatchers.IO) • Each channel also loads its full page (syncWithChannel -> getChannelAsGrid: innerTube TVrequest + up to 2 WEB fallbacks)The CPU gets saturated while ExoPlayer is decoding -> dropped frames. Suggested fix Skip the sync while a playback session is active (e.g. a static PlaybackMonitor flag setin PlaybackPresenter.onEngineInitialized() / onEngineReleased()), then re-run it about10 seconds after playback ends. Optionally cap RssService concurrency with a semaphore(2-4 threads, based on core count). Feature request Please expose a settings checkbox such as "Defer background channel updates untilplayback ends" (default on), so channel updates are deferred instead of causing stutters.