-
Notifications
You must be signed in to change notification settings - Fork 258
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.
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
User Documentation
Developer Documentation
- Integration
- Integration DRM
- Integration DRM (old)
- Stream selection types properties
- How to test a stream
- Test samples python addon
- How to provide custom manifest and license
- Supported containers and codecs
- Verified Media Path (VMP)
- HDCP resolution limit
- Custom DASH manifest tags
- Audio Subtitles track properties
- Dev. FAQ
- Widevine ARM64 support
- Add‐on WIP status
Development