Custom DASH manifest tags - xbmc/inputstream.adaptive GitHub Wiki
To workaround to some limitations, are supported some custom tags that are not part of the DASH specifications, that can be used to change/override some manifest behaviours, or in general the playback. To modify a DASH manifest you will have to use a proxy server in your add-on, see wiki page of "custom manifest and license".
Tags to override media flags properties of the streams
These tags allow to set "flags" properties to the audio / subtitles streams. This will change the behaviour in how Kodi will select the tracks when playback starts based on user Kodi settings (read also Audio Subtitles track properties).
Audio tags
Each property accept true
or false
value, and must be set in AdaptationSet
tag:
default
: Set the track as default (for cases above)original
: Set the track as original languageimpaired
: Set the track for impaired
Example:
<AdaptationSet lang="fr" contentType="audio" mimeType="audio/mp4" impaired="false" original="true" default="false">
Subtitles tags
Each property accept true
or false
value, and must be set in AdaptationSet
tag:
default
: Set the track as default (for cases above)forced
: Set the track as forced subtitleimpaired
: Set the track for impaired
Example:
<AdaptationSet lang="fr" codecs="wvtt" contentType="text" mimeType="text/vtt" impaired="false" forced="true" default="false">
Tags to force enable/disable secure decoder
Refer to same setting of add-on expert setting.
The secure decoder can be disabled from the add-on expert settings, but its a global setting that affect all videos that you play. To avoid that the global setting affect your add-on you can use following tag to override the expert user setting (as alternative of the DRM configuration property).
To override the secure decoder setting, in to an AdaptationSet
tag add inside the ContentProtection
, add a child tag widevine:license
that contains the attribute robustness_level
.
The robustness_level
attribute can contains a string with value:
HW_SECURE_CODECS_REQUIRED
to enable secure decoderHW_SECURE_CODECS_NOT_ALLOWED
to disable secure decoder [Kodi v22 or above]- Empty value (or remove the tag) to not affect the user setting
Note: despite tag its added inside an AdaptationSet currently it does not matter on which stream, because it is applied to the whole Period
.
Example:
...
<AdaptationSet>
<ContentProtection>
<widevine:license robustness_level="HW_SECURE_CODECS_REQUIRED" />
...
</ContentProtection>
...