@theoplayer/extended 10.0.1 → 10.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2029,7 +2029,7 @@ interface CsaiAdDescription extends AdDescription {
2029
2029
  *
2030
2030
  * @public
2031
2031
  */
2032
- type BufferSource = ArrayBufferView | ArrayBuffer;
2032
+ type BufferSource = ArrayBufferView<ArrayBuffer> | ArrayBuffer;
2033
2033
 
2034
2034
  /**
2035
2035
  * Describes the key system configuration.
@@ -3817,506 +3817,840 @@ interface THEOplayerError extends Error {
3817
3817
  }
3818
3818
 
3819
3819
  /**
3820
- * Fired when an error occurs.
3820
+ * The events fired by a {@link Quality}.
3821
3821
  *
3822
- * @category Errors
3823
- * @category Events
3822
+ * @category Media and Text Tracks
3824
3823
  * @public
3825
3824
  */
3826
- interface ErrorEvent extends Event<'error'> {
3827
- /**
3828
- * The error that occurred.
3829
- *
3830
- * @deprecated use {@link ErrorEvent.errorObject | errorObject.message} instead
3831
- */
3832
- error: string;
3825
+ interface QualityEventMap {
3833
3826
  /**
3834
- * An error object containing additional information about the error.
3827
+ * {@inheritDoc UpdateQualityEvent}
3835
3828
  */
3836
- errorObject: THEOplayerError;
3829
+ update: UpdateQualityEvent;
3837
3830
  }
3838
-
3839
3831
  /**
3840
- * An error code whose category is `ErrorCategory.SUBTITLE`.
3832
+ * Fired when the quality updates.
3841
3833
  *
3842
3834
  * @category Media and Text Tracks
3843
- * @category Errors
3835
+ * @category Events
3844
3836
  * @public
3845
3837
  */
3846
- type TextTrackErrorCode = ErrorCode.SUBTITLE_LOAD_ERROR | ErrorCode.SUBTITLE_CORS_ERROR | ErrorCode.SUBTITLE_PARSE_ERROR;
3838
+ interface UpdateQualityEvent extends Event<'update'> {
3839
+ /**
3840
+ * The quality which has been updated.
3841
+ */
3842
+ readonly quality: Quality;
3843
+ }
3847
3844
  /**
3848
- * An error thrown by a text track.
3845
+ * Represents a quality of a media track.
3849
3846
  *
3850
3847
  * @category Media and Text Tracks
3851
- * @category Errors
3852
3848
  * @public
3853
3849
  */
3854
- interface TextTrackError extends THEOplayerError {
3850
+ interface Quality extends EventDispatcher<QualityEventMap> {
3855
3851
  /**
3856
- * {@inheritDoc THEOplayerError.code}
3852
+ * The average bandwidth of the quality, in bits per second.
3857
3853
  */
3858
- readonly code: TextTrackErrorCode;
3854
+ readonly averageBandwidth?: number;
3859
3855
  /**
3860
- * The URL of the (sideloaded) text track.
3856
+ * The required bandwidth for the quality, in bits per second.
3861
3857
  */
3862
- readonly url: string;
3858
+ readonly bandwidth: number;
3863
3859
  /**
3864
- * The status code from the HTTP response.
3860
+ * The codecs of the quality.
3861
+ *
3862
+ * @remarks
3863
+ * <br/> - These are represented as a string containing the codecs as defined by the manifest.
3865
3864
  */
3866
- readonly status: number;
3867
- }
3868
-
3869
- /**
3870
- * The content type of a text track, represented by a value from the following list:
3871
- * <br/> - `'srt'`: The track contains SRT (SubRip Text) content.
3872
- * <br/> - `'ttml'`: The track contains TTML (Timed Text Markup Language) content.
3873
- * <br/> - `'webvtt'`: The track contains WebVTT (Web Video Text Tracks) content.
3874
- * <br/> - `'emsg'`: The track contains emsg (Event Message) content.
3875
- * <br/> - `'eventstream'`: The track contains Event Stream content.
3876
- * <br/> - `'id3'`: The track contains ID3 content.
3877
- * <br/> - `'cea608'`: The track contains CEA608 content.
3878
- * <br/> - `'daterange'`: The track contains HLS EXT-X-DATERANGE content.
3879
- * <br/> - `'millicast'`: The track contains Millicast metadata content.
3880
- * <br/> - `''`: The type of the track contents is unknown.
3881
- *
3882
- * @category Media and Text Tracks
3883
- * @public
3884
- */
3885
- type TextTrackType = 'srt' | 'ttml' | 'webvtt' | 'emsg' | 'eventstream' | 'id3' | 'cea608' | 'daterange' | 'millicast' | '';
3886
- /**
3887
- * The ready state of a text track, represented by a value from the following list:
3888
- * <br/> - `0`: Indicates that the text track's cues have not been obtained.
3889
- * <br/> - `1`: The text track is loading. Further cues might still be added to the track by the parser.
3890
- * <br/> - `2`: The text track has been loaded with no fatal errors.
3891
- * <br/> - `3`: An error occurred obtaining the cues for the track. Some or all of the cues are likely missing and will not be obtained.
3892
- *
3893
- * @category Media and Text Tracks
3894
- * @public
3895
- */
3896
- type TextTrackReadyState = 0 | 1 | 2 | 3;
3897
- /**
3898
- * An error event fired by a {@link TextTrack}.
3899
- *
3900
- * @category Media and Text Tracks
3901
- * @category Errors
3902
- * @category Events
3903
- * @public
3904
- */
3905
- interface TextTrackErrorEvent extends ErrorEvent {
3865
+ readonly codecs: string;
3906
3866
  /**
3907
- * {@inheritDoc ErrorEvent.errorObject}
3867
+ * The identifier for this quality. This identifier is tied to the stream's internal representation. It may be empty. For a unique id, use {@link Quality.uid}.
3908
3868
  */
3909
- readonly errorObject: TextTrackError;
3910
- }
3911
- /**
3912
- * Fired when a cue is added to the text track.
3913
- *
3914
- * @category Media and Text Tracks
3915
- * @category Events
3916
- * @public
3917
- */
3918
- interface TextTrackAddCueEvent extends Event<'addcue'> {
3869
+ readonly id: string;
3919
3870
  /**
3920
- * The cue that is added to the text track.
3871
+ * The unique identifier for this quality.
3921
3872
  */
3922
- readonly cue: TextTrackCue;
3873
+ readonly uid: number;
3874
+ /**
3875
+ * The name of the quality.
3876
+ */
3877
+ readonly name: string;
3878
+ /**
3879
+ * The label of the quality.
3880
+ */
3881
+ label: string;
3882
+ /**
3883
+ * Whether the quality is available.
3884
+ *
3885
+ * @remarks
3886
+ * <br/> - A quality can be unavailable due to a DRM restriction (e.g. HDCP).
3887
+ */
3888
+ readonly available: boolean;
3889
+ /**
3890
+ * The HLS SCORE attribute.
3891
+ *
3892
+ * @remarks
3893
+ * <br/> - Available since v6.8.0.
3894
+ * <br/> - Only for HLS streams.
3895
+ */
3896
+ readonly score: number | undefined;
3923
3897
  }
3924
3898
  /**
3925
- * Fired when a cue is removed from the text track.
3899
+ * Represents a quality of a video track.
3926
3900
  *
3927
3901
  * @category Media and Text Tracks
3928
- * @category Events
3929
3902
  * @public
3930
3903
  */
3931
- interface TextTrackRemoveCueEvent extends Event<'removecue'> {
3904
+ interface VideoQuality extends Quality {
3932
3905
  /**
3933
- * The cue that is removed from the text track.
3906
+ * The video height of the video quality, in pixels.
3934
3907
  */
3935
- readonly cue: TextTrackCue;
3908
+ readonly height: number;
3909
+ /**
3910
+ * The video width of the video quality, in pixels.
3911
+ */
3912
+ readonly width: number;
3913
+ /**
3914
+ * The framerate of the video quality.
3915
+ */
3916
+ readonly frameRate: number;
3917
+ /**
3918
+ * The timestamp of the first frame of the video quality, in seconds.
3919
+ */
3920
+ readonly firstFrame: number;
3936
3921
  }
3937
3922
  /**
3938
- * Fired when a cue from the text track is updated.
3923
+ * Represents a quality of an audio track.
3939
3924
  *
3940
3925
  * @category Media and Text Tracks
3941
- * @category Events
3942
3926
  * @public
3943
3927
  */
3944
- interface TextTrackUpdateCueEvent extends Event<'updatecue'> {
3928
+ interface AudioQuality extends Quality {
3945
3929
  /**
3946
- * The cue from the text track that is updated.
3930
+ * The sampling rate of the audio quality.
3947
3931
  */
3948
- readonly cue: TextTrackCue;
3932
+ readonly audioSamplingRate: number | [number, number];
3949
3933
  }
3934
+
3950
3935
  /**
3951
- * Fired when a cue of the text track has entered.
3936
+ * List of qualities.
3952
3937
  *
3953
3938
  * @category Media and Text Tracks
3954
- * @category Events
3955
3939
  * @public
3956
3940
  */
3957
- interface TextTrackEnterCueEvent extends Event<'entercue'> {
3941
+ interface QualityList extends Array<Quality> {
3958
3942
  /**
3959
- * The cue from the text track that has entered.
3943
+ * Index signature to get the quality at the requested index in the list.
3960
3944
  */
3961
- readonly cue: TextTrackCue;
3945
+ [index: number]: Quality;
3946
+ /**
3947
+ * Return the quality at the requested index in the list.
3948
+ *
3949
+ * @param index - A `number` representing the index of a quality in the list.
3950
+ * @returns The quality with index `index` in the list.
3951
+ */
3952
+ item(index: number): Quality;
3962
3953
  }
3954
+
3963
3955
  /**
3964
- * Fired when a cue of the text track has exited.
3956
+ * The type of a media track, represented by a value from the following list:
3957
+ * <br/> - `'audio'`
3958
+ * <br/> - `'video'`
3959
+ * <br/> - `'text'`
3960
+ * <br/> - `'image'`
3961
+ * <br/> - `'unknown'`
3965
3962
  *
3966
3963
  * @category Media and Text Tracks
3967
- * @category Events
3968
3964
  * @public
3969
3965
  */
3970
- interface TextTrackExitCueEvent extends Event<'exitcue'> {
3971
- /**
3972
- * The cue from the text track that has exited.
3973
- */
3974
- readonly cue: TextTrackCue;
3975
- }
3966
+ type MediaTrackType = 'audio' | 'video' | 'text' | 'image' | 'unknown';
3976
3967
  /**
3977
- * Fired when the displaying cues of the text track has changed.
3968
+ * A quality-related event fired by a {@link MediaTrack}.
3978
3969
  *
3979
3970
  * @category Media and Text Tracks
3980
3971
  * @category Events
3981
3972
  * @public
3982
3973
  */
3983
- interface TextTrackCueChangeEvent extends Event<'cuechange'> {
3974
+ interface QualityEvent<TType extends string> extends Event<TType> {
3984
3975
  /**
3985
- * The text track which displaying cues has changed.
3976
+ * The quality.
3986
3977
  */
3987
- readonly track: TextTrack;
3978
+ readonly quality: Quality;
3988
3979
  }
3989
3980
  /**
3990
- * Fired when the {@link TextTrack.readyState | ready state} of the text track has changed.
3981
+ * Fired when the media track's {@link MediaTrack.targetQuality | target quality} changes.
3991
3982
  *
3992
3983
  * @category Media and Text Tracks
3993
3984
  * @category Events
3994
3985
  * @public
3995
3986
  */
3996
- interface TextTrackReadyStateChangeEvent extends Event<'readystatechange'> {
3987
+ interface TargetQualityChangedEvent extends Event<'targetqualitychanged'> {
3997
3988
  /**
3998
- * The text track which ready state has changed.
3989
+ * The new target quality.
3999
3990
  */
4000
- readonly track: TextTrack;
3991
+ readonly quality: Quality | undefined;
4001
3992
  /**
4002
- * The new {@link TextTrack.readyState | ready state} of the text track.
3993
+ * The new target qualities.
4003
3994
  */
4004
- readonly readyState: TextTrackReadyState;
3995
+ readonly qualities: Quality[];
4005
3996
  }
4006
3997
  /**
4007
- * Fired when the {@link TextTrack."type" | type} of the text track has changed.
3998
+ * The events fired by a {@link MediaTrack}.
4008
3999
  *
4009
4000
  * @category Media and Text Tracks
4010
- * @category Events
4011
4001
  * @public
4012
4002
  */
4013
- interface TextTrackTypeChangeEvent extends Event<'typechange'> {
4003
+ interface MediaTrackEventMap extends TrackEventMap {
4014
4004
  /**
4015
- * The text track which type has changed.
4005
+ * Fired when the media track's {@link MediaTrack.activeQuality | active quality} changes.
4016
4006
  */
4017
- readonly track: TextTrack;
4007
+ activequalitychanged: QualityEvent<'activequalitychanged'>;
4008
+ /**
4009
+ * Fired when the media track's {@link MediaTrack.targetQuality | target quality} changes.
4010
+ */
4011
+ targetqualitychanged: TargetQualityChangedEvent;
4012
+ /**
4013
+ * Fired when a quality of the track becomes unavailable.
4014
+ *
4015
+ * @remarks
4016
+ * <br/> - A Quality can become unavailable due to a DRM restriction (e.g. HDCP).
4017
+ */
4018
+ qualityunavailable: QualityEvent<'qualityunavailable'>;
4018
4019
  }
4019
4020
  /**
4020
- * The events fired by a {@link TextTrack}.
4021
+ * Represents a media track (audio or video) of a media resource.
4021
4022
  *
4022
4023
  * @category Media and Text Tracks
4023
4024
  * @public
4024
4025
  */
4025
- interface TextTrackEventMap extends TrackEventMap {
4026
+ interface MediaTrack extends Track, EventDispatcher<MediaTrackEventMap> {
4026
4027
  /**
4027
- * Fired when a cue is added to the track.
4028
+ * Whether the track is enabled.
4029
+ *
4030
+ * @remarks
4031
+ * <br/> - Only one track of the same type (e.g. video) can be enabled at the same time.
4032
+ * <br/> - Enabling a track will disable all other tracks of the same type.
4033
+ * <br/> - Disabling a track will not enable a different track of the same type.
4028
4034
  */
4029
- addcue: TextTrackAddCueEvent;
4035
+ enabled: boolean;
4030
4036
  /**
4031
- * Fired when a cue of the track is removed.
4037
+ * The identifier of the media track.
4038
+ *
4039
+ * @remarks
4040
+ * <br/> - This identifier can be used to distinguish between related tracks, e.g. tracks in the same list.
4032
4041
  */
4033
- removecue: TextTrackRemoveCueEvent;
4042
+ readonly id: string;
4034
4043
  /**
4035
- * Fired when a cue of the track is updated.
4044
+ * A unique identifier of the media track.
4045
+ *
4046
+ * @remarks
4047
+ * <br/> - This identifier is unique across tracks of a THEOplayer instance and can be used to distinguish between tracks.
4048
+ * <br/> - This identifier is a randomly generated number.
4036
4049
  */
4037
- updatecue: TextTrackUpdateCueEvent;
4050
+ readonly uid: number;
4038
4051
  /**
4039
- * Fired when a cue of the track enters.
4040
- */
4041
- entercue: TextTrackEnterCueEvent;
4042
- /**
4043
- * Fired when a cue of the track exits.
4044
- */
4045
- exitcue: TextTrackExitCueEvent;
4046
- /**
4047
- * Fired when the displaying cues of the text track changes.
4048
- */
4049
- cuechange: TextTrackCueChangeEvent;
4050
- /**
4051
- * Fired when the text track's {@link TextTrack.readyState | ready state} changes.
4052
- */
4053
- readystatechange: TextTrackReadyStateChangeEvent;
4054
- /**
4055
- * Fired when the text track's {@link TextTrack."type" | type} changes.
4056
- */
4057
- typechange: TextTrackTypeChangeEvent;
4058
- /**
4059
- * Fired when an error occurred while loading or parsing the track.
4060
- */
4061
- error: TextTrackErrorEvent;
4062
- }
4063
- /**
4064
- * Represents a text track of a media resource.
4065
- *
4066
- * @category Media and Text Tracks
4067
- * @public
4068
- */
4069
- interface TextTrack extends Track, EventDispatcher<TextTrackEventMap> {
4070
- /**
4071
- * The kind of the text track, represented by a value from the following list:
4072
- * <br/> - `'subtitles'`: The track contains subtitles.
4073
- * <br/> - `'captions'`: The track contains closed captions, a translation of dialogue and sound effects.
4074
- * <br/> - `'descriptions'`: The track contains descriptions, a textual description of the video.
4075
- * <br/> - `'chapters'`: The track contains chapter titles.
4076
- * <br/> - `'metadata'`: The track contains metadata. This track will not serve display purposes.
4052
+ * The kind of the media track, represented by a value from the following list:
4053
+ * <br/> - `'main'`: The track is the default track for playback
4054
+ * <br/> - `'alternative'`: The track is not the default track for playback
4077
4055
  */
4078
4056
  readonly kind: string;
4079
4057
  /**
4080
- * The label of the text track.
4058
+ * The label of the media track.
4081
4059
  */
4082
4060
  label: string;
4083
4061
  /**
4084
- * The language of the text track.
4062
+ * The language of the media track.
4085
4063
  */
4086
4064
  readonly language: string;
4087
4065
  /**
4088
- * The identifier of the text track.
4089
- *
4090
- * @remarks
4091
- * <br/> - This identifier can be used to distinguish between related tracks, e.g. tracks in the same list.
4092
- * <br/> - For a text track embedded within an MPEG-DASH stream, this returns the Representation’d id attribute.
4093
- * <br/> - For MPEG-DASH streams a Representation's ID is preferred over the AdaptationSet's ID.
4094
- */
4095
- readonly id: string;
4096
- /**
4097
- * A unique identifier of the text track.
4098
- *
4099
- * @remarks
4100
- * <br/> - This identifier is unique across tracks of a THEOplayer instance and can be used to distinguish between tracks.
4101
- * <br/> - This identifier is a randomly generated number.
4102
- */
4103
- readonly uid: number;
4104
- /**
4105
- * The in-band metadata track dispatch type of the text track.
4106
- */
4107
- readonly inBandMetadataTrackDispatchType: string;
4108
- /**
4109
- * The mode of the text track, represented by a value from the following list:
4110
- * <br/> - `'disabled'`: The track is disabled.
4111
- * <br/> - `'hidden'`: The track is hidden.
4112
- * <br/> - `'showing'`: The track is showing.
4113
- *
4114
- * @remarks
4115
- * <br/> - A disabled track is not displayed and exposes no active cues, nor fires cue events.
4116
- * <br/> - A hidden track is not displayed but exposes active cues and fires cue events.
4117
- * <br/> - A showing track is displayed, exposes active cues and fires cue events.
4118
- */
4119
- mode: string;
4120
- /**
4121
- * The ready state of the text track.
4122
- */
4123
- readonly readyState: TextTrackReadyState;
4124
- /**
4125
- * The content type of the text track.
4066
+ * The active quality of the media track, i.e. the quality that is currently being played.
4126
4067
  */
4127
- readonly type: TextTrackType;
4068
+ readonly activeQuality: Quality | undefined;
4128
4069
  /**
4129
- * The list of cues of the track.
4130
- *
4131
- * @remarks
4132
- * <br/> - If the {@link TextTrack.mode} is `'disabled'`, this property is `null`.
4070
+ * The qualities of the media track.
4133
4071
  */
4134
- readonly cues: TextTrackCueList | null;
4072
+ readonly qualities: QualityList;
4135
4073
  /**
4136
- * The list of active cues of the track.
4074
+ * One or more desired qualities of the media track.
4137
4075
  *
4138
4076
  * @remarks
4139
- * <br/> - A cue is active if the current playback position falls within the time bounds of the cue.
4140
- * <br/> - This list dynamically updates based on the current playback position.
4141
- * <br/> - If the {@link TextTrack.mode} is `'disabled'`, this property is `null`.
4142
- */
4143
- readonly activeCues: TextTrackCueList | null;
4144
- /**
4145
- * The source of the text track.
4146
- */
4147
- readonly src: string;
4148
- /**
4149
- * Indicates whether the track contains Forced Narrative cues.
4150
- * This may only be true for subtitle tracks where
4151
- * <br/> - For DASH: the corresponding AdaptationSet contains a child Role with its value attribute equal to `'forced_subtitle'`
4152
- * <br/> - For HLS: the corresponding #EXT-X-MEDIA tag contains the attributes TYPE=SUBTITLES and FORCED=YES (not supported yet)
4077
+ * <br/> - If desired qualities are present, the Adaptive Bitrate mechanism of the player will limit itself to these qualities.
4078
+ * <br/> - If one desired quality is present, the Adaptive Bitrate mechanism of the player will be disabled and the desired quality will be played back.
4153
4079
  */
4154
- readonly forced: boolean;
4080
+ targetQuality: Quality | Quality[] | undefined;
4155
4081
  /**
4156
4082
  * {@inheritDoc EventDispatcher.addEventListener}
4157
4083
  */
4158
- addEventListener<TType extends StringKeyOf<TextTrackEventMap>>(type: TType | readonly TType[], listener: EventListener<TextTrackEventMap[TType]>): void;
4084
+ addEventListener<TType extends StringKeyOf<MediaTrackEventMap>>(type: TType | readonly TType[], listener: EventListener<MediaTrackEventMap[TType]>): void;
4159
4085
  /**
4160
4086
  * {@inheritDoc EventDispatcher.removeEventListener}
4161
4087
  */
4162
- removeEventListener<TType extends StringKeyOf<TextTrackEventMap>>(type: TType | readonly TType[], listener: EventListener<TextTrackEventMap[TType]>): void;
4163
- }
4164
-
4165
- /**
4166
- * Represents a source for the THEOlive integration.
4167
- *
4168
- * @category Source
4169
- * @public
4170
- */
4171
- interface TheoLiveSource extends TypedSource {
4172
- type: 'theolive';
4088
+ removeEventListener<TType extends StringKeyOf<MediaTrackEventMap>>(type: TType | readonly TType[], listener: EventListener<MediaTrackEventMap[TType]>): void;
4173
4089
  }
4174
4090
 
4175
4091
  /**
4176
- * Represents a source for a {@link https://dolby.io/products/real-time-streaming/ | Millicast} live stream.
4092
+ * Fired when an error occurs.
4177
4093
  *
4178
- * @category Source
4179
- * @category Millicast
4094
+ * @category Errors
4095
+ * @category Events
4180
4096
  * @public
4181
4097
  */
4182
- interface MillicastSource extends TypedSource {
4183
- /**
4184
- * The content type.
4185
- *
4186
- * Must be `"millicast"`.
4187
- */
4188
- type: 'millicast';
4189
- /**
4190
- * The name of the Millicast stream to subscribe to.
4191
- *
4192
- * @see https://millicast.github.io/millicast-sdk/global.html#DirectorSubscriberOptions
4193
- */
4194
- src: string;
4098
+ interface ErrorEvent extends Event<'error'> {
4195
4099
  /**
4196
- * The Millicast account identifier.
4100
+ * The error that occurred.
4197
4101
  *
4198
- * @see https://millicast.github.io/millicast-sdk/global.html#DirectorSubscriberOptions
4102
+ * @deprecated use {@link ErrorEvent.errorObject | errorObject.message} instead
4199
4103
  */
4200
- streamAccountId: string;
4104
+ error: string;
4201
4105
  /**
4202
- * Token to subscribe to secure streams.
4203
- *
4204
- * - If you are subscribing to an unsecure stream, you can omit this param.
4205
- *
4206
- * @see https://millicast.github.io/millicast-sdk/global.html#DirectorSubscriberOptions
4106
+ * An error object containing additional information about the error.
4207
4107
  */
4208
- subscriberToken?: string;
4108
+ errorObject: THEOplayerError;
4109
+ }
4110
+ /**
4111
+ * Fired when a manifest cannot be loaded.
4112
+ *
4113
+ * @category Errors
4114
+ * @category Events
4115
+ * @public
4116
+ */
4117
+ interface ManifestErrorEvent extends Event<'manifesterror'> {
4209
4118
  /**
4210
- * An optional configuration object to set additional subscriber options.
4211
- *
4212
- * - The available options are listed in the link below.
4213
- *
4214
- * @see https://millicast.github.io/millicast-sdk/View.html#connect
4119
+ * The number of times the loading of a manifest has been tried.
4215
4120
  */
4216
- connectOptions?: Record<string, any>;
4121
+ retryCount: number;
4217
4122
  /**
4218
- * The URL of the API endpoint that the SDK communicates with for authentication.
4219
- *
4220
- * @see https://millicast.github.io/millicast-sdk/module-Director.html#~setEndpoint
4123
+ * The HTTP status code corresponding to the network error returned by the network request.
4221
4124
  */
4222
- apiUrl?: string;
4125
+ statusCode: number | undefined;
4223
4126
  /**
4224
- * The interval in milliseconds at which Millicast stats are dispatched.
4225
- *
4226
- * @defaultValue 1000
4127
+ * The network status message describing the error that occurred while requesting the manifest.
4227
4128
  */
4228
- statsIntervalMs?: number;
4129
+ statusMessage: string | undefined;
4229
4130
  }
4230
-
4231
4131
  /**
4232
- * The latency configuration for managing the live offset of the player.
4132
+ * Fired when a segment cannot be loaded.
4233
4133
  *
4234
- * @remarks
4235
- * <br/> - The player might change the latency configuration based on playback events like stalls.
4236
- * <br/> - The current latency configuration can be monitored at {@link LatencyManager.currentConfiguration}.
4237
- *
4238
- * @category Source
4134
+ * @category Errors
4135
+ * @category Events
4239
4136
  * @public
4240
4137
  */
4241
- interface SourceLatencyConfiguration {
4138
+ interface SegmentErrorEvent extends Event<'segmenterror'> {
4242
4139
  /**
4243
- * The start of the target live window.
4244
- * If the live offset becomes smaller than this value, the player will slow down in order to increase the latency.
4245
- *
4246
- * @defaultValue 0.66 times the {@link targetOffset}.
4140
+ * The general error message describing the error that occurred while requesting the manifest.
4247
4141
  */
4248
- minimumOffset?: number;
4142
+ error: string;
4249
4143
  /**
4250
- * The end of the target live window.
4251
- * If the live offset becomes higher than this value, the player will speed up in order to decrease the latency.
4252
- *
4253
- * @defaultValue 1.5 times the {@link targetOffset}.
4144
+ * The quality of the track that this segment belongs to, if available.
4254
4145
  */
4255
- maximumOffset?: number;
4146
+ quality: Quality | undefined;
4256
4147
  /**
4257
- * The live offset that the player will aim for. When correcting the offset by tuning the playbackRate,
4258
- * the player will stop correcting when it reaches this value.
4259
- *
4260
- * @remarks
4261
- * <br/> - This will override the {@link BaseSource.liveOffset} value.
4148
+ * The number of times the loading of a manifest has been tried.
4262
4149
  */
4263
- targetOffset: number;
4150
+ retryCount: number;
4264
4151
  /**
4265
- * The live offset at which the player will automatically trigger a live seek.
4266
- *
4267
- * @defaultValue 3 times the {@link targetOffset}.
4152
+ * The time the segment starts in the stream, in seconds.
4268
4153
  */
4269
- forceSeekOffset?: number;
4154
+ segmentStartTime: number;
4270
4155
  /**
4271
- * Indicates the minimum playbackRate used to slow down the player.
4272
- *
4273
- * @defaultValue `0.92`
4156
+ * The HTTP status code corresponding to the network error returned by the network request.
4274
4157
  */
4275
- minimumPlaybackRate?: number;
4158
+ statusCode: number | undefined;
4276
4159
  /**
4277
- * Indicates the maximum playbackRate used to speed up the player.
4278
- *
4279
- * @defaultValue `1.08`
4160
+ * The network status message describing the error that occurred while requesting the manifest.
4280
4161
  */
4281
- maximumPlaybackRate?: number;
4162
+ statusMessage: string | undefined;
4282
4163
  /**
4283
- * The amount of seconds that target latency can be temporarily increased to counteract unstable
4284
- * network conditions.
4285
- *
4286
- * @remarks
4287
- * <br/> - This only works for HESP and THEOlive streams.
4164
+ * The track that this segment belongs to, if available.
4288
4165
  */
4289
- leniency?: number;
4166
+ track: Track | undefined;
4167
+ /**
4168
+ * The type of track that this segment belongs to/
4169
+ */
4170
+ trackType: MediaTrackType;
4290
4171
  }
4291
4172
 
4292
4173
  /**
4293
- * Represents a media resource.
4294
- *
4295
- * @remarks
4296
- * <br/> - Can be a string value representing the URL of a media resource, a {@link TypedSource} or an {@link UplynkSource}.
4174
+ * An error code whose category is `ErrorCategory.SUBTITLE`.
4297
4175
  *
4298
- * @category Source
4176
+ * @category Media and Text Tracks
4177
+ * @category Errors
4299
4178
  * @public
4300
4179
  */
4301
- type Source = string | TypedSource | UplynkSource | TheoLiveSource | MillicastSource;
4180
+ type TextTrackErrorCode = ErrorCode.SUBTITLE_LOAD_ERROR | ErrorCode.SUBTITLE_CORS_ERROR | ErrorCode.SUBTITLE_PARSE_ERROR;
4302
4181
  /**
4303
- * A media resource or list of media resources.
4304
- *
4305
- * @remarks
4306
- * <br/> - The order of sources when using a list determines their priority when attempting playback.
4182
+ * An error thrown by a text track.
4307
4183
  *
4308
- * @category Source
4184
+ * @category Media and Text Tracks
4185
+ * @category Errors
4309
4186
  * @public
4310
4187
  */
4311
- type Sources = Source | Source[];
4312
- /**
4313
- * The cross-origin setting of a source, represented by a value from the following list:
4314
- * <br/> - `'anonymous'`: CORS requests will have the credentials flag set to 'same-origin'.
4315
- * <br/> - `'use-credentials'`: CORS requests will have the credentials flag set to 'include'.
4316
- * <br/> - `''`: Setting the empty string is the same as `'anonymous'`
4317
- *
4318
- * @remarks
4319
- * <br/> - See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes | The crossorigin attribute: Requesting CORS access to content}
4188
+ interface TextTrackError extends THEOplayerError {
4189
+ /**
4190
+ * {@inheritDoc THEOplayerError.code}
4191
+ */
4192
+ readonly code: TextTrackErrorCode;
4193
+ /**
4194
+ * The URL of the (sideloaded) text track.
4195
+ */
4196
+ readonly url: string;
4197
+ /**
4198
+ * The status code from the HTTP response.
4199
+ */
4200
+ readonly status: number;
4201
+ }
4202
+
4203
+ /**
4204
+ * The content type of a text track, represented by a value from the following list:
4205
+ * <br/> - `'srt'`: The track contains SRT (SubRip Text) content.
4206
+ * <br/> - `'ttml'`: The track contains TTML (Timed Text Markup Language) content.
4207
+ * <br/> - `'webvtt'`: The track contains WebVTT (Web Video Text Tracks) content.
4208
+ * <br/> - `'emsg'`: The track contains emsg (Event Message) content.
4209
+ * <br/> - `'eventstream'`: The track contains Event Stream content.
4210
+ * <br/> - `'id3'`: The track contains ID3 content.
4211
+ * <br/> - `'cea608'`: The track contains CEA608 content.
4212
+ * <br/> - `'daterange'`: The track contains HLS EXT-X-DATERANGE content.
4213
+ * <br/> - `'millicast'`: The track contains Millicast metadata content.
4214
+ * <br/> - `''`: The type of the track contents is unknown.
4215
+ *
4216
+ * @category Media and Text Tracks
4217
+ * @public
4218
+ */
4219
+ type TextTrackType = 'srt' | 'ttml' | 'webvtt' | 'emsg' | 'eventstream' | 'id3' | 'cea608' | 'daterange' | 'millicast' | '';
4220
+ /**
4221
+ * The ready state of a text track, represented by a value from the following list:
4222
+ * <br/> - `0`: Indicates that the text track's cues have not been obtained.
4223
+ * <br/> - `1`: The text track is loading. Further cues might still be added to the track by the parser.
4224
+ * <br/> - `2`: The text track has been loaded with no fatal errors.
4225
+ * <br/> - `3`: An error occurred obtaining the cues for the track. Some or all of the cues are likely missing and will not be obtained.
4226
+ *
4227
+ * @category Media and Text Tracks
4228
+ * @public
4229
+ */
4230
+ type TextTrackReadyState = 0 | 1 | 2 | 3;
4231
+ /**
4232
+ * An error event fired by a {@link TextTrack}.
4233
+ *
4234
+ * @category Media and Text Tracks
4235
+ * @category Errors
4236
+ * @category Events
4237
+ * @public
4238
+ */
4239
+ interface TextTrackErrorEvent extends ErrorEvent {
4240
+ /**
4241
+ * {@inheritDoc ErrorEvent.errorObject}
4242
+ */
4243
+ readonly errorObject: TextTrackError;
4244
+ }
4245
+ /**
4246
+ * Fired when a cue is added to the text track.
4247
+ *
4248
+ * @category Media and Text Tracks
4249
+ * @category Events
4250
+ * @public
4251
+ */
4252
+ interface TextTrackAddCueEvent extends Event<'addcue'> {
4253
+ /**
4254
+ * The cue that is added to the text track.
4255
+ */
4256
+ readonly cue: TextTrackCue;
4257
+ }
4258
+ /**
4259
+ * Fired when a cue is removed from the text track.
4260
+ *
4261
+ * @category Media and Text Tracks
4262
+ * @category Events
4263
+ * @public
4264
+ */
4265
+ interface TextTrackRemoveCueEvent extends Event<'removecue'> {
4266
+ /**
4267
+ * The cue that is removed from the text track.
4268
+ */
4269
+ readonly cue: TextTrackCue;
4270
+ }
4271
+ /**
4272
+ * Fired when a cue from the text track is updated.
4273
+ *
4274
+ * @category Media and Text Tracks
4275
+ * @category Events
4276
+ * @public
4277
+ */
4278
+ interface TextTrackUpdateCueEvent extends Event<'updatecue'> {
4279
+ /**
4280
+ * The cue from the text track that is updated.
4281
+ */
4282
+ readonly cue: TextTrackCue;
4283
+ }
4284
+ /**
4285
+ * Fired when a cue of the text track has entered.
4286
+ *
4287
+ * @category Media and Text Tracks
4288
+ * @category Events
4289
+ * @public
4290
+ */
4291
+ interface TextTrackEnterCueEvent extends Event<'entercue'> {
4292
+ /**
4293
+ * The cue from the text track that has entered.
4294
+ */
4295
+ readonly cue: TextTrackCue;
4296
+ }
4297
+ /**
4298
+ * Fired when a cue of the text track has exited.
4299
+ *
4300
+ * @category Media and Text Tracks
4301
+ * @category Events
4302
+ * @public
4303
+ */
4304
+ interface TextTrackExitCueEvent extends Event<'exitcue'> {
4305
+ /**
4306
+ * The cue from the text track that has exited.
4307
+ */
4308
+ readonly cue: TextTrackCue;
4309
+ }
4310
+ /**
4311
+ * Fired when the displaying cues of the text track has changed.
4312
+ *
4313
+ * @category Media and Text Tracks
4314
+ * @category Events
4315
+ * @public
4316
+ */
4317
+ interface TextTrackCueChangeEvent extends Event<'cuechange'> {
4318
+ /**
4319
+ * The text track which displaying cues has changed.
4320
+ */
4321
+ readonly track: TextTrack;
4322
+ }
4323
+ /**
4324
+ * Fired when the {@link TextTrack.readyState | ready state} of the text track has changed.
4325
+ *
4326
+ * @category Media and Text Tracks
4327
+ * @category Events
4328
+ * @public
4329
+ */
4330
+ interface TextTrackReadyStateChangeEvent extends Event<'readystatechange'> {
4331
+ /**
4332
+ * The text track which ready state has changed.
4333
+ */
4334
+ readonly track: TextTrack;
4335
+ /**
4336
+ * The new {@link TextTrack.readyState | ready state} of the text track.
4337
+ */
4338
+ readonly readyState: TextTrackReadyState;
4339
+ }
4340
+ /**
4341
+ * Fired when the {@link TextTrack."type" | type} of the text track has changed.
4342
+ *
4343
+ * @category Media and Text Tracks
4344
+ * @category Events
4345
+ * @public
4346
+ */
4347
+ interface TextTrackTypeChangeEvent extends Event<'typechange'> {
4348
+ /**
4349
+ * The text track which type has changed.
4350
+ */
4351
+ readonly track: TextTrack;
4352
+ }
4353
+ /**
4354
+ * The events fired by a {@link TextTrack}.
4355
+ *
4356
+ * @category Media and Text Tracks
4357
+ * @public
4358
+ */
4359
+ interface TextTrackEventMap extends TrackEventMap {
4360
+ /**
4361
+ * Fired when a cue is added to the track.
4362
+ */
4363
+ addcue: TextTrackAddCueEvent;
4364
+ /**
4365
+ * Fired when a cue of the track is removed.
4366
+ */
4367
+ removecue: TextTrackRemoveCueEvent;
4368
+ /**
4369
+ * Fired when a cue of the track is updated.
4370
+ */
4371
+ updatecue: TextTrackUpdateCueEvent;
4372
+ /**
4373
+ * Fired when a cue of the track enters.
4374
+ */
4375
+ entercue: TextTrackEnterCueEvent;
4376
+ /**
4377
+ * Fired when a cue of the track exits.
4378
+ */
4379
+ exitcue: TextTrackExitCueEvent;
4380
+ /**
4381
+ * Fired when the displaying cues of the text track changes.
4382
+ */
4383
+ cuechange: TextTrackCueChangeEvent;
4384
+ /**
4385
+ * Fired when the text track's {@link TextTrack.readyState | ready state} changes.
4386
+ */
4387
+ readystatechange: TextTrackReadyStateChangeEvent;
4388
+ /**
4389
+ * Fired when the text track's {@link TextTrack."type" | type} changes.
4390
+ */
4391
+ typechange: TextTrackTypeChangeEvent;
4392
+ /**
4393
+ * Fired when an error occurred while loading or parsing the track.
4394
+ */
4395
+ error: TextTrackErrorEvent;
4396
+ }
4397
+ /**
4398
+ * Represents a text track of a media resource.
4399
+ *
4400
+ * @category Media and Text Tracks
4401
+ * @public
4402
+ */
4403
+ interface TextTrack extends Track, EventDispatcher<TextTrackEventMap> {
4404
+ /**
4405
+ * The kind of the text track, represented by a value from the following list:
4406
+ * <br/> - `'subtitles'`: The track contains subtitles.
4407
+ * <br/> - `'captions'`: The track contains closed captions, a translation of dialogue and sound effects.
4408
+ * <br/> - `'descriptions'`: The track contains descriptions, a textual description of the video.
4409
+ * <br/> - `'chapters'`: The track contains chapter titles.
4410
+ * <br/> - `'metadata'`: The track contains metadata. This track will not serve display purposes.
4411
+ */
4412
+ readonly kind: string;
4413
+ /**
4414
+ * The label of the text track.
4415
+ */
4416
+ label: string;
4417
+ /**
4418
+ * The language of the text track.
4419
+ */
4420
+ readonly language: string;
4421
+ /**
4422
+ * The identifier of the text track.
4423
+ *
4424
+ * @remarks
4425
+ * <br/> - This identifier can be used to distinguish between related tracks, e.g. tracks in the same list.
4426
+ * <br/> - For a text track embedded within an MPEG-DASH stream, this returns the Representation’d id attribute.
4427
+ * <br/> - For MPEG-DASH streams a Representation's ID is preferred over the AdaptationSet's ID.
4428
+ */
4429
+ readonly id: string;
4430
+ /**
4431
+ * A unique identifier of the text track.
4432
+ *
4433
+ * @remarks
4434
+ * <br/> - This identifier is unique across tracks of a THEOplayer instance and can be used to distinguish between tracks.
4435
+ * <br/> - This identifier is a randomly generated number.
4436
+ */
4437
+ readonly uid: number;
4438
+ /**
4439
+ * The in-band metadata track dispatch type of the text track.
4440
+ */
4441
+ readonly inBandMetadataTrackDispatchType: string;
4442
+ /**
4443
+ * The mode of the text track, represented by a value from the following list:
4444
+ * <br/> - `'disabled'`: The track is disabled.
4445
+ * <br/> - `'hidden'`: The track is hidden.
4446
+ * <br/> - `'showing'`: The track is showing.
4447
+ *
4448
+ * @remarks
4449
+ * <br/> - A disabled track is not displayed and exposes no active cues, nor fires cue events.
4450
+ * <br/> - A hidden track is not displayed but exposes active cues and fires cue events.
4451
+ * <br/> - A showing track is displayed, exposes active cues and fires cue events.
4452
+ */
4453
+ mode: string;
4454
+ /**
4455
+ * The ready state of the text track.
4456
+ */
4457
+ readonly readyState: TextTrackReadyState;
4458
+ /**
4459
+ * The content type of the text track.
4460
+ */
4461
+ readonly type: TextTrackType;
4462
+ /**
4463
+ * The list of cues of the track.
4464
+ *
4465
+ * @remarks
4466
+ * <br/> - If the {@link TextTrack.mode} is `'disabled'`, this property is `null`.
4467
+ */
4468
+ readonly cues: TextTrackCueList | null;
4469
+ /**
4470
+ * The list of active cues of the track.
4471
+ *
4472
+ * @remarks
4473
+ * <br/> - A cue is active if the current playback position falls within the time bounds of the cue.
4474
+ * <br/> - This list dynamically updates based on the current playback position.
4475
+ * <br/> - If the {@link TextTrack.mode} is `'disabled'`, this property is `null`.
4476
+ */
4477
+ readonly activeCues: TextTrackCueList | null;
4478
+ /**
4479
+ * The source of the text track.
4480
+ */
4481
+ readonly src: string;
4482
+ /**
4483
+ * Indicates whether the track contains Forced Narrative cues.
4484
+ * This may only be true for subtitle tracks where
4485
+ * <br/> - For DASH: the corresponding AdaptationSet contains a child Role with its value attribute equal to `'forced_subtitle'`
4486
+ * <br/> - For HLS: the corresponding #EXT-X-MEDIA tag contains the attributes TYPE=SUBTITLES and FORCED=YES (not supported yet)
4487
+ */
4488
+ readonly forced: boolean;
4489
+ /**
4490
+ * {@inheritDoc EventDispatcher.addEventListener}
4491
+ */
4492
+ addEventListener<TType extends StringKeyOf<TextTrackEventMap>>(type: TType | readonly TType[], listener: EventListener<TextTrackEventMap[TType]>): void;
4493
+ /**
4494
+ * {@inheritDoc EventDispatcher.removeEventListener}
4495
+ */
4496
+ removeEventListener<TType extends StringKeyOf<TextTrackEventMap>>(type: TType | readonly TType[], listener: EventListener<TextTrackEventMap[TType]>): void;
4497
+ }
4498
+
4499
+ /**
4500
+ * Represents a source for the THEOlive integration.
4501
+ *
4502
+ * @category Source
4503
+ * @public
4504
+ */
4505
+ interface TheoLiveSource extends TypedSource {
4506
+ type: 'theolive';
4507
+ }
4508
+
4509
+ /**
4510
+ * Represents a source for a {@link https://dolby.io/products/real-time-streaming/ | Millicast} live stream.
4511
+ *
4512
+ * @category Source
4513
+ * @category Millicast
4514
+ * @public
4515
+ */
4516
+ interface MillicastSource extends TypedSource {
4517
+ /**
4518
+ * The content type.
4519
+ *
4520
+ * Must be `"millicast"`.
4521
+ */
4522
+ type: 'millicast';
4523
+ /**
4524
+ * The name of the Millicast stream to subscribe to.
4525
+ *
4526
+ * @see https://millicast.github.io/millicast-sdk/global.html#DirectorSubscriberOptions
4527
+ */
4528
+ src: string;
4529
+ /**
4530
+ * The Millicast account identifier.
4531
+ *
4532
+ * @see https://millicast.github.io/millicast-sdk/global.html#DirectorSubscriberOptions
4533
+ */
4534
+ streamAccountId: string;
4535
+ /**
4536
+ * Token to subscribe to secure streams.
4537
+ *
4538
+ * - If you are subscribing to an unsecure stream, you can omit this param.
4539
+ *
4540
+ * @see https://millicast.github.io/millicast-sdk/global.html#DirectorSubscriberOptions
4541
+ */
4542
+ subscriberToken?: string;
4543
+ /**
4544
+ * An optional configuration object to set additional subscriber options.
4545
+ *
4546
+ * - The available options are listed in the link below.
4547
+ *
4548
+ * @see https://millicast.github.io/millicast-sdk/View.html#connect
4549
+ */
4550
+ connectOptions?: Record<string, any>;
4551
+ /**
4552
+ * The URL of the API endpoint that the SDK communicates with for authentication.
4553
+ *
4554
+ * @see https://millicast.github.io/millicast-sdk/module-Director.html#~setEndpoint
4555
+ */
4556
+ apiUrl?: string;
4557
+ /**
4558
+ * The interval in milliseconds at which Millicast stats are dispatched.
4559
+ *
4560
+ * @defaultValue 1000
4561
+ */
4562
+ statsIntervalMs?: number;
4563
+ }
4564
+
4565
+ /**
4566
+ * The latency configuration for managing the live offset of the player.
4567
+ *
4568
+ * @remarks
4569
+ * <br/> - The player might change the latency configuration based on playback events like stalls.
4570
+ * <br/> - The current latency configuration can be monitored at {@link LatencyManager.currentConfiguration}.
4571
+ *
4572
+ * @category Source
4573
+ * @public
4574
+ */
4575
+ interface SourceLatencyConfiguration {
4576
+ /**
4577
+ * The start of the target live window.
4578
+ * If the live offset becomes smaller than this value, the player will slow down in order to increase the latency.
4579
+ *
4580
+ * @defaultValue 0.66 times the {@link targetOffset}.
4581
+ */
4582
+ minimumOffset?: number;
4583
+ /**
4584
+ * The end of the target live window.
4585
+ * If the live offset becomes higher than this value, the player will speed up in order to decrease the latency.
4586
+ *
4587
+ * @defaultValue 1.5 times the {@link targetOffset}.
4588
+ */
4589
+ maximumOffset?: number;
4590
+ /**
4591
+ * The live offset that the player will aim for. When correcting the offset by tuning the playbackRate,
4592
+ * the player will stop correcting when it reaches this value.
4593
+ *
4594
+ * @remarks
4595
+ * <br/> - This will override the {@link BaseSource.liveOffset} value.
4596
+ */
4597
+ targetOffset: number;
4598
+ /**
4599
+ * The live offset at which the player will automatically trigger a live seek.
4600
+ *
4601
+ * @defaultValue 3 times the {@link targetOffset}.
4602
+ */
4603
+ forceSeekOffset?: number;
4604
+ /**
4605
+ * Indicates the minimum playbackRate used to slow down the player.
4606
+ *
4607
+ * @defaultValue `0.92`
4608
+ */
4609
+ minimumPlaybackRate?: number;
4610
+ /**
4611
+ * Indicates the maximum playbackRate used to speed up the player.
4612
+ *
4613
+ * @defaultValue `1.08`
4614
+ */
4615
+ maximumPlaybackRate?: number;
4616
+ /**
4617
+ * The amount of seconds that target latency can be temporarily increased to counteract unstable
4618
+ * network conditions.
4619
+ *
4620
+ * @remarks
4621
+ * <br/> - This only works for HESP and THEOlive streams.
4622
+ */
4623
+ leniency?: number;
4624
+ }
4625
+
4626
+ /**
4627
+ * Represents a media resource.
4628
+ *
4629
+ * @remarks
4630
+ * <br/> - Can be a string value representing the URL of a media resource, a {@link TypedSource} or an {@link UplynkSource}.
4631
+ *
4632
+ * @category Source
4633
+ * @public
4634
+ */
4635
+ type Source = string | TypedSource | UplynkSource | TheoLiveSource | MillicastSource;
4636
+ /**
4637
+ * A media resource or list of media resources.
4638
+ *
4639
+ * @remarks
4640
+ * <br/> - The order of sources when using a list determines their priority when attempting playback.
4641
+ *
4642
+ * @category Source
4643
+ * @public
4644
+ */
4645
+ type Sources = Source | Source[];
4646
+ /**
4647
+ * The cross-origin setting of a source, represented by a value from the following list:
4648
+ * <br/> - `'anonymous'`: CORS requests will have the credentials flag set to 'same-origin'.
4649
+ * <br/> - `'use-credentials'`: CORS requests will have the credentials flag set to 'include'.
4650
+ * <br/> - `''`: Setting the empty string is the same as `'anonymous'`
4651
+ *
4652
+ * @remarks
4653
+ * <br/> - See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes | The crossorigin attribute: Requesting CORS access to content}
4320
4654
  *
4321
4655
  * @category Source
4322
4656
  * @public
@@ -4729,626 +5063,366 @@ interface BaseSource {
4729
5063
  * The strategy for period or discontinuity switches (see {@link BaseSource.seamlessSwitchStrategy}), represented by a value from the following list:
4730
5064
  * <br/> - `'auto'`: The player uses seamless switches if the platform supports it, and hard switches otherwise.
4731
5065
  * This is the default.
4732
- * <br/> - `'never'`: The player never uses a seamless switch, and always uses a hard switch.
4733
- * Use this if you notice that the player is attempting but failing to preload the next period or discontinuity on the current platform.
4734
- * <br/> - `'always'`: The player always uses a seamless switch, and never uses a hard switch.
4735
- * Use this if you notice that the player never preloads the next discontinuity or period, even though you know that the current platform
4736
- * should support it.
4737
- * <br/> - `'clear-only'`: The player only uses a seamless switch when no content protection is used in the current and next period. Otherwise
4738
- * it always uses a hard switch.
4739
- * Use this if you notice that the player is attempting but failing to preload the next period on the current platform only when
4740
- * content protection is involved.
4741
- * This is only supported for MPEG-DASH.
4742
- * <br/> - `'same-drm-only'`: The player only uses a seamless switch when the same or no content protection is used in the current and next period. Otherwise
4743
- * it always uses a hard switch.
4744
- * Use this if you notice that the player is attempting but failing to preload the next period on the current platform only when
4745
- * content protection is different between discontinuities.
4746
- * This is only supported for MPEG-DASH.
4747
- * @category Source
4748
- * @public
4749
- */
4750
- type SeamlessSwitchStrategy = 'auto' | 'always' | 'never' | 'clear-only' | 'same-drm-only';
4751
- /**
4752
- * Represents a media resource characterized by a URL to the resource and optionally information about the resource.
4753
- *
4754
- * @category Source
4755
- * @public
4756
- */
4757
- interface TypedSource extends BaseSource {
4758
- /**
4759
- * The source URL of the media resource.
4760
- *
4761
- * @remarks
4762
- * <br/> - Required if the `ssai` property is absent.
4763
- * <br/> - Available since v2.4.0.
4764
- */
4765
- src?: string;
4766
- /**
4767
- * The content type (MIME type) of the media resource, represented by a value from the following list:
4768
- * <br/> - `'application/dash+xml'`: The media resource is an MPEG-DASH stream.
4769
- * <br/> - `'application/x-mpegURL'` or `'application/vnd.apple.mpegurl'`: The media resource is an HLS stream.
4770
- * <br/> - `'video/mp4'`, `'video/webm'` and other formats: The media resource should use native HTML5 playback if supported by the browser.
4771
- * <br/> - `'application/vnd.theo.hesp+json'`: The media resource is an HESP stream.
4772
- * <br/> - `'millicast'`: The media resource is a {@link MillicastSource | Millicast stream}.
4773
- * <br/> - `'theolive'`: The media resource is a {@link TheoLiveSource | THEOlive stream}.
4774
- *
4775
- * @remarks
4776
- * <br/> - Available since v2.4.0.
4777
- */
4778
- type?: string;
4779
- /**
4780
- * The content protection parameters for the media resource.
4781
- *
4782
- * @remarks
4783
- * <br/> - Available since v2.15.0.
4784
- */
4785
- contentProtection?: DRMConfiguration;
4786
- /**
4787
- * The content protection parameters for the media resource.
4788
- *
4789
- * @deprecated Superseded by {@link TypedSource.contentProtection}.
4790
- */
4791
- drm?: DRMConfiguration;
4792
- /**
4793
- * The Server-side Ad Insertion parameters for the media resource.
4794
- *
4795
- * @remarks
4796
- * <br/> - Available since v2.12.0.
4797
- */
4798
- ssai?: ServerSideAdInsertionConfiguration;
4799
- /**
4800
- * Whether the source is for an ad or a content playback
4801
- *
4802
- * @internal
4803
- */
4804
- isAdvertisement?: boolean;
4805
- }
4806
- /**
4807
- * The stream type, represented by a value from the following list:
4808
- * <br/> - `'live'`: Live content.
4809
- * <br/> - `'dvr'`: Live content with DVR.
4810
- * <br/> - `'vod'`: On demand content.
4811
- *
4812
- * @category Source
4813
- * @public
4814
- */
4815
- type StreamType = 'live' | 'dvr' | 'vod';
4816
- /**
4817
- * The integration identifier of a source specific to a pre-integration, represented by a value from the following list:
4818
- * <br/> - `'mediatailor'`: The source contains the MediaTailor initialization url.
4819
- * <br/> - `'uplynk'`: The source is an {@link UplynkSource}.
4820
- *
4821
- * @category Source
4822
- * @public
4823
- */
4824
- type SourceIntegrationId = 'mediatailor' | 'uplynk';
4825
- /**
4826
- * The integration identifier of an analytics description, represented by a value from the following list:
4827
- * <br/> - `'agama'`: The description is an {@link AgamaConfiguration}
4828
- * <br/> - `'youbora'`: The description is a {@link YouboraOptions}
4829
- * <br/> - `'moat'`: The description is a {@link MoatConfiguration}
4830
- * <br/> - `'streamone'`: The description is a {@link StreamOneConfiguration}
4831
- * <br/> - `'smartsight'`: The description is a {@link SmartSightConfiguration}
4832
- *
4833
- * @category Source
4834
- * @public
4835
- */
4836
- type AnalyticsIntegrationID = 'agama' | 'youbora' | 'moat' | 'streamone' | 'smartsight';
4837
- /**
4838
- * Describes the configuration of an analytics integration.
4839
- *
4840
- * @category Source
4841
- * @public
4842
- */
4843
- interface AnalyticsDescription {
4844
- /**
4845
- * The identifier of the analytics integration.
4846
- */
4847
- integration: AnalyticsIntegrationID;
4848
- }
4849
-
4850
- /**
4851
- * Fired when {@link RelatedContent.sources} changes.
4852
- *
4853
- * @category UI
4854
- * @category Events
4855
- * @public
4856
- */
4857
- type RelatedChangeEvent = Event<'relatedchange'>;
4858
- /**
4859
- * Fired when the related content panel is shown.
4860
- *
4861
- * @category UI
4862
- * @category Events
4863
- * @public
4864
- */
4865
- type RelatedShowEvent = Event<'show'>;
4866
- /**
4867
- * Fired when the related content panel is hidden.
4868
- *
4869
- * @category UI
4870
- * @category Events
4871
- * @public
4872
- */
4873
- type RelatedHideEvent = Event<'hide'>;
4874
- /**
4875
- * The events fired by the {@link RelatedContent | related content API}.
4876
- *
4877
- * @category UI
4878
- * @public
4879
- */
4880
- interface RelatedContentEventMap {
4881
- /**
4882
- * {@inheritDoc RelatedChangeEvent}
4883
- */
4884
- relatedchange: RelatedChangeEvent;
4885
- }
4886
- /**
4887
- * The related content API.
4888
- *
4889
- * @remarks
4890
- * <br/> - Available since v2.14.2.
4891
- *
4892
- * @category UI
4893
- * @public
4894
- */
4895
- interface RelatedContent extends EventDispatcher<RelatedContentEventMap> {
4896
- /**
4897
- * List of related content sources.
4898
- */
4899
- sources: RelatedContentSource[];
4900
- }
4901
- /**
4902
- * The events fired by the {@link UIRelatedContent | related content API (with ui)}.
4903
- *
4904
- * @category UI
4905
- * @public
4906
- */
4907
- interface UIRelatedContentEventMap extends RelatedContentEventMap {
4908
- /**
4909
- * {@inheritDoc RelatedShowEvent}
4910
- */
4911
- show: RelatedShowEvent;
4912
- /**
4913
- * {@inheritDoc RelatedHideEvent}
4914
- */
4915
- hide: RelatedHideEvent;
4916
- }
4917
- /**
4918
- * The related content UI API which can be used to toggle UI components.
4919
- *
4920
- * @remarks
4921
- * <br/> - Available since v2.14.2.
4922
- *
4923
- * @category UI
4924
- * @public
4925
- */
4926
- interface UIRelatedContent extends RelatedContent, EventDispatcher<UIRelatedContentEventMap> {
4927
- /**
4928
- * Whether the related content menu is showing.
4929
- */
4930
- showing: boolean;
4931
- /**
4932
- * Show the related content menu.
4933
- */
4934
- show(): void;
4935
- /**
4936
- * Hides the related content menu.
4937
- */
4938
- hide(): void;
4939
- /**
4940
- * {@inheritDoc EventDispatcher.addEventListener}
4941
- */
4942
- addEventListener<TType extends StringKeyOf<UIRelatedContentEventMap>>(type: TType | readonly TType[], listener: EventListener<UIRelatedContentEventMap[TType]>): void;
4943
- /**
4944
- * {@inheritDoc EventDispatcher.removeEventListener}
4945
- */
4946
- removeEventListener<TType extends StringKeyOf<UIRelatedContentEventMap>>(type: TType | readonly TType[], listener: EventListener<UIRelatedContentEventMap[TType]>): void;
4947
- }
5066
+ * <br/> - `'never'`: The player never uses a seamless switch, and always uses a hard switch.
5067
+ * Use this if you notice that the player is attempting but failing to preload the next period or discontinuity on the current platform.
5068
+ * <br/> - `'always'`: The player always uses a seamless switch, and never uses a hard switch.
5069
+ * Use this if you notice that the player never preloads the next discontinuity or period, even though you know that the current platform
5070
+ * should support it.
5071
+ * <br/> - `'clear-only'`: The player only uses a seamless switch when no content protection is used in the current and next period. Otherwise
5072
+ * it always uses a hard switch.
5073
+ * Use this if you notice that the player is attempting but failing to preload the next period on the current platform only when
5074
+ * content protection is involved.
5075
+ * This is only supported for MPEG-DASH.
5076
+ * <br/> - `'same-drm-only'`: The player only uses a seamless switch when the same or no content protection is used in the current and next period. Otherwise
5077
+ * it always uses a hard switch.
5078
+ * Use this if you notice that the player is attempting but failing to preload the next period on the current platform only when
5079
+ * content protection is different between discontinuities.
5080
+ * This is only supported for MPEG-DASH.
5081
+ * @category Source
5082
+ * @public
5083
+ */
5084
+ type SeamlessSwitchStrategy = 'auto' | 'always' | 'never' | 'clear-only' | 'same-drm-only';
4948
5085
  /**
4949
- * Represents a related content source.
4950
- *
4951
- * @remarks
4952
- * <br/> - Available since v2.14.2.
5086
+ * Represents a media resource characterized by a URL to the resource and optionally information about the resource.
4953
5087
  *
4954
- * @category UI
5088
+ * @category Source
4955
5089
  * @public
4956
5090
  */
4957
- interface RelatedContentSource {
4958
- /**
4959
- * The duration of the related content source.
4960
- */
4961
- duration?: string;
5091
+ interface TypedSource extends BaseSource {
4962
5092
  /**
4963
- * The image of the related content source.
5093
+ * The source URL of the media resource.
5094
+ *
5095
+ * @remarks
5096
+ * <br/> - Required if the `ssai` property is absent.
5097
+ * <br/> - Available since v2.4.0.
4964
5098
  */
4965
- image: string;
5099
+ src?: string;
4966
5100
  /**
4967
- * The target URL for the related content source.
5101
+ * The content type (MIME type) of the media resource, represented by a value from the following list:
5102
+ * <br/> - `'application/dash+xml'`: The media resource is an MPEG-DASH stream.
5103
+ * <br/> - `'application/x-mpegURL'` or `'application/vnd.apple.mpegurl'`: The media resource is an HLS stream.
5104
+ * <br/> - `'video/mp4'`, `'video/webm'` and other formats: The media resource should use native HTML5 playback if supported by the browser.
5105
+ * <br/> - `'application/vnd.theo.hesp+json'`: The media resource is an HESP stream.
5106
+ * <br/> - `'millicast'`: The media resource is a {@link MillicastSource | Millicast stream}.
5107
+ * <br/> - `'theolive'`: The media resource is a {@link TheoLiveSource | THEOlive stream}.
4968
5108
  *
4969
5109
  * @remarks
4970
- * <br/> - Mutually exclusive with {@link RelatedContentSource.source}.
4971
- * <br/> - Required if {@link RelatedContentSource.source} is not present.
5110
+ * <br/> - Available since v2.4.0.
4972
5111
  */
4973
- link?: string;
5112
+ type?: string;
4974
5113
  /**
4975
- * The source description of the related content source.
5114
+ * The content protection parameters for the media resource.
4976
5115
  *
4977
5116
  * @remarks
4978
- * <br/> - Mutually exclusive with {@link RelatedContentSource.link}.
4979
- * <br/> - Required if {@link RelatedContentSource.link} is not present.
5117
+ * <br/> - Available since v2.15.0.
4980
5118
  */
4981
- source?: SourceDescription;
5119
+ contentProtection?: DRMConfiguration;
4982
5120
  /**
4983
- * The title of the related content source.
5121
+ * The content protection parameters for the media resource.
5122
+ *
5123
+ * @deprecated Superseded by {@link TypedSource.contentProtection}.
4984
5124
  */
4985
- title?: string;
4986
- }
4987
-
4988
- /**
4989
- * The bundled Video.js library, based on version 5.x.
4990
- *
4991
- * @remarks
4992
- * <br/> - See {@link https://docs.videojs.com/ | documentation}.
4993
- *
4994
- * @category API
4995
- * @category UI
4996
- * @public
4997
- */
4998
- declare namespace videojs {
5125
+ drm?: DRMConfiguration;
4999
5126
  /**
5000
- * An instance of a player UI.
5127
+ * The Server-side Ad Insertion parameters for the media resource.
5001
5128
  *
5002
5129
  * @remarks
5003
- * <br/> - See {@link https://docs.videojs.com/player | documentation}.
5130
+ * <br/> - Available since v2.12.0.
5131
+ */
5132
+ ssai?: ServerSideAdInsertionConfiguration;
5133
+ /**
5134
+ * Whether the source is for an ad or a content playback
5004
5135
  *
5005
- * @public
5136
+ * @internal
5006
5137
  */
5007
- interface Player {
5008
- }
5138
+ isAdvertisement?: boolean;
5009
5139
  }
5010
-
5011
5140
  /**
5012
- * List of tracks.
5141
+ * The stream type, represented by a value from the following list:
5142
+ * <br/> - `'live'`: Live content.
5143
+ * <br/> - `'dvr'`: Live content with DVR.
5144
+ * <br/> - `'vod'`: On demand content.
5013
5145
  *
5014
- * @category Media and Text Tracks
5146
+ * @category Source
5015
5147
  * @public
5016
5148
  */
5017
- interface TrackList<TTrack extends Track> extends ReadonlyArray<TTrack>, EventDispatcher<TrackListEventMap> {
5018
- /**
5019
- * The number of tracks in the list.
5020
- */
5021
- readonly length: number;
5022
- /**
5023
- * Return the track at the requested index in the list.
5024
- *
5025
- * @param index - A `number` representing the index of a track in the list.
5026
- * @returns The track with index `index` in the list.
5027
- */
5028
- item(index: number): TTrack;
5029
- /**
5030
- * Index signature to get the track at the requested index in the list.
5031
- */
5032
- readonly [index: number]: TTrack;
5033
- }
5034
-
5149
+ type StreamType = 'live' | 'dvr' | 'vod';
5035
5150
  /**
5036
- * List of text tracks.
5151
+ * The integration identifier of a source specific to a pre-integration, represented by a value from the following list:
5152
+ * <br/> - `'mediatailor'`: The source contains the MediaTailor initialization url.
5153
+ * <br/> - `'uplynk'`: The source is an {@link UplynkSource}.
5037
5154
  *
5038
- * @category Media and Text Tracks
5155
+ * @category Source
5039
5156
  * @public
5040
5157
  */
5041
- interface TextTracksList extends TrackList<TextTrack> {
5042
- /**
5043
- * The number of text tracks in the list.
5044
- */
5045
- readonly length: number;
5046
- /**
5047
- * Return the text track at the requested index in the list.
5048
- *
5049
- * @param index - A `number` representing the index of a text track in the list.
5050
- * @returns The text track with index `index` in the list.
5051
- */
5052
- item(index: number): TextTrack;
5053
- /**
5054
- * Index signature to get the text track at the requested index in the list.
5055
- */
5056
- readonly [index: number]: TextTrack;
5057
- }
5058
-
5158
+ type SourceIntegrationId = 'mediatailor' | 'uplynk';
5059
5159
  /**
5060
- * The media error code, represented by a value from the following list:
5061
- * <br/> - `1` - ABORTED: The fetching of the associated resource was aborted by the user's request.
5062
- * <br/> - `2` - NETWORK: Some kind of network error occurred which prevented the media from being successfully fetched, despite having previously been available.
5063
- * <br/> - `3` - DECODE: Despite having previously been determined to be usable, an error occurred while trying to decode the media resource, resulting in an error.
5064
- * <br/> - `4` - SRC_NOT_SUPPORTED: The associated resource or media provider object (such as a MediaStream) has been found to be unsuitable.
5065
- * <br/> - `5` - ENCRYPTED: Some kind of digital rights management error occurred.
5066
- * <br/> - `6` - LICENSE_INVALID: The player's license was determined to be invalid.
5067
- * <br/> - `7` - ADVERTISEMENT_ERROR: Some kind of advertisement related error occurred.
5160
+ * The integration identifier of an analytics description, represented by a value from the following list:
5161
+ * <br/> - `'agama'`: The description is an {@link AgamaConfiguration}
5162
+ * <br/> - `'youbora'`: The description is a {@link YouboraOptions}
5163
+ * <br/> - `'moat'`: The description is a {@link MoatConfiguration}
5164
+ * <br/> - `'streamone'`: The description is a {@link StreamOneConfiguration}
5165
+ * <br/> - `'smartsight'`: The description is a {@link SmartSightConfiguration}
5068
5166
  *
5069
- * @category Errors
5167
+ * @category Source
5070
5168
  * @public
5071
5169
  */
5072
- type MediaErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7;
5170
+ type AnalyticsIntegrationID = 'agama' | 'youbora' | 'moat' | 'streamone' | 'smartsight';
5073
5171
  /**
5074
- * Thrown when a media error occurs.
5172
+ * Describes the configuration of an analytics integration.
5075
5173
  *
5076
- * @category Errors
5174
+ * @category Source
5077
5175
  * @public
5078
5176
  */
5079
- interface MediaError extends Error {
5080
- /**
5081
- * The code of the error.
5082
- */
5083
- readonly code: MediaErrorCode;
5084
- /**
5085
- * The cause of the error, if any.
5086
- */
5087
- readonly cause?: string;
5177
+ interface AnalyticsDescription {
5088
5178
  /**
5089
- * The key system specific error code, if any.
5179
+ * The identifier of the analytics integration.
5090
5180
  */
5091
- readonly systemCode?: number;
5181
+ integration: AnalyticsIntegrationID;
5092
5182
  }
5093
5183
 
5094
5184
  /**
5095
- * The events fired by a {@link Quality}.
5185
+ * Fired when {@link RelatedContent.sources} changes.
5096
5186
  *
5097
- * @category Media and Text Tracks
5187
+ * @category UI
5188
+ * @category Events
5098
5189
  * @public
5099
5190
  */
5100
- interface QualityEventMap {
5101
- /**
5102
- * {@inheritDoc UpdateQualityEvent}
5103
- */
5104
- update: UpdateQualityEvent;
5105
- }
5191
+ type RelatedChangeEvent = Event<'relatedchange'>;
5106
5192
  /**
5107
- * Fired when the quality updates.
5193
+ * Fired when the related content panel is shown.
5108
5194
  *
5109
- * @category Media and Text Tracks
5195
+ * @category UI
5110
5196
  * @category Events
5111
5197
  * @public
5112
5198
  */
5113
- interface UpdateQualityEvent extends Event<'update'> {
5114
- /**
5115
- * The quality which has been updated.
5116
- */
5117
- readonly quality: Quality;
5118
- }
5199
+ type RelatedShowEvent = Event<'show'>;
5119
5200
  /**
5120
- * Represents a quality of a media track.
5201
+ * Fired when the related content panel is hidden.
5121
5202
  *
5122
- * @category Media and Text Tracks
5203
+ * @category UI
5204
+ * @category Events
5123
5205
  * @public
5124
5206
  */
5125
- interface Quality extends EventDispatcher<QualityEventMap> {
5126
- /**
5127
- * The average bandwidth of the quality, in bits per second.
5128
- */
5129
- readonly averageBandwidth?: number;
5130
- /**
5131
- * The required bandwidth for the quality, in bits per second.
5132
- */
5133
- readonly bandwidth: number;
5134
- /**
5135
- * The codecs of the quality.
5136
- *
5137
- * @remarks
5138
- * <br/> - These are represented as a string containing the codecs as defined by the manifest.
5139
- */
5140
- readonly codecs: string;
5141
- /**
5142
- * The identifier for this quality. This identifier is tied to the stream's internal representation. It may be empty. For a unique id, use {@link Quality.uid}.
5143
- */
5144
- readonly id: string;
5145
- /**
5146
- * The unique identifier for this quality.
5147
- */
5148
- readonly uid: number;
5149
- /**
5150
- * The name of the quality.
5151
- */
5152
- readonly name: string;
5153
- /**
5154
- * The label of the quality.
5155
- */
5156
- label: string;
5157
- /**
5158
- * Whether the quality is available.
5159
- *
5160
- * @remarks
5161
- * <br/> - A quality can be unavailable due to a DRM restriction (e.g. HDCP).
5162
- */
5163
- readonly available: boolean;
5164
- /**
5165
- * The HLS SCORE attribute.
5166
- *
5167
- * @remarks
5168
- * <br/> - Available since v6.8.0.
5169
- * <br/> - Only for HLS streams.
5170
- */
5171
- readonly score: number | undefined;
5172
- }
5207
+ type RelatedHideEvent = Event<'hide'>;
5173
5208
  /**
5174
- * Represents a quality of a video track.
5209
+ * The events fired by the {@link RelatedContent | related content API}.
5175
5210
  *
5176
- * @category Media and Text Tracks
5211
+ * @category UI
5177
5212
  * @public
5178
5213
  */
5179
- interface VideoQuality extends Quality {
5180
- /**
5181
- * The video height of the video quality, in pixels.
5182
- */
5183
- readonly height: number;
5184
- /**
5185
- * The video width of the video quality, in pixels.
5186
- */
5187
- readonly width: number;
5188
- /**
5189
- * The framerate of the video quality.
5190
- */
5191
- readonly frameRate: number;
5214
+ interface RelatedContentEventMap {
5192
5215
  /**
5193
- * The timestamp of the first frame of the video quality, in seconds.
5216
+ * {@inheritDoc RelatedChangeEvent}
5194
5217
  */
5195
- readonly firstFrame: number;
5218
+ relatedchange: RelatedChangeEvent;
5196
5219
  }
5197
5220
  /**
5198
- * Represents a quality of an audio track.
5221
+ * The related content API.
5199
5222
  *
5200
- * @category Media and Text Tracks
5223
+ * @remarks
5224
+ * <br/> - Available since v2.14.2.
5225
+ *
5226
+ * @category UI
5201
5227
  * @public
5202
5228
  */
5203
- interface AudioQuality extends Quality {
5229
+ interface RelatedContent extends EventDispatcher<RelatedContentEventMap> {
5204
5230
  /**
5205
- * The sampling rate of the audio quality.
5231
+ * List of related content sources.
5206
5232
  */
5207
- readonly audioSamplingRate: number | [number, number];
5233
+ sources: RelatedContentSource[];
5208
5234
  }
5209
-
5210
5235
  /**
5211
- * List of qualities.
5236
+ * The events fired by the {@link UIRelatedContent | related content API (with ui)}.
5212
5237
  *
5213
- * @category Media and Text Tracks
5238
+ * @category UI
5214
5239
  * @public
5215
5240
  */
5216
- interface QualityList extends Array<Quality> {
5241
+ interface UIRelatedContentEventMap extends RelatedContentEventMap {
5217
5242
  /**
5218
- * Index signature to get the quality at the requested index in the list.
5243
+ * {@inheritDoc RelatedShowEvent}
5219
5244
  */
5220
- [index: number]: Quality;
5245
+ show: RelatedShowEvent;
5221
5246
  /**
5222
- * Return the quality at the requested index in the list.
5223
- *
5224
- * @param index - A `number` representing the index of a quality in the list.
5225
- * @returns The quality with index `index` in the list.
5247
+ * {@inheritDoc RelatedHideEvent}
5226
5248
  */
5227
- item(index: number): Quality;
5249
+ hide: RelatedHideEvent;
5228
5250
  }
5229
-
5230
5251
  /**
5231
- * A quality-related event fired by a {@link MediaTrack}.
5252
+ * The related content UI API which can be used to toggle UI components.
5232
5253
  *
5233
- * @category Media and Text Tracks
5234
- * @category Events
5254
+ * @remarks
5255
+ * <br/> - Available since v2.14.2.
5256
+ *
5257
+ * @category UI
5235
5258
  * @public
5236
5259
  */
5237
- interface QualityEvent<TType extends string> extends Event<TType> {
5260
+ interface UIRelatedContent extends RelatedContent, EventDispatcher<UIRelatedContentEventMap> {
5238
5261
  /**
5239
- * The quality.
5262
+ * Whether the related content menu is showing.
5240
5263
  */
5241
- readonly quality: Quality;
5242
- }
5243
- /**
5244
- * Fired when the media track's {@link MediaTrack.targetQuality | target quality} changes.
5245
- *
5246
- * @category Media and Text Tracks
5247
- * @category Events
5248
- * @public
5249
- */
5250
- interface TargetQualityChangedEvent extends Event<'targetqualitychanged'> {
5264
+ showing: boolean;
5251
5265
  /**
5252
- * The new target quality.
5266
+ * Show the related content menu.
5253
5267
  */
5254
- readonly quality: Quality | undefined;
5268
+ show(): void;
5255
5269
  /**
5256
- * The new target qualities.
5270
+ * Hides the related content menu.
5257
5271
  */
5258
- readonly qualities: Quality[];
5272
+ hide(): void;
5273
+ /**
5274
+ * {@inheritDoc EventDispatcher.addEventListener}
5275
+ */
5276
+ addEventListener<TType extends StringKeyOf<UIRelatedContentEventMap>>(type: TType | readonly TType[], listener: EventListener<UIRelatedContentEventMap[TType]>): void;
5277
+ /**
5278
+ * {@inheritDoc EventDispatcher.removeEventListener}
5279
+ */
5280
+ removeEventListener<TType extends StringKeyOf<UIRelatedContentEventMap>>(type: TType | readonly TType[], listener: EventListener<UIRelatedContentEventMap[TType]>): void;
5259
5281
  }
5260
5282
  /**
5261
- * The events fired by a {@link MediaTrack}.
5283
+ * Represents a related content source.
5262
5284
  *
5263
- * @category Media and Text Tracks
5285
+ * @remarks
5286
+ * <br/> - Available since v2.14.2.
5287
+ *
5288
+ * @category UI
5264
5289
  * @public
5265
5290
  */
5266
- interface MediaTrackEventMap extends TrackEventMap {
5291
+ interface RelatedContentSource {
5267
5292
  /**
5268
- * Fired when the media track's {@link MediaTrack.activeQuality | active quality} changes.
5293
+ * The duration of the related content source.
5269
5294
  */
5270
- activequalitychanged: QualityEvent<'activequalitychanged'>;
5295
+ duration?: string;
5271
5296
  /**
5272
- * Fired when the media track's {@link MediaTrack.targetQuality | target quality} changes.
5297
+ * The image of the related content source.
5273
5298
  */
5274
- targetqualitychanged: TargetQualityChangedEvent;
5299
+ image: string;
5275
5300
  /**
5276
- * Fired when a quality of the track becomes unavailable.
5301
+ * The target URL for the related content source.
5277
5302
  *
5278
5303
  * @remarks
5279
- * <br/> - A Quality can become unavailable due to a DRM restriction (e.g. HDCP).
5304
+ * <br/> - Mutually exclusive with {@link RelatedContentSource.source}.
5305
+ * <br/> - Required if {@link RelatedContentSource.source} is not present.
5280
5306
  */
5281
- qualityunavailable: QualityEvent<'qualityunavailable'>;
5307
+ link?: string;
5308
+ /**
5309
+ * The source description of the related content source.
5310
+ *
5311
+ * @remarks
5312
+ * <br/> - Mutually exclusive with {@link RelatedContentSource.link}.
5313
+ * <br/> - Required if {@link RelatedContentSource.link} is not present.
5314
+ */
5315
+ source?: SourceDescription;
5316
+ /**
5317
+ * The title of the related content source.
5318
+ */
5319
+ title?: string;
5282
5320
  }
5321
+
5283
5322
  /**
5284
- * Represents a media track (audio or video) of a media resource.
5323
+ * The bundled Video.js library, based on version 5.x.
5285
5324
  *
5286
- * @category Media and Text Tracks
5325
+ * @remarks
5326
+ * <br/> - See {@link https://docs.videojs.com/ | documentation}.
5327
+ *
5328
+ * @category API
5329
+ * @category UI
5287
5330
  * @public
5288
5331
  */
5289
- interface MediaTrack extends Track, EventDispatcher<MediaTrackEventMap> {
5332
+ declare namespace videojs {
5290
5333
  /**
5291
- * Whether the track is enabled.
5334
+ * An instance of a player UI.
5292
5335
  *
5293
5336
  * @remarks
5294
- * <br/> - Only one track of the same type (e.g. video) can be enabled at the same time.
5295
- * <br/> - Enabling a track will disable all other tracks of the same type.
5296
- * <br/> - Disabling a track will not enable a different track of the same type.
5297
- */
5298
- enabled: boolean;
5299
- /**
5300
- * The identifier of the media track.
5337
+ * <br/> - See {@link https://docs.videojs.com/player | documentation}.
5301
5338
  *
5302
- * @remarks
5303
- * <br/> - This identifier can be used to distinguish between related tracks, e.g. tracks in the same list.
5339
+ * @public
5304
5340
  */
5305
- readonly id: string;
5341
+ interface Player {
5342
+ }
5343
+ }
5344
+
5345
+ /**
5346
+ * List of tracks.
5347
+ *
5348
+ * @category Media and Text Tracks
5349
+ * @public
5350
+ */
5351
+ interface TrackList<TTrack extends Track> extends ReadonlyArray<TTrack>, EventDispatcher<TrackListEventMap> {
5306
5352
  /**
5307
- * A unique identifier of the media track.
5308
- *
5309
- * @remarks
5310
- * <br/> - This identifier is unique across tracks of a THEOplayer instance and can be used to distinguish between tracks.
5311
- * <br/> - This identifier is a randomly generated number.
5353
+ * The number of tracks in the list.
5312
5354
  */
5313
- readonly uid: number;
5355
+ readonly length: number;
5314
5356
  /**
5315
- * The kind of the media track, represented by a value from the following list:
5316
- * <br/> - `'main'`: The track is the default track for playback
5317
- * <br/> - `'alternative'`: The track is not the default track for playback
5357
+ * Return the track at the requested index in the list.
5358
+ *
5359
+ * @param index - A `number` representing the index of a track in the list.
5360
+ * @returns The track with index `index` in the list.
5318
5361
  */
5319
- readonly kind: string;
5362
+ item(index: number): TTrack;
5320
5363
  /**
5321
- * The label of the media track.
5364
+ * Index signature to get the track at the requested index in the list.
5322
5365
  */
5323
- label: string;
5366
+ readonly [index: number]: TTrack;
5367
+ }
5368
+
5369
+ /**
5370
+ * List of text tracks.
5371
+ *
5372
+ * @category Media and Text Tracks
5373
+ * @public
5374
+ */
5375
+ interface TextTracksList extends TrackList<TextTrack> {
5324
5376
  /**
5325
- * The language of the media track.
5377
+ * The number of text tracks in the list.
5326
5378
  */
5327
- readonly language: string;
5379
+ readonly length: number;
5328
5380
  /**
5329
- * The active quality of the media track, i.e. the quality that is currently being played.
5381
+ * Return the text track at the requested index in the list.
5382
+ *
5383
+ * @param index - A `number` representing the index of a text track in the list.
5384
+ * @returns The text track with index `index` in the list.
5330
5385
  */
5331
- readonly activeQuality: Quality | undefined;
5386
+ item(index: number): TextTrack;
5332
5387
  /**
5333
- * The qualities of the media track.
5388
+ * Index signature to get the text track at the requested index in the list.
5334
5389
  */
5335
- readonly qualities: QualityList;
5390
+ readonly [index: number]: TextTrack;
5391
+ }
5392
+
5393
+ /**
5394
+ * The media error code, represented by a value from the following list:
5395
+ * <br/> - `1` - ABORTED: The fetching of the associated resource was aborted by the user's request.
5396
+ * <br/> - `2` - NETWORK: Some kind of network error occurred which prevented the media from being successfully fetched, despite having previously been available.
5397
+ * <br/> - `3` - DECODE: Despite having previously been determined to be usable, an error occurred while trying to decode the media resource, resulting in an error.
5398
+ * <br/> - `4` - SRC_NOT_SUPPORTED: The associated resource or media provider object (such as a MediaStream) has been found to be unsuitable.
5399
+ * <br/> - `5` - ENCRYPTED: Some kind of digital rights management error occurred.
5400
+ * <br/> - `6` - LICENSE_INVALID: The player's license was determined to be invalid.
5401
+ * <br/> - `7` - ADVERTISEMENT_ERROR: Some kind of advertisement related error occurred.
5402
+ *
5403
+ * @category Errors
5404
+ * @public
5405
+ */
5406
+ type MediaErrorCode = 1 | 2 | 3 | 4 | 5 | 6 | 7;
5407
+ /**
5408
+ * Thrown when a media error occurs.
5409
+ *
5410
+ * @category Errors
5411
+ * @public
5412
+ */
5413
+ interface MediaError extends Error {
5336
5414
  /**
5337
- * One or more desired qualities of the media track.
5338
- *
5339
- * @remarks
5340
- * <br/> - If desired qualities are present, the Adaptive Bitrate mechanism of the player will limit itself to these qualities.
5341
- * <br/> - If one desired quality is present, the Adaptive Bitrate mechanism of the player will be disabled and the desired quality will be played back.
5415
+ * The code of the error.
5342
5416
  */
5343
- targetQuality: Quality | Quality[] | undefined;
5417
+ readonly code: MediaErrorCode;
5344
5418
  /**
5345
- * {@inheritDoc EventDispatcher.addEventListener}
5419
+ * The cause of the error, if any.
5346
5420
  */
5347
- addEventListener<TType extends StringKeyOf<MediaTrackEventMap>>(type: TType | readonly TType[], listener: EventListener<MediaTrackEventMap[TType]>): void;
5421
+ readonly cause?: string;
5348
5422
  /**
5349
- * {@inheritDoc EventDispatcher.removeEventListener}
5423
+ * The key system specific error code, if any.
5350
5424
  */
5351
- removeEventListener<TType extends StringKeyOf<MediaTrackEventMap>>(type: TType | readonly TType[], listener: EventListener<MediaTrackEventMap[TType]>): void;
5425
+ readonly systemCode?: number;
5352
5426
  }
5353
5427
 
5354
5428
  /**
@@ -6468,10 +6542,14 @@ interface NetworkEstimatorController {
6468
6542
  interface NetworkEventMap {
6469
6543
  /**
6470
6544
  * Fired when the manifest is online.
6545
+ *
6546
+ * @deprecated use {@link PlayerEventMap.manifestupdate} instead
6471
6547
  */
6472
6548
  online: Event<'online'>;
6473
6549
  /**
6474
6550
  * Fired when the manifest is offline.
6551
+ *
6552
+ * @deprecated use {@link PlayerEventMap.manifesterror} instead
6475
6553
  */
6476
6554
  offline: Event<'offline'>;
6477
6555
  }
@@ -8750,7 +8828,7 @@ interface HespApi extends EventDispatcher<HespApiEventMap> {
8750
8828
  * @remarks
8751
8829
  * <br/> - Undefined if no HESP source is configured.
8752
8830
  */
8753
- readonly manifest: Object | undefined;
8831
+ readonly manifest: object | undefined;
8754
8832
  /**
8755
8833
  * Returns an overview of the latencies of different parts of the pipeline.
8756
8834
  *
@@ -10013,12 +10091,21 @@ interface PlayerEventMap {
10013
10091
  */
10014
10092
  manifestupdate: Event<'manifestupdate'>;
10015
10093
  /**
10016
- * Fired when a segment can not be found.
10094
+ * Fired when the manifest cannot be loaded or parsed.
10095
+ */
10096
+ manifesterror: Event<'manifesterror'>;
10097
+ /**
10098
+ * Fired when a segment cannot be found.
10017
10099
  *
10018
10100
  * @remarks
10019
10101
  * <br/> - Only fired on DASH streams.
10102
+ * @deprecated use {@link PlayerEventMap.segmenterror} instead
10020
10103
  */
10021
10104
  segmentnotfound: Event<'segmentnotfound'>;
10105
+ /**
10106
+ * Fired when a segment cannot be found.
10107
+ */
10108
+ segmenterror: Event<'segmenterror'>;
10022
10109
  /**
10023
10110
  * Fired when the player encounters key system initialization data in the media data.
10024
10111
  *
@@ -13681,4 +13768,4 @@ declare function registerContentProtectionIntegration(integrationId: string, key
13681
13768
  */
13682
13769
  declare const utils: CommonUtils;
13683
13770
 
13684
- export { ABRConfiguration, ABRMetadata, ABRStrategy, ABRStrategyConfiguration, ABRStrategyType, AES128KeySystemConfiguration, AccessibilityRole, Ad, AdBreak, AdBreakEvent, AdBreakInit, AdBreakInterstitial, AdBufferingEvent, AdDescription, AdEvent, AdInit, AdIntegrationKind, AdMetadataEvent, AdPreloadType, AdReadyState, AdSkipEvent, AdSource, AdSourceType, AdType, AddCachingTaskEvent, AddTrackEvent, AddViewEvent, Ads, AdsConfiguration, AdsEventMap, AdsManagerLoadedEvent, AgamaAnalyticsIntegrationID, AgamaConfiguration, AgamaLogLevelType, AgamaPlayerConfiguration, AgamaServiceName, AgamaSourceConfiguration, AgamaStreamType, AirPlay, AnalyticsDescription, AnalyticsIntegrationID, AudioQuality, AxinomDRMConfiguration, AxinomIntegrationID, AzureDRMConfiguration, AzureIntegrationID, Base64Util, BaseSource, Boundary, BoundaryC3, BoundaryC7, BoundaryHalftime, BoundaryInfo, BufferSource, BufferedSegments, Cache, CacheEventMap, CacheStatus, CacheTaskStatus, CachingTask, CachingTaskEventMap, CachingTaskLicense, CachingTaskList, CachingTaskListEventMap, CachingTaskParameters, CanPlayEvent, CanPlayThroughEvent, Canvas, Cast, CastConfiguration, CastEventMap, CastState, CastStateChangeEvent, CertificateRequest, CertificateResponse, ChannelDrmConfigResponse, Chromecast, ChromecastConfiguration, ChromecastConnectionCallback, ChromecastError, ChromecastErrorCode, ChromecastErrorEvent, ChromecastEventMap, ChromecastMetadataDescription, ChromecastMetadataImage, ChromecastMetadataType, ChromelessPlayer, ClearkeyDecryptionKey, ClearkeyKeySystemConfiguration, Clip, ClipEventMap, ClosedCaptionFile, ComcastDRMConfiguration, ComcastIntegrationID, CommonUtils, CompanionAd, ConaxDRMConfiguration, ConaxIntegrationID, ContentProtectionError, ContentProtectionErrorCode, ContentProtectionErrorEvent, ContentProtectionIntegration, ContentProtectionIntegrationFactory, ContentProtectionRequest, ContentProtectionRequestSubType, ContentProtectionResponse, CrossOriginSetting, CsaiAdDescription, CurrentSourceChangeEvent, CustomAdIntegrationKind, CustomTextTrackMap, CustomTextTrackOptions, CustomWebVTTTextTrack, DAIAvailabilityType, DRMConfiguration, DRMTodayDRMConfiguration, DRMTodayIntegrationID, DashPlaybackConfiguration, DateRangeCue, DeliveryType, DeviceBasedTitaniumDRMConfiguration, DimensionChangeEvent, DirectionChangeEvent, DistributionLoadStartEvent, DistributionOfflineEvent, DurationChangeEvent, EdgeStyle, EmptiedEvent, EmsgCue, EncryptedEvent, EndedEvent, Endpoint, EndpointLoadedEvent, EnterBadNetworkModeEvent, ErrorCategory, ErrorCode, ErrorEvent, Event, EventDispatcher, EventListener, EventMap, EventStreamCue, EventedList, ExitBadNetworkModeEvent, ExpressPlayDRMConfiguration, ExpressPlayIntegrationID, EzdrmDRMConfiguration, EzdrmIntegrationID, FairPlayKeySystemConfiguration, FreeWheelAdDescription, FreeWheelAdUnitType, FreeWheelCue, FullscreenOptions$1 as FullscreenOptions, Geo, GlobalCast, GlobalChromecast, GoogleDAI, GoogleDAIConfiguration, GoogleDAILiveConfiguration, GoogleDAISSAIIntegrationID, GoogleDAITypedSource, GoogleDAIVodConfiguration, GoogleImaAd, GoogleImaConfiguration, HTTPHeaders, HespApi, HespApiEventMap, HespMediaType, HespSourceConfiguration, HespTypedSource, HlsDiscontinuityAlignment, HlsPlaybackConfiguration, ID3AttachedPicture, ID3BaseFrame, ID3Comments, ID3CommercialFrame, ID3Cue, ID3Frame, ID3GenericEncapsulatedObject, ID3InvolvedPeopleList, ID3PositionSynchronisationFrame, ID3PrivateFrame, ID3SynchronizedLyricsText, ID3TermsOfUse, ID3Text, ID3UniqueFileIdentifier, ID3Unknown, ID3UnsynchronisedLyricsTextTranscription, ID3UrlLink, ID3UserDefinedText, ID3UserDefinedUrlLink, ID3Yospace, IMAAdDescription, IntentToFallbackEvent, InterceptableRequest, InterceptableResponse, Interstitial, InterstitialEvent, InterstitialType, IrdetoDRMConfiguration, IrdetoIntegrationID, JoinStrategy, KeyOSDRMConfiguration, KeyOSFairplayKeySystemConfiguration, KeyOSIntegrationID, KeyOSKeySystemConfiguration, KeySystemConfiguration, KeySystemId, Latencies, LatencyConfiguration, LatencyManager, LayoutChangeEvent, LicenseRequest, LicenseResponse, LicenseType, LinearAd, List, LoadedDataEvent, LoadedMetadataEvent, MaybeAsync, MeasurableNetworkEstimator, MediaError, MediaErrorCode, MediaFile, MediaMelonConfiguration, MediaTailorSource, MediaTrack, MediaTrackEventMap, MediaTrackList, MediaType, MetadataDescription, Metrics, Millicast, MillicastEventMap, MillicastMetadataCue, MillicastSource, MillicastStatsEvent, MoatAnalyticsIntegrationID, MoatConfiguration, MultiViewPlayer, MultiViewPlayerEventMap, MultiViewPlayerLayout, MutedAutoplayConfiguration, Network, NetworkEstimator, NetworkEstimatorController, NetworkEventMap, NetworkInterceptorController, NodeStyleVoidCallback, NonLinearAd, OverlayInterstitial, OverlayPosition, OverlaySize, PauseEvent, PiPConfiguration, PiPPosition, PlayEvent, PlayReadyKeySystemConfiguration, PlayStation5Configuration, PlayStation5PlayMode, PlayerConfiguration, PlayerEventMap, PlayerList, PlayingEvent, PreloadType, Presentation, PresentationEventMap, PresentationMode, PresentationModeChangeEvent, ProgressEvent, Quality, QualityEvent, QualityEventMap, QualityList, RateChangeEvent, ReadyStateChangeEvent, RelatedChangeEvent, RelatedContent, RelatedContentEventMap, RelatedContentSource, RelatedHideEvent, RelatedShowEvent, RemoveCachingTaskEvent, RemoveTrackEvent, RemoveViewEvent, Representation, RepresentationChangeEvent, Request, RequestBody, RequestInit, RequestInterceptor, RequestLike, RequestMeasurer, RequestMethod, RequestSubType, RequestType, ResponseBody, ResponseInit, ResponseInterceptor, ResponseLike, ResponseType, RetryConfiguration, SSAIIntegrationId, SeamlessPeriodSwitchStrategy, SeamlessSwitchStrategy, SeekedEvent, SeekingEvent, ServerSideAdInsertionConfiguration, ServerSideAdIntegrationController, ServerSideAdIntegrationFactory, ServerSideAdIntegrationHandler, SkippedAdStrategy, SmartSightConfiguration, SmartSightIntegrationID, Source, SourceAbrConfiguration, SourceChangeEvent, SourceConfiguration, SourceDescription, SourceIntegrationId, SourceLatencyConfiguration, Sources, SpotXAdDescription, SpotxData, SpotxQueryParameter, StateChangeEvent, StereoChangeEvent, StreamOneAnalyticsIntegrationID, StreamOneConfiguration, StreamType, StringKeyOf, StylePropertyRecord, SupportedCustomTextTrackCueTypes, THEOplayerError, TTMLCue, TTMLExtent, TargetQualityChangedEvent, TextTrack, TextTrackAddCueEvent, TextTrackCue, TextTrackCueChangeEvent, TextTrackCueEnterEvent, TextTrackCueEventMap, TextTrackCueExitEvent, TextTrackCueList, TextTrackCueUpdateEvent, TextTrackDescription, TextTrackEnterCueEvent, TextTrackError, TextTrackErrorCode, TextTrackErrorEvent, TextTrackEventMap, TextTrackExitCueEvent, TextTrackReadyState, TextTrackReadyStateChangeEvent, TextTrackRemoveCueEvent, TextTrackStyle, TextTrackStyleEventMap, TextTrackType, TextTrackTypeChangeEvent, TextTrackUpdateCueEvent, TextTracksList, TheoAdDescription, TheoAds, TheoAdsEventsMap, TheoAdsLayout, TheoAdsLayoutOverride, TheoLiveApi, TheoLiveApiEventMap, TheoLiveConfiguration, TheoLivePublication, TheoLiveSource, ThumbnailResolution, TimeRanges, TimeUpdateEvent, TitaniumDRMConfiguration, TitaniumIntegrationID, TokenBasedTitaniumDRMConfiguration, Track, TrackChangeEvent, TrackEventMap, TrackList, TrackListEventMap, TrackUpdateEvent, TypedSource, UIConfiguration, UILanguage, UIPlayerConfiguration, UIRelatedContent, UIRelatedContentEventMap, UniversalAdId, UpdateQualityEvent, Uplynk, UplynkAd, UplynkAdBeginEvent, UplynkAdBreak, UplynkAdBreakBeginEvent, UplynkAdBreakEndEvent, UplynkAdBreakEventMap, UplynkAdBreakList, UplynkAdBreakListEventMap, UplynkAdBreakSkipEvent, UplynkAdCompleteEvent, UplynkAdEndEvent, UplynkAdEventMap, UplynkAdFirstQuartileEvent, UplynkAdList, UplynkAdListEventMap, UplynkAdMidpointEvent, UplynkAdThirdQuartileEvent, UplynkAddAdBreakEvent, UplynkAddAssetEvent, UplynkAds, UplynkAsset, UplynkAssetEventMap, UplynkAssetId, UplynkAssetInfoResponse, UplynkAssetInfoResponseEvent, UplynkAssetList, UplynkAssetMovieRating, UplynkAssetTvRating, UplynkAssetType, UplynkConfiguration, UplynkDRMConfiguration, UplynkEventMap, UplynkExternalId, UplynkIntegrationID, UplynkPingConfiguration, UplynkPingErrorEvent, UplynkPingResponse, UplynkPingResponseEvent, UplynkPreplayBaseResponse, UplynkPreplayLiveResponse, UplynkPreplayResponse, UplynkPreplayResponseEvent, UplynkPreplayResponseType, UplynkPreplayVodResponse, UplynkRemoveAdBreakEvent, UplynkRemoveAdEvent, UplynkRemoveAssetEvent, UplynkResponseDrm, UplynkResponseLiveAd, UplynkResponseLiveAdBreak, UplynkResponseLiveAds, UplynkResponseVodAd, UplynkResponseVodAdBreak, UplynkResponseVodAdBreakOffset, UplynkResponseVodAdPlaceholder, UplynkResponseVodAds, UplynkSource, UplynkUiConfiguration, UplynkUpdateAdBreakEvent, UserActions, VPAIDMode, VR, VRConfiguration, VRDirection, VREventMap, VRPanoramaMode, VRState, VRStereoMode, VTTAlignSetting, VTTDirectionSetting, VTTLine, VTTLineAlignSetting, VTTPosition, VTTPositionAlignSetting, VTTScrollSetting, VastExtension, VendorCast, VendorCastEventMap, VerimatrixDRMConfiguration, VerimatrixIntegrationID, VideoFrameCallbackMetadata, VideoFrameRequestCallback, VideoQuality, View, ViewChangeEvent, ViewPositionChangeEvent, VimondDRMConfiguration, VimondIntegrationID, Visibility, VisibilityObserver, VisibilityObserverCallback, VoidPromiseCallback, VolumeChangeEvent, VudrmDRMConfiguration, VudrmIntegrationID, WaitUntilCallback, WaitingEvent, WebAudio, WebVTTCue, WebVTTRegion, WidevineKeySystemConfiguration, XstreamDRMConfiguration, XstreamIntegrationID, YospaceId, YouboraAnalyticsIntegrationID, YouboraOptions, cache, cast, features, players, registerContentProtectionIntegration, utils, version, videojs };
13771
+ export { ABRConfiguration, ABRMetadata, ABRStrategy, ABRStrategyConfiguration, ABRStrategyType, AES128KeySystemConfiguration, AccessibilityRole, Ad, AdBreak, AdBreakEvent, AdBreakInit, AdBreakInterstitial, AdBufferingEvent, AdDescription, AdEvent, AdInit, AdIntegrationKind, AdMetadataEvent, AdPreloadType, AdReadyState, AdSkipEvent, AdSource, AdSourceType, AdType, AddCachingTaskEvent, AddTrackEvent, AddViewEvent, Ads, AdsConfiguration, AdsEventMap, AdsManagerLoadedEvent, AgamaAnalyticsIntegrationID, AgamaConfiguration, AgamaLogLevelType, AgamaPlayerConfiguration, AgamaServiceName, AgamaSourceConfiguration, AgamaStreamType, AirPlay, AnalyticsDescription, AnalyticsIntegrationID, AudioQuality, AxinomDRMConfiguration, AxinomIntegrationID, AzureDRMConfiguration, AzureIntegrationID, Base64Util, BaseSource, Boundary, BoundaryC3, BoundaryC7, BoundaryHalftime, BoundaryInfo, BufferSource, BufferedSegments, Cache, CacheEventMap, CacheStatus, CacheTaskStatus, CachingTask, CachingTaskEventMap, CachingTaskLicense, CachingTaskList, CachingTaskListEventMap, CachingTaskParameters, CanPlayEvent, CanPlayThroughEvent, Canvas, Cast, CastConfiguration, CastEventMap, CastState, CastStateChangeEvent, CertificateRequest, CertificateResponse, ChannelDrmConfigResponse, Chromecast, ChromecastConfiguration, ChromecastConnectionCallback, ChromecastError, ChromecastErrorCode, ChromecastErrorEvent, ChromecastEventMap, ChromecastMetadataDescription, ChromecastMetadataImage, ChromecastMetadataType, ChromelessPlayer, ClearkeyDecryptionKey, ClearkeyKeySystemConfiguration, Clip, ClipEventMap, ClosedCaptionFile, ComcastDRMConfiguration, ComcastIntegrationID, CommonUtils, CompanionAd, ConaxDRMConfiguration, ConaxIntegrationID, ContentProtectionError, ContentProtectionErrorCode, ContentProtectionErrorEvent, ContentProtectionIntegration, ContentProtectionIntegrationFactory, ContentProtectionRequest, ContentProtectionRequestSubType, ContentProtectionResponse, CrossOriginSetting, CsaiAdDescription, CurrentSourceChangeEvent, CustomAdIntegrationKind, CustomTextTrackMap, CustomTextTrackOptions, CustomWebVTTTextTrack, DAIAvailabilityType, DRMConfiguration, DRMTodayDRMConfiguration, DRMTodayIntegrationID, DashPlaybackConfiguration, DateRangeCue, DeliveryType, DeviceBasedTitaniumDRMConfiguration, DimensionChangeEvent, DirectionChangeEvent, DistributionLoadStartEvent, DistributionOfflineEvent, DurationChangeEvent, EdgeStyle, EmptiedEvent, EmsgCue, EncryptedEvent, EndedEvent, Endpoint, EndpointLoadedEvent, EnterBadNetworkModeEvent, ErrorCategory, ErrorCode, ErrorEvent, Event, EventDispatcher, EventListener, EventMap, EventStreamCue, EventedList, ExitBadNetworkModeEvent, ExpressPlayDRMConfiguration, ExpressPlayIntegrationID, EzdrmDRMConfiguration, EzdrmIntegrationID, FairPlayKeySystemConfiguration, FreeWheelAdDescription, FreeWheelAdUnitType, FreeWheelCue, FullscreenOptions$1 as FullscreenOptions, Geo, GlobalCast, GlobalChromecast, GoogleDAI, GoogleDAIConfiguration, GoogleDAILiveConfiguration, GoogleDAISSAIIntegrationID, GoogleDAITypedSource, GoogleDAIVodConfiguration, GoogleImaAd, GoogleImaConfiguration, HTTPHeaders, HespApi, HespApiEventMap, HespMediaType, HespSourceConfiguration, HespTypedSource, HlsDiscontinuityAlignment, HlsPlaybackConfiguration, ID3AttachedPicture, ID3BaseFrame, ID3Comments, ID3CommercialFrame, ID3Cue, ID3Frame, ID3GenericEncapsulatedObject, ID3InvolvedPeopleList, ID3PositionSynchronisationFrame, ID3PrivateFrame, ID3SynchronizedLyricsText, ID3TermsOfUse, ID3Text, ID3UniqueFileIdentifier, ID3Unknown, ID3UnsynchronisedLyricsTextTranscription, ID3UrlLink, ID3UserDefinedText, ID3UserDefinedUrlLink, ID3Yospace, IMAAdDescription, IntentToFallbackEvent, InterceptableRequest, InterceptableResponse, Interstitial, InterstitialEvent, InterstitialType, IrdetoDRMConfiguration, IrdetoIntegrationID, JoinStrategy, KeyOSDRMConfiguration, KeyOSFairplayKeySystemConfiguration, KeyOSIntegrationID, KeyOSKeySystemConfiguration, KeySystemConfiguration, KeySystemId, Latencies, LatencyConfiguration, LatencyManager, LayoutChangeEvent, LicenseRequest, LicenseResponse, LicenseType, LinearAd, List, LoadedDataEvent, LoadedMetadataEvent, ManifestErrorEvent, MaybeAsync, MeasurableNetworkEstimator, MediaError, MediaErrorCode, MediaFile, MediaMelonConfiguration, MediaTailorSource, MediaTrack, MediaTrackEventMap, MediaTrackList, MediaTrackType, MediaType, MetadataDescription, Metrics, Millicast, MillicastEventMap, MillicastMetadataCue, MillicastSource, MillicastStatsEvent, MoatAnalyticsIntegrationID, MoatConfiguration, MultiViewPlayer, MultiViewPlayerEventMap, MultiViewPlayerLayout, MutedAutoplayConfiguration, Network, NetworkEstimator, NetworkEstimatorController, NetworkEventMap, NetworkInterceptorController, NodeStyleVoidCallback, NonLinearAd, OverlayInterstitial, OverlayPosition, OverlaySize, PauseEvent, PiPConfiguration, PiPPosition, PlayEvent, PlayReadyKeySystemConfiguration, PlayStation5Configuration, PlayStation5PlayMode, PlayerConfiguration, PlayerEventMap, PlayerList, PlayingEvent, PreloadType, Presentation, PresentationEventMap, PresentationMode, PresentationModeChangeEvent, ProgressEvent, Quality, QualityEvent, QualityEventMap, QualityList, RateChangeEvent, ReadyStateChangeEvent, RelatedChangeEvent, RelatedContent, RelatedContentEventMap, RelatedContentSource, RelatedHideEvent, RelatedShowEvent, RemoveCachingTaskEvent, RemoveTrackEvent, RemoveViewEvent, Representation, RepresentationChangeEvent, Request, RequestBody, RequestInit, RequestInterceptor, RequestLike, RequestMeasurer, RequestMethod, RequestSubType, RequestType, ResponseBody, ResponseInit, ResponseInterceptor, ResponseLike, ResponseType, RetryConfiguration, SSAIIntegrationId, SeamlessPeriodSwitchStrategy, SeamlessSwitchStrategy, SeekedEvent, SeekingEvent, SegmentErrorEvent, ServerSideAdInsertionConfiguration, ServerSideAdIntegrationController, ServerSideAdIntegrationFactory, ServerSideAdIntegrationHandler, SkippedAdStrategy, SmartSightConfiguration, SmartSightIntegrationID, Source, SourceAbrConfiguration, SourceChangeEvent, SourceConfiguration, SourceDescription, SourceIntegrationId, SourceLatencyConfiguration, Sources, SpotXAdDescription, SpotxData, SpotxQueryParameter, StateChangeEvent, StereoChangeEvent, StreamOneAnalyticsIntegrationID, StreamOneConfiguration, StreamType, StringKeyOf, StylePropertyRecord, SupportedCustomTextTrackCueTypes, THEOplayerError, TTMLCue, TTMLExtent, TargetQualityChangedEvent, TextTrack, TextTrackAddCueEvent, TextTrackCue, TextTrackCueChangeEvent, TextTrackCueEnterEvent, TextTrackCueEventMap, TextTrackCueExitEvent, TextTrackCueList, TextTrackCueUpdateEvent, TextTrackDescription, TextTrackEnterCueEvent, TextTrackError, TextTrackErrorCode, TextTrackErrorEvent, TextTrackEventMap, TextTrackExitCueEvent, TextTrackReadyState, TextTrackReadyStateChangeEvent, TextTrackRemoveCueEvent, TextTrackStyle, TextTrackStyleEventMap, TextTrackType, TextTrackTypeChangeEvent, TextTrackUpdateCueEvent, TextTracksList, TheoAdDescription, TheoAds, TheoAdsEventsMap, TheoAdsLayout, TheoAdsLayoutOverride, TheoLiveApi, TheoLiveApiEventMap, TheoLiveConfiguration, TheoLivePublication, TheoLiveSource, ThumbnailResolution, TimeRanges, TimeUpdateEvent, TitaniumDRMConfiguration, TitaniumIntegrationID, TokenBasedTitaniumDRMConfiguration, Track, TrackChangeEvent, TrackEventMap, TrackList, TrackListEventMap, TrackUpdateEvent, TypedSource, UIConfiguration, UILanguage, UIPlayerConfiguration, UIRelatedContent, UIRelatedContentEventMap, UniversalAdId, UpdateQualityEvent, Uplynk, UplynkAd, UplynkAdBeginEvent, UplynkAdBreak, UplynkAdBreakBeginEvent, UplynkAdBreakEndEvent, UplynkAdBreakEventMap, UplynkAdBreakList, UplynkAdBreakListEventMap, UplynkAdBreakSkipEvent, UplynkAdCompleteEvent, UplynkAdEndEvent, UplynkAdEventMap, UplynkAdFirstQuartileEvent, UplynkAdList, UplynkAdListEventMap, UplynkAdMidpointEvent, UplynkAdThirdQuartileEvent, UplynkAddAdBreakEvent, UplynkAddAssetEvent, UplynkAds, UplynkAsset, UplynkAssetEventMap, UplynkAssetId, UplynkAssetInfoResponse, UplynkAssetInfoResponseEvent, UplynkAssetList, UplynkAssetMovieRating, UplynkAssetTvRating, UplynkAssetType, UplynkConfiguration, UplynkDRMConfiguration, UplynkEventMap, UplynkExternalId, UplynkIntegrationID, UplynkPingConfiguration, UplynkPingErrorEvent, UplynkPingResponse, UplynkPingResponseEvent, UplynkPreplayBaseResponse, UplynkPreplayLiveResponse, UplynkPreplayResponse, UplynkPreplayResponseEvent, UplynkPreplayResponseType, UplynkPreplayVodResponse, UplynkRemoveAdBreakEvent, UplynkRemoveAdEvent, UplynkRemoveAssetEvent, UplynkResponseDrm, UplynkResponseLiveAd, UplynkResponseLiveAdBreak, UplynkResponseLiveAds, UplynkResponseVodAd, UplynkResponseVodAdBreak, UplynkResponseVodAdBreakOffset, UplynkResponseVodAdPlaceholder, UplynkResponseVodAds, UplynkSource, UplynkUiConfiguration, UplynkUpdateAdBreakEvent, UserActions, VPAIDMode, VR, VRConfiguration, VRDirection, VREventMap, VRPanoramaMode, VRState, VRStereoMode, VTTAlignSetting, VTTDirectionSetting, VTTLine, VTTLineAlignSetting, VTTPosition, VTTPositionAlignSetting, VTTScrollSetting, VastExtension, VendorCast, VendorCastEventMap, VerimatrixDRMConfiguration, VerimatrixIntegrationID, VideoFrameCallbackMetadata, VideoFrameRequestCallback, VideoQuality, View, ViewChangeEvent, ViewPositionChangeEvent, VimondDRMConfiguration, VimondIntegrationID, Visibility, VisibilityObserver, VisibilityObserverCallback, VoidPromiseCallback, VolumeChangeEvent, VudrmDRMConfiguration, VudrmIntegrationID, WaitUntilCallback, WaitingEvent, WebAudio, WebVTTCue, WebVTTRegion, WidevineKeySystemConfiguration, XstreamDRMConfiguration, XstreamIntegrationID, YospaceId, YouboraAnalyticsIntegrationID, YouboraOptions, cache, cast, features, players, registerContentProtectionIntegration, utils, version, videojs };