Skip to content
Stefano Gottardo edited this page Feb 23, 2023 · 23 revisions

This list provides helps and where possible solutions for problems that a developer may encounter.

Problems:

Errors:

Streams language names displayed with wrong/incomplete descriptions on Kodi OSD settings

Most video services usually provide streams with language code in ISO 639-1 format, well accepted in Kodi (example es Spanish). But nowadays a new standard is being adopted the IETF BCP 47, which provides subtags (like region code) for example es-ES for Spanish-Spain, but this new format is not supported in Kodi, leading to some problems.

All Kodi versions until v19 (Matrix) are affected by the worst problem and will results in wrong display of language names, for example:

  • es-ES will be displayed on Kodi OSD settings as Spanish-Spanish
  • pt-BR will be displayed on Kodi OSD settings as Portuguese-Breton
  • and so on...

but the situation has been improved a bit from Kodi v20 (Nexus), see below.

Solutions for Kodi v19 and older

For these Kodi versions, the only workaround is to use a proxy to intercept the manifest and rename the language codes of each audio/subtitle stream, so you have to set a custom subtag to something that does not exist, for example:

  • es-ES renamed to es-Spain will be displayed as Spanish-Spain
  • pt-BR renamed to pt-Brazil will be displayed as Portuguese-Brazil
  • and so on...

as you can see the final result is that the custom subtags are kept as is, but still there will always be problems with the Kodi language selection done by Kodi when playback starts.

Solutions for Kodi v20 and newer

From this Kodi version has been improved the support for language code with subtags, then unrecognized language codes are displayed in Kodi GUI menus as is without descriptions, for example:

  • es-ES will be displayed as Spanish-es
  • pt-BR will be displayed as Portuguese-br
  • and so on...

therefore no manifest alterations are required, but if the final user want a better language descriptions and selection when playback starts, must perform one of these operations:

How to get downloaded manifests files

To save downloaded stream manifests to disk during playback, open the settings and in the Expert category enable Save stream manifests. The files will be stored in the user data folder of InputStream Adaptive. Each manifest file will be saved in sequential download order using timestamps, the filename can also be identified in the Kodi debug log to verify when it was saved. All existing manifest files will be deleted at the start of each video playback.

Decrypt Sample returns failure!

This error may occurs when the inputstream.adaptive.license_key property is configured with wrong content, then may happen that the video plays for a few seconds before stopping with this error. We suggest you investigate the HTTP requests/responses of your video service provider, in order to understand the right license configuration.

Unable to initialize MediaDrm

This error occurs when the device used has an invalid or corrupted DRM library, could be the case when you use a custom firmware, or running the application on a virtual environment. In any case it is an external problem not related to the add-on.

HTTP error 403

We know two common reasons that can lead to an HTTP error 403:

Server protected by Cloudflare

You can recognise this type of protection by analysing HTTP requests/responses which should contain the word Cloudflare. This anti-bot protection does not allow us to download files, there is currently no known solution.

Verified Media Path (VMP) CDM protection

There is currently no known solution. For more info see Verified Media Path (VMP) page.

HTTP error 404

This can usually happen when for some reason the add-on tries to download the wrong stream segments. If you are trying to play a LIVE content, its possible that the manifest updating is not working, in this use case you could try set inputstream.adaptive.manifest_update_parameter property, see Integration page. Otherwise it could be an add-on bug.

HTTP error 400 - Provisioning server returned failure

Your device may have some problem with the DRM library, could happens for example when using Android custom ROM's.

License request - HTTP error 400

We suggest you to verify the headers set to the inputstream.adaptive.license_key property, may be missing or URL encoded in an incorrect way.

License request - HTTP error 500

This error can occurs when is missing some headers in the license request. An example could be Content-Type: application/octet-stream or for missing user agent. See inputstream.adaptive.license_key property to know how set the license headers.

Clone this wiki locally