Methods

(static) LoadItems_AddVideoContent(video, mediaSourceId, audioStreamIdxopt, forceTranscodingopt, bypassDoviPreservationopt) → {void}

Parameters:
NameTypeAttributesDefaultDescription
videoobject
mediaSourceIddynamic
audioStreamIdxinteger<optional>
1
forceTranscodingboolean<optional>
false
bypassDoviPreservationboolean<optional>
false
Returns:
Type: 
void

(static) LoadItems_VideoPlayer(id, mediaSourceId, audioStreamIdxopt, forceTranscodingopt, bypassDoviPreservationopt) → {dynamic}

Parameters:
NameTypeAttributesDefaultDescription
idstring
mediaSourceIddynamic
audioStreamIdxinteger<optional>
1
forceTranscodingboolean<optional>
false
bypassDoviPreservationboolean<optional>
false
Returns:
Type: 
dynamic

(static) addAudioStreamsToVideo(video, meta, mediaSourceId) → {void}

addAudioStreamsToVideo: Populate video.fullAudioData with the item's audio tracks.

Sources from the original item metadata (meta.mediaSourcesData) — NOT from the PlaybackInfo response. The /PlaybackInfo response can return a transcode-shaped MediaSource carrying only the chosen audio stream, which would shrink the OSD picker to a single entry (issue #500). The OSD picker must always list every original track so the user can switch.

Parameters:
NameTypeDescription
videoobject

video AA receiving the fullAudioData field

metadynamic

item metadata (from ItemMetaData) holding mediaSourcesData

mediaSourceIddynamic

chosen MediaSource ID (matches one entry under meta.mediaSourcesData.mediaSources)

Returns:
Type: 
void

(static) addNextEpisodesToQueue(showID) → {void}

Add next episodes to the playback queue

Parameters:
NameTypeDescription
showIDdynamic
Returns:
Type: 
void

(static) addSubtitlesToVideo(video, meta) → {void}

Parameters:
NameTypeDescription
videodynamic
metadynamic
Returns:
Type: 
void

(static) directPlaySupported(meta) → {boolean}

Parameters:
NameTypeDescription
metaobject
Returns:
Type: 
boolean

(static) init() → {void}

Returns:
Type: 
void

(static) loadItems() → {void}

Returns:
Type: 
void

(static) setupVideoContentWithAuth(video, mediaSourceId, audioStreamIdx) → {void}

setupVideoContentWithAuth: Configures video content URL and applies authentication

Determines the appropriate URL based on protocol and stream location, then applies Jellyfin authentication headers for internal streams. External streams (non-localhost) receive the raw URL without authentication to prevent credential leakage.

Protocol handling:

  • "file": Direct stream from Jellyfin server (gets auth)
  • Non-file with localhost domain: Proxied through Jellyfin (gets auth)
  • Non-file with external domain: Direct external URL (NO auth)
Parameters:
NameTypeDescription
videoobject

Video object containing content node to configure

mediaSourceIddynamic

Media source ID or empty string for live streams

audioStreamIdxinteger

Selected audio stream index

Returns:
Type: 
void