I remotely run a CoreELEC box for my parents.
Before delivering it to them, I’d installed the Kayo plugin, which uses inputstream.adaptive, and it all worked just fine.
It wasn’t until a few weeks later that they tried it, and got nothing. Digging around in the logs I found:
NOTICE: VideoPlayer::OpenFile: plugin://plugin.video.kayo.sports/?_=play&id=72635&play_type=0&start_from=1238&_l=.pvr NOTICE: Creating InputStream ERROR: ADDON: Could not locate inputstream.adaptive.so.2.3.21 ERROR: IAddonInstanceHandler::CreateInstance: inputstream.adaptive returned bad status "Permanent failure" during instance creation ERROR: CVideoPlayer::OpenInputStream - error opening [plugin://plugin.video.kayo.sports/?_=play&id=72635&play_type=0&start_from=1238&_l=.pvr] NOTICE: CVideoPlayer::OnExit()
Further digging showed that inputstream.adaptive had updated from v2.3.21 to v2.3.22.
Restarting Kodi fixed this, but this is an always-on box, and I’d like it to be able to pick up these shared library upgrades automatically. (These are the current logs - I’d also had the same problem with a previous version bump)
My main Kodi box is a NUC running the official PPA .deb packages. It too is always-on, but I haven’t had these problems. One difference is that the deb packaged version has symlinks like so:
inputstream.adaptive.so -> inputstream.adaptive.so.18.2 inputstream.adaptive.so.18.2 -> inputstream.adaptive.so.2.3.22 inputstream.adaptive.so.2.3.22
I’m not entirely sure what the idea of the 18.2 symlink is, but I wonder if the CoreELEC packaged inputstream.adaptive should have a similar set of symlinks, or even just:
inputstream.adaptive.so -> inputstream.adaptive.so.2.3.22
This looks like a likely place to add it:
The only prior art I can find is in
/usr/lib/kodi/addons/peripheral.joystick, which has:
peripheral.joystick.so -> peripheral.joystick.so.18.3 peripheral.joystick.so.1.4.7 peripheral.joystick.so.18.3 -> peripheral.joystick.so.1.4.7
I’m really not sure what the correct fix is here.