Methods

(static) defaultSubtitleTrack(sortedSubtitles, selectedAudioLanguage, requireTextopt, originalLanguageopt, languageMatchesopt) → {integer}

defaultSubtitleTrack:

Parameters:
NameTypeAttributesDefaultDescription
sortedSubtitlesdynamic

array of subtitles sorted by type and language

selectedAudioLanguagestring

language for selected audio track

requireTextboolean<optional>
false

indicates if only text subtitles should be considered

originalLanguagestring<optional>
""

the item's OriginalLanguage (JellyfinBaseItem.originalLanguage)

languageMatchesdynamic<optional>
invalid

sortSubtitles()' languageMatches, computed over ALL the item's subtitles; derived from sortedSubtitles when omitted

Returns:

indicating the default track's server-side index. Defaults to {SubtitleSelection.NONE} if one is not found

Type: 
integer

(static) defaultSubtitleTrackFromVid(meta, selectedAudioIndex, mediaSourceIdopt) → {integer}

defaultSubtitleTrackFromVid: Identifies the default subtitle track given metadata and audio index

Parameters:
NameTypeAttributesDefaultDescription
metaobject

metadata object containing MediaSources with MediaStreams

selectedAudioIndexinteger

index of selected audio stream (used for Smart mode language matching)

mediaSourceIddynamic<optional>
invalid
Returns:

subtitle track index or SubtitleSelection.NONE if not found

Type: 
integer

(static) sortSubtitles(MediaStreams, originalLanguageopt, withLabelsopt) → {dynamic}

Checks available subtitle tracks and puts subtitles in forced, default, and non-default/forced but preferred language at the top

withLabels = false leaves each Track.Description empty, for a caller that only picks a track: the labels are most of this function's cost on a Task thread.

Parameters:
NameTypeAttributesDefaultDescription
MediaStreamsdynamic
originalLanguagestring<optional>
""
withLabelsboolean<optional>
true
Returns:
Type: 
dynamic