Skip to content

Add‐on WIP status

Stefano Gottardo edited this page Dec 21, 2023 · 21 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. There are a lot of things that under the hood are still in WIP and need to be improved, reworked or implemented, as also the support to streaming protocols like DASH, HLS, etc that have many manifest features that are partially supported or even unsupported.

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 streaming Working implementation from Kodi v20 (Nexus) see Stream selector setting, self-adapt stream quality based on available network bandwidth by taking in account of the screen resolution. Works reasonably well during playback, but AdaptiveStream::ensureSegment force add segments and prevent adaptive stream to work correctly when playback start, that code needs to be reworked. 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.
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 not well supported, playback problems may occurs.
DASH with SubRepresentation --
DASH with multiple BaseURL From Kodi v21, the first BaseURL is correctly used, other values are ignored.
HLS with DISCONTINUTIES not well supported, playback problems may occurs.
HLS with multi-track included audio --
HLS with Playready DRM --

For other details on the development, see the project roadmap: https://github.com/xbmc/inputstream.adaptive/projects/1

Clone this wiki locally