[BUG]: Playback stutters (frame drops) every ~15 min caused by background channel sync (no-login mode)
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.
Source: yuliskov/SmartTube