Skip to content

Add‐on WIP status

Stefano Gottardo edited this page Nov 9, 2024 · 14 revisions

The following list shows the current add-on developing situation and so some of the common problems a user/developer might encounter in playing a video, so this is not an exhaustive list, but a general one. There are a lot of things that under the hood are still in WIP and need to be improved, reworked or implemented, such as the support still in WIP to streaming protocols like DASH, HLS, Smooth Stream, where there are many manifest features that are missing or partially supported.

General add-on situation, referred to current development branch

Status flags: ✅ = Working / But improvements needed ❗ = WIP / Partial working ❌ = Don't works / Not supported

Feature Status Note
Adaptive bitrate switching It is about adaptive streaming support, a working implementation has been implemented from Kodi v20 (Nexus) see Stream selector setting. Self-adapt stream quality (bitrate / resolution) based on available network bandwidth by taking in account also the current screen resolution used. It works reasonably well during playback, but when playback start AdaptiveStream::ensureSegment force add all buffer segments at once and prevent adaptive streaming to work correctly, so rework needed. Also there is room for improvement in determining the initial bandwidth.
Adaptive buffering Consists of automatically increasing/shrinking the size of ISA's internal buffer, so as to prevent buffer loading during playback. Has been full disabled from Kodi v20 (Nexus) see AdaptiveStream::start_stream due to partial implementation, it require a deep rework, see code comments for details. So at moment the internal ISA buffer is fixed with a size of 8 (for each stream type).
Live streaming Generally speaking there are really many, many type of live streaming features, most of them NOT supported, or works partially, causing buffering or video freeze or any other kind of problem like crashes. Currently important parts of live streaming support are missing or partially implemented, others need to be completely revised from scratch.
Live streaming timeshift It is working only for DASH streaming protocol, and on some specific manifests may not works correctly. On other protocols its not implemented yet.
VOD streaming Generally speaking we have mostly stable support.
ADS ADS breaks are not well supported, playback freezes or crashes may occurs.
DASH Live with UTCTiming UTCTiming tag is not supported, playback problems may occur, like bad buffering or playback freeze, due to bad timing on manifest updates.
DASH with multi-periods This support has been improved from Kodi 21, but ADS periods may cause problems.
DASH with SubRepresentation --
DASH with multiple BaseURL From Kodi v21, the first BaseURL is correctly used, other values are ignored.
HLS with DISCONTINUTIES Has been improved from Kodi v21, but there may be use cases that are not well managed.
HLS with multi-track included audio --
HLS with Playready DRM From Kodi v22
WEBM encrypted Current Webm demuxer has not implemented the decryption support.
DRM with Key Rotation --
HLS SAMPLE-AES --
HLS SAMPLE-AES with MP4 --
HLS SAMPLE-AES with Key Rotation --
LIVE to VOD manifest transition This has been somewhat implemented for HLS manifest only, but never tested, there is no guarantee it will work.
Clone this wiki locally