Repository navigation
Description
Describe the problem
Environment
Device: NVIDIA Shield TV 2017 (darcy), Android TV 11, firmware 9.x (build RQ1A.210105.003, security patch 2025-09-05), arm64
Kodi 21.3 (Omega), Android build
inputstream.adaptive 21.5.25
script.module.slyguy 0.87.6 / slyguy.paramount.plus 0.9.21
Widevine L1 (System ID 32981), MediaCodec (Surface) enabled, "Adjust display refresh rate" = Off
What happens Playing a Paramount+ live channel (Serie A / English Football League) works, but at every stream discontinuity (ad break start/end, studio/highlights inserts):
inputstream.adaptive opens new streams (1001 → 2001 → 3001…) and logs OnSegmentChanged: Cannot get the stream sample reader.
Kodi fails to reopen the video decoder: CDVDVideoCodecAndroidMediaCodec::Open - InstanceGuard locked → video freezes for ~6–8 s while audio continues (sometimes audio is muted for resync: large audio sync error ~6000 ms).
Sooner or later, on returning from an ad break, inputstream.adaptive logs ParseChildManifest: Period of discontinuity 1 not found, attempt to advance to the next and ~10 ms later the whole Kodi process crashes with SIGSEGV inside libinputstream.adaptive.so.
Reproducibility Every live match. Three identical crashes recorded (2026-10-31 19:58, 2026-11-07 18:53:37, 2026-11-07 19:04:22), all with the same backtrace. The last one happened ~4 minutes after a fresh device reboot, with quality limited to 1920x1080 in SlyGuy (Ignore Display Resolution = No) and no other activity, so it does not look memory- or setting-related.
Sanitized log excerpt attached (kodi-log-excerpt.txt; URLs and account parameters removed). Happy to provide a debug log if needed.
Possible fix
No response
Steps to reproduce
No response
Debug log
Backtrace (identical in all three crashes)
signal 6 (SIGABRT), Abort message: 'exiting due to SIG_DFL handler for signal 11'
#00 pc 000000000004e2cc /apex/com.android.runtime/lib64/bionic/libc.so (abort+164)
#1 pc 000000000000506c /system/bin/app_process64 (art::SignalChain::Handler(int, siginfo*, void*)+1112)
#2 pc 0000000000000690 [vdso] (__kernel_rt_sigreturn)
#3 pc 0000000000136144 /data/data/org.xbmc.kodi/cache/lib/libinputstream.adaptive.so
#4 pc 0000000000133f5c /data/data/org.xbmc.kodi/cache/lib/libinputstream.adaptive.so
#5 pc 0000000000138b64 /data/data/org.xbmc.kodi/cache/lib/libinputstream.adaptive.so
#6 pc 0000000000112b20 /data/data/org.xbmc.kodi/cache/lib/libinputstream.adaptive.so
#7 pc 0000000000114f40 /data/data/org.xbmc.kodi/cache/lib/libinputstream.adaptive.so
#8 pc 00000000000afd4c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
19:00:25.617 VideoPlayer::OpenFile: plugin://slyguy.paramount.plus/?_=play_channel&_play=1&slug=serie-a&_is_live=1
Key log lines (last crash)
19:01:23.782 error CDVDVideoCodecAndroidMediaCodec::Open - InstanceGuard locked
19:02:26.057 Opening stream: 2001 / OnSegmentChanged: Cannot get the stream sample reader
19:02:27.777 error CDVDVideoCodecAndroidMediaCodec::Open - InstanceGuard locked
19:03:50.595 Opening stream: 3001
19:03:51.886 error CDVDVideoCodecAndroidMediaCodec::Open - InstanceGuard locked
19:04:22.336 error AddOnLog: inputstream.adaptive: ParseChildManifest: Period of discontinuity 1 not found, attempt to advance to the next
19:04:22 -> crash (SIGSEGV in libinputstream.adaptive.so)
Stream manifest file(s)
No response
Additional info
No response
Operating system(s)
Android
Operating system version(s)
No response
InputStream Adaptive version(s)
21.5.25.
Kodi version(s)
21.3 (Omega)
Activity
MaxBaxDix commentedon Nov 7, 2026
kodi-log-excerpt.txt
Porozhniakov commentedon Nov 10, 2026
Another data point on a different platform. It's the same failure at HLS live discontinuities, but I get a permanent stall instead of a crash.
Environment: Raspberry Pi 4, Raspberry Pi OS trixie (arm64), Kodi 21.3, plugin.video.youtube 7.4.4 (YouTube live, adaptive HLS, H.264 + AAC). Reproduced with inputstream.adaptive 21.5.9 and 21.5.16 (Debian packages).
What happens: playback is fine until the player reaches a discontinuity. inputstream.adaptive then opens the next period's streams and playback stops for good. Audio reports "stream stalled" and the video doesn't move. Restarting the stream doesn't help, because it stalls again as soon as it reaches the same discontinuity.
With 21.5.16, after restarting the stream: playback starts at about 13:41 with a 16:40 window, the window grows to 30:55 when the second period appears, and the playback time stops at 14:04 and stays there.
Thread stacks during the stall (21.5.16 with debug symbols):
VideoPlayer:CVideoPlayer::Process()→CVideoPlayer::ReadPacket()→CDVDDemuxClient::Read(), so no packets come from the inputstreamAdaptiveStream::workerthreads are idle atsrc/common/AdaptiveStream.cpp:361, waiting for download requestsAdaptiveTree::TreeUpdateThread::Workeris waiting normally (src/common/AdaptiveTree.cpp:287)So after the period switch nothing asks for the next period's segments, and the demuxer just keeps getting no data. In an earlier stall with 21.5.9, the video thread was also stuck in
CRenderManager::WaitForBuffer()fromCVideoPlayerVideo::OutputPicture().The same live stream played as MPEG-DASH (3 periods in the MPD) went through period changes with no problems.
I can provide full logs or test a patch.