@vkontakte/videoplayer-core 2.0.103 → 2.0.104

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.
Files changed (130) hide show
  1. package/es2015.cjs.js +73 -27
  2. package/es2015.esm.js +72 -26
  3. package/es2018.cjs.js +73 -27
  4. package/es2018.esm.js +72 -26
  5. package/esnext.cjs.js +75 -29
  6. package/esnext.esm.js +73 -27
  7. package/evergreen.esm.js +73 -27
  8. package/package.json +7 -7
  9. package/types/enums/AndroidPreferredFormat.d.ts +8 -0
  10. package/types/enums/WebmCodecStrategy.d.ts +7 -0
  11. package/types/env.d.ts +1 -0
  12. package/types/index.d.ts +12 -0
  13. package/types/player/Player.d.ts +173 -0
  14. package/{index.d.ts → types/player/types.d.ts} +64 -391
  15. package/types/player/utils/optimisticPosition.d.ts +12 -0
  16. package/types/player/utils/selectContainer.d.ts +3 -0
  17. package/types/providers/ChromecastProvider/ChromecastInitializer/index.d.ts +31 -0
  18. package/types/providers/ChromecastProvider/ChromecastInitializer/types.d.ts +23 -0
  19. package/types/providers/ChromecastProvider/index.d.ts +33 -0
  20. package/types/providers/DashLiveProvider/DashLiveProvider.d.ts +37 -0
  21. package/types/providers/DashLiveProvider/index.d.ts +2 -0
  22. package/types/providers/DashLiveProvider/types.d.ts +21 -0
  23. package/types/providers/DashLiveProvider/utils/FilesFetcher.d.ts +25 -0
  24. package/types/providers/DashLiveProvider/utils/LiveDashPlayer.d.ts +143 -0
  25. package/types/providers/DashLiveProvider/utils/ThroughputEstimator.d.ts +33 -0
  26. package/types/providers/DashLiveProvider/utils/liveDashPlayerUtil.d.ts +42 -0
  27. package/types/providers/DashProvider/baseDashProvider.d.ts +52 -0
  28. package/types/providers/DashProvider/consts.d.ts +1 -0
  29. package/types/providers/DashProvider/dashCmafLiveProvider.d.ts +8 -0
  30. package/types/providers/DashProvider/dashProvider.d.ts +6 -0
  31. package/types/providers/DashProvider/index.d.ts +2 -0
  32. package/types/providers/DashProvider/lib/buffer.d.ts +103 -0
  33. package/types/providers/DashProvider/lib/fetcher.d.ts +51 -0
  34. package/types/providers/DashProvider/lib/parsers/mpd.d.ts +3 -0
  35. package/types/providers/DashProvider/lib/parsers/mpeg/BoxModel.d.ts +20 -0
  36. package/types/providers/DashProvider/lib/parsers/mpeg/BoxParser.d.ts +21 -0
  37. package/types/providers/DashProvider/lib/parsers/mpeg/BoxTypeEnum.d.ts +26 -0
  38. package/types/providers/DashProvider/lib/parsers/mpeg/box.d.ts +79 -0
  39. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/equi.d.ts +21 -0
  40. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/ftyp.d.ts +17 -0
  41. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/index.d.ts +22 -0
  42. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/mdat.d.ts +15 -0
  43. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/mdia.d.ts +7 -0
  44. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/mfhd.d.ts +11 -0
  45. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/minf.d.ts +7 -0
  46. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/moof.d.ts +7 -0
  47. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/moov.d.ts +7 -0
  48. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/prhd.d.ts +16 -0
  49. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/proj.d.ts +7 -0
  50. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/sidx.d.ts +48 -0
  51. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/st3d.d.ts +23 -0
  52. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/sv3d.d.ts +7 -0
  53. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/tfdt.d.ts +17 -0
  54. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/tfhd.d.ts +22 -0
  55. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/tkhd.d.ts +42 -0
  56. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/traf.d.ts +7 -0
  57. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/trak.d.ts +7 -0
  58. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/trun.d.ts +31 -0
  59. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/unknown.d.ts +6 -0
  60. package/types/providers/DashProvider/lib/parsers/mpeg/boxes/uuid.d.ts +6 -0
  61. package/types/providers/DashProvider/lib/parsers/mpeg/fullBox.d.ts +15 -0
  62. package/types/providers/DashProvider/lib/parsers/mpeg/isobmff.d.ts +12 -0
  63. package/types/providers/DashProvider/lib/parsers/webm/ebml.d.ts +76 -0
  64. package/types/providers/DashProvider/lib/parsers/webm/webm.d.ts +3 -0
  65. package/types/providers/DashProvider/lib/player.d.ts +75 -0
  66. package/types/providers/DashProvider/lib/sourceBufferTaskQueue.d.ts +18 -0
  67. package/types/providers/DashProvider/lib/types.d.ts +156 -0
  68. package/types/providers/DashProvider/lib/utils.d.ts +14 -0
  69. package/types/providers/HlsJsProvider/index.d.ts +24 -0
  70. package/types/providers/HlsLiveProvider/index.d.ts +30 -0
  71. package/types/providers/HlsLiveProvider/seekBackTimeExtractor.d.ts +3 -0
  72. package/types/providers/HlsProvider/index.d.ts +21 -0
  73. package/types/providers/HlsProvider/manifestDataExtractor.d.ts +21 -0
  74. package/types/providers/MpegProvider/index.d.ts +20 -0
  75. package/types/providers/ProviderContainer/index.d.ts +42 -0
  76. package/types/providers/ProviderContainer/types.d.ts +20 -0
  77. package/types/providers/ProviderContainer/utils/formatsSupport.d.ts +20 -0
  78. package/types/providers/ProviderContainer/utils/playbackHangup.d.ts +12 -0
  79. package/types/providers/WebRTCLiveProvider/WebRTCLiveClient.d.ts +188 -0
  80. package/types/providers/WebRTCLiveProvider/WebRTCLiveProvider.d.ts +60 -0
  81. package/types/providers/WebRTCLiveProvider/interface/WebRTCLiveClientOptions.d.ts +9 -0
  82. package/types/providers/types.d.ts +83 -0
  83. package/types/providers/utils/HTMLVideoElement/DroppedFramesManager.d.ts +44 -0
  84. package/types/providers/utils/HTMLVideoElement/TextTrackManager.d.ts +30 -0
  85. package/types/providers/utils/HTMLVideoElement/clear.d.ts +1 -0
  86. package/types/providers/utils/HTMLVideoElement/destroy.d.ts +1 -0
  87. package/types/providers/utils/HTMLVideoElement/forcePlay.d.ts +7 -0
  88. package/types/providers/utils/HTMLVideoElement/observable.d.ts +25 -0
  89. package/types/providers/utils/HTMLVideoElement/pool.d.ts +2 -0
  90. package/types/providers/utils/HTMLVideoElement/surface.d.ts +2 -0
  91. package/types/providers/utils/LiveOffset/index.d.ts +14 -0
  92. package/types/providers/utils/LiveOffset/types.d.ts +10 -0
  93. package/types/providers/utils/addQuicParam.d.ts +2 -0
  94. package/types/providers/utils/extractConnectionHeaders.d.ts +6 -0
  95. package/types/providers/utils/generateLiveUrl.d.ts +9 -0
  96. package/types/providers/utils/okQualityStringToVideoQuality.d.ts +3 -0
  97. package/types/providers/utils/parseFps.d.ts +1 -0
  98. package/types/providers/utils/syncDesiredState.d.ts +12 -0
  99. package/types/providers/utils/syncPlaybackState.d.ts +4 -0
  100. package/types/utils/3d/Camera3D.d.ts +14 -0
  101. package/types/utils/3d/CameraRotationManager.d.ts +62 -0
  102. package/types/utils/3d/Scene3D.d.ts +132 -0
  103. package/types/utils/3d/types.d.ts +25 -0
  104. package/types/utils/StateMachine/StateMachine.d.ts +19 -0
  105. package/types/utils/StateMachine/types.d.ts +60 -0
  106. package/types/utils/StatefulIterator/index.d.ts +13 -0
  107. package/types/utils/ThroughputEstimator.d.ts +25 -0
  108. package/types/utils/addScript.d.ts +2 -0
  109. package/types/utils/autoSelectVideoTrack.d.ts +26 -0
  110. package/types/utils/buffer/getBufferedRangeForPosition.d.ts +3 -0
  111. package/types/utils/buffer/getForwardBufferDuration.d.ts +3 -0
  112. package/types/utils/buffer/getTotalBufferDuration.d.ts +3 -0
  113. package/types/utils/buffer/isPositionBuffered.d.ts +3 -0
  114. package/types/utils/changePlaybackRate.d.ts +2 -0
  115. package/types/utils/hostnameFromUrl.d.ts +2 -0
  116. package/types/utils/isInPiP.d.ts +1 -0
  117. package/types/utils/link.d.ts +2 -0
  118. package/types/utils/mediaSource.d.ts +8 -0
  119. package/types/utils/observeElementVisibility.d.ts +3 -0
  120. package/types/utils/playbackTelemetry.d.ts +12 -0
  121. package/types/utils/setStateWithSubscribe.d.ts +3 -0
  122. package/types/utils/smoothedValue/baseSmoothedValue.d.ts +18 -0
  123. package/types/utils/smoothedValue/emaAndMaSmoothedValue.d.ts +7 -0
  124. package/types/utils/smoothedValue/emaTopExtremumValue.d.ts +10 -0
  125. package/types/utils/smoothedValue/smoothedValueFactory.d.ts +6 -0
  126. package/types/utils/smoothedValue/twoEmaSmoothedValue.d.ts +8 -0
  127. package/types/utils/smoothedValue/types.d.ts +26 -0
  128. package/types/utils/smoothedValue/utils.d.ts +3 -0
  129. package/types/utils/tuningConfig.d.ts +164 -0
  130. package/types/utils/videoFormat.d.ts +2 -0
@@ -0,0 +1,26 @@
1
+ import { ITuningConfig } from '../utils/tuningConfig';
2
+ import { Kbps, Milliseconds, IRectangle, type ExactVideoQuality, QualityLimits, IComponentLogger } from '@vkontakte/videoplayer-shared';
3
+ import { IVideoTrack } from '../player/types';
4
+ export interface Constraints {
5
+ container?: IRectangle;
6
+ throughput?: Kbps;
7
+ tuning: ITuningConfig['autoTrackSelection'];
8
+ limits?: QualityLimits;
9
+ reserve?: Kbps;
10
+ playbackRate?: number;
11
+ forwardBufferHealth?: number;
12
+ current?: IVideoTrack;
13
+ history?: TrackHistory;
14
+ droppedVideoMaxQualityLimit?: ExactVideoQuality;
15
+ abrLogger: IComponentLogger;
16
+ }
17
+ export declare class TrackHistory {
18
+ last: IVideoTrack | undefined;
19
+ history: Record<IVideoTrack['id'], Milliseconds>;
20
+ recordSelection(track: IVideoTrack): void;
21
+ recordSwitch(track: IVideoTrack): void;
22
+ clear(): void;
23
+ }
24
+ export declare const defaultEmptyArrayErrorMessage = "Assertion \"ABR Tracks is empty array\" failed";
25
+ declare const autoSelectVideoTrack: (tracks: IVideoTrack[], { container, throughput, tuning, limits, reserve, forwardBufferHealth, playbackRate, current, history, droppedVideoMaxQualityLimit, abrLogger, }: Constraints) => IVideoTrack;
26
+ export default autoSelectVideoTrack;
@@ -0,0 +1,3 @@
1
+ import { Seconds, IRange } from '@vkontakte/videoplayer-shared';
2
+ declare const _default: (timeRanges: TimeRanges, position: Seconds, gapTolerance?: number) => IRange<Seconds>;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { Milliseconds } from '@vkontakte/videoplayer-shared';
2
+ declare const _default: (timeRanges: TimeRanges, position: Milliseconds) => Milliseconds;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { Milliseconds } from '@vkontakte/videoplayer-shared';
2
+ declare const _default: (timeRanges: TimeRanges) => Milliseconds;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { Milliseconds } from '@vkontakte/videoplayer-shared';
2
+ declare const _default: (timeRanges: TimeRanges, position: Milliseconds) => boolean;
3
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { Nullable } from '@vkontakte/videoplayer-shared';
2
+ export declare const changePlaybackRate: (element: Nullable<HTMLVideoElement>, targetPlaybackRate: number) => void;
@@ -0,0 +1,2 @@
1
+ declare const _default: (url: string) => string;
2
+ export default _default;
@@ -0,0 +1 @@
1
+ export declare const isInPiP: () => boolean;
@@ -0,0 +1,2 @@
1
+ export declare const getOrigin: (link: string) => string;
2
+ export declare const getHost: (link: string) => string;
@@ -0,0 +1,8 @@
1
+ export declare const getWindowMediaSource: () => {
2
+ new (): MediaSource;
3
+ prototype: MediaSource;
4
+ isTypeSupported(type: string): boolean;
5
+ };
6
+ export declare const isManagedMediaSourceSupported: () => boolean;
7
+ export declare const isMediaSourceSupported: () => boolean;
8
+ export declare const getMediaSource: () => MediaSource | ManagedMediaSource;
@@ -0,0 +1,3 @@
1
+ import { IObservable } from '@vkontakte/videoplayer-shared';
2
+ declare const observeElementVisibility: (element: Element, options?: IntersectionObserverInit) => IObservable<boolean>;
3
+ export default observeElementVisibility;
@@ -0,0 +1,12 @@
1
+ import { IEmitter } from '@vkontakte/videoplayer-shared';
2
+ declare let store: Record<string, any>;
3
+ export declare const setEnabled: (value: boolean) => void;
4
+ export declare const clear: () => void;
5
+ export declare const dump: (receiver: (value: typeof store) => void) => void;
6
+ export declare const storeMeta: (name: string, value: unknown) => void;
7
+ export declare class TimeSeries<Value> implements IEmitter<Value> {
8
+ private name;
9
+ constructor(name: string);
10
+ next(value: Value): void;
11
+ }
12
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { IValueSubject } from '@vkontakte/videoplayer-shared';
2
+ import type { IStateMachine } from '../utils/StateMachine/types';
3
+ export declare const setStateWithSubscribe: <State, Value>(nextState: State | undefined, currentState: IStateMachine<State | undefined>, availableValues: IValueSubject<Value[]> | undefined, predicate: (value: Value) => boolean) => void;
@@ -0,0 +1,18 @@
1
+ import { ISmoothedValue, IParams } from '../../utils/smoothedValue/types';
2
+ import { IValueSubject } from '@vkontakte/videoplayer-shared';
3
+ export declare abstract class BaseSmoothedValue implements ISmoothedValue {
4
+ private prevReported;
5
+ private rawSeries$;
6
+ private smoothedSeries$;
7
+ private reportedSeries$;
8
+ protected smoothed: number;
9
+ protected pastMeasures: number[];
10
+ protected takenMeasures: number;
11
+ protected measuresCursor: number;
12
+ protected params: IParams;
13
+ smoothed$: IValueSubject<number>;
14
+ debounced$: IValueSubject<number>;
15
+ constructor(params: IParams);
16
+ protected abstract updateSmoothedValue(value: number): void;
17
+ next(value: number): void;
18
+ }
@@ -0,0 +1,7 @@
1
+ import { IEmaAndMaParams } from '../../utils/smoothedValue/types';
2
+ import { BaseSmoothedValue } from '../../utils/smoothedValue/baseSmoothedValue';
3
+ export declare class EmaAndMaSmoothedValue extends BaseSmoothedValue {
4
+ private emaSmoothed;
5
+ constructor(params: IEmaAndMaParams);
6
+ protected updateSmoothedValue(value: number): void;
7
+ }
@@ -0,0 +1,10 @@
1
+ import { BaseSmoothedValue } from '../../utils/smoothedValue/baseSmoothedValue';
2
+ import { IEmaTopExtremumParams } from '../../utils/smoothedValue/types';
3
+ export declare class EmaTopExtremumValue extends BaseSmoothedValue {
4
+ private readonly extremumInterval;
5
+ private furtherValues;
6
+ private currentTopExtremumValue;
7
+ constructor(params: IEmaTopExtremumParams);
8
+ next(value: number): void;
9
+ protected updateSmoothedValue(value: number): void;
10
+ }
@@ -0,0 +1,6 @@
1
+ import { ITuningConfig } from '../../utils/tuningConfig';
2
+ import { ISmoothedValue } from '../../utils/smoothedValue/types';
3
+ export declare class SmoothedValueFactory {
4
+ static getSmoothedValue(initialThroughput: number, fastDirection: 1 | -1, tuning: ITuningConfig['throughputEstimator']): ISmoothedValue;
5
+ static getLiveEstimatedDelaySmoothedValue(initialBufferLength: number, tuning: ITuningConfig['dashCmafLive']['lowLatency']['delayEstimator']): ISmoothedValue;
6
+ }
@@ -0,0 +1,8 @@
1
+ import { ITwoEmaParams } from '../../utils/smoothedValue/types';
2
+ import { BaseSmoothedValue } from '../../utils/smoothedValue/baseSmoothedValue';
3
+ export declare class TwoEmaSmoothedValue extends BaseSmoothedValue {
4
+ private slow;
5
+ private fast;
6
+ constructor(params: ITwoEmaParams);
7
+ protected updateSmoothedValue(value: number): void;
8
+ }
@@ -0,0 +1,26 @@
1
+ import { IValueSubject } from '@vkontakte/videoplayer-shared';
2
+ export interface IParams {
3
+ initial: number;
4
+ changeThreshold: number;
5
+ deviationDepth: number;
6
+ deviationFactor: number;
7
+ label?: string;
8
+ }
9
+ export interface IEmaAndMaParams extends IParams {
10
+ emaAlpha: number;
11
+ basisTrendChangeCount: number;
12
+ }
13
+ export interface ITwoEmaParams extends IParams {
14
+ emaAlphaSlow: number;
15
+ emaAlphaFast: number;
16
+ fastDirection: 1 | -1;
17
+ }
18
+ export interface IEmaTopExtremumParams extends IParams {
19
+ emaAlpha: number;
20
+ extremumInterval: number;
21
+ }
22
+ export interface ISmoothedValue {
23
+ smoothed$: IValueSubject<number>;
24
+ debounced$: IValueSubject<number>;
25
+ next(value: number): void;
26
+ }
@@ -0,0 +1,3 @@
1
+ export declare const ema: (prev: number, value: number, alpha: number) => number;
2
+ export declare const ma: (measures: number[], takenMeasures: number) => number;
3
+ export declare const isChangingTrend: (measures: number[], takenMeasures: number, measuresCursor: number, basisTrendChangeCount: number) => boolean;
@@ -0,0 +1,164 @@
1
+ import { VideoFormat } from '../player/types';
2
+ import { WebmCodecStrategy } from '../enums/WebmCodecStrategy';
3
+ import { AndroidPreferredFormat } from '../enums/AndroidPreferredFormat';
4
+ import { Byte, type ExactVideoQuality, Milliseconds, RecursivePartial, VideoQuality } from '@vkontakte/videoplayer-shared';
5
+ export type ITuningConfig = {
6
+ configName: string[];
7
+ throughputEstimator: {
8
+ type: 'TwoEma' | 'EmaAndMa';
9
+ emaAlphaSlow: number;
10
+ emaAlphaFast: number;
11
+ emaAlpha: number;
12
+ basisTrendChangeCount: number;
13
+ changeThreshold: number;
14
+ useBrowserEstimation: boolean;
15
+ rttPenaltyRequestSize: Byte;
16
+ streamMinSampleSize: Byte;
17
+ streamMinSampleTime: Milliseconds;
18
+ deviationDepth: number;
19
+ deviationFactor: number;
20
+ lowLatency: {
21
+ continuesByteSequenceInterval: Milliseconds;
22
+ };
23
+ };
24
+ autoTrackSelection: {
25
+ bitrateFactorAtEmptyBuffer: number;
26
+ bitrateFactorAtFullBuffer: number;
27
+ limitByContainer: boolean;
28
+ usePixelRatio: boolean;
29
+ containerSizeFactor: number;
30
+ lazyQualitySwitch: boolean;
31
+ minBufferToSwitchUp: number;
32
+ considerPlaybackRate: boolean;
33
+ trackCooldown: Milliseconds;
34
+ backgroundVideoQualityLimit: VideoQuality;
35
+ activeVideoAreaThreshold: number;
36
+ };
37
+ droppedFramesChecker: {
38
+ enabled: boolean;
39
+ percentLimit: number;
40
+ checkTime: number;
41
+ countLimit: number;
42
+ tickCountAfterQualityChange: number;
43
+ qualityUpWaitingTime: number;
44
+ minQualityBanLimit: ExactVideoQuality;
45
+ };
46
+ dash: {
47
+ /** @deprecated */
48
+ forwardBufferTarget: Milliseconds;
49
+ forwardBufferTargetAuto: Milliseconds;
50
+ forwardBufferTargetManual: Milliseconds;
51
+ forwardBufferTargetPreload: Milliseconds;
52
+ maxSegmentDurationLeftToSelectNextSegment: Milliseconds;
53
+ minSafeBufferThreshold: number;
54
+ bufferPruningSafeZone: Milliseconds;
55
+ segmentRequestSize: Byte;
56
+ representationSwitchForwardBufferGap: Milliseconds;
57
+ crashOnStallTimeout: Milliseconds;
58
+ enableSubSegmentBufferFeeding: boolean;
59
+ segmentTimelineTolerance: Milliseconds;
60
+ useFetchPriorityHints: boolean;
61
+ };
62
+ dashCmafLive: {
63
+ maxActiveLiveOffset: Milliseconds;
64
+ normalizedTargetMinBufferSize: Milliseconds;
65
+ normalizedLiveMinBufferSize: Milliseconds;
66
+ normalizedActualBufferOffset: Milliseconds;
67
+ offsetCalculationError: Milliseconds;
68
+ lowLatency: {
69
+ maxTargetOffset: Milliseconds;
70
+ maxTargetOffsetDeviation: Milliseconds;
71
+ playbackCatchupSpeedup: number;
72
+ isActive: boolean;
73
+ delayEstimator: {
74
+ emaAlpha: number;
75
+ changeThreshold: number;
76
+ deviationDepth: number;
77
+ deviationFactor: number;
78
+ extremumInterval: number;
79
+ };
80
+ };
81
+ };
82
+ downloadBackoff: {
83
+ bufferThreshold: Milliseconds;
84
+ start: Milliseconds;
85
+ factor: number;
86
+ max: Milliseconds;
87
+ random: number;
88
+ };
89
+ live: {
90
+ minBuffer: Milliseconds;
91
+ minBufferSegments: number;
92
+ lowLatencyMinBuffer: Milliseconds;
93
+ lowLatencyMinBufferSegments: number;
94
+ lowLatencyActiveLiveDelay: Milliseconds;
95
+ activeLiveDelay: Milliseconds;
96
+ isLiveCatchUpMode: boolean;
97
+ /**
98
+ * Максимальное общее время нахождения на паузе, при котором воспроизведение можно продолжить без перезагрузки потока.
99
+ * Время всех "пауз" суммируется до тех пор, пока не превысит этот лимит.
100
+ * В случае превышения лимита при продолжении воспроизведения поток будет перезапущен с пересчитанным `offset`.
101
+ */
102
+ maxPausedTime: number;
103
+ };
104
+ enableWakeLock: boolean;
105
+ enableTelemetryAtStart: boolean;
106
+ forceFormat: VideoFormat | undefined;
107
+ formatsToAvoid: VideoFormat[];
108
+ disableChromecast: boolean;
109
+ chromecastReceiverId: string | undefined;
110
+ /** @deprecated */
111
+ useWebmBigRequest: boolean;
112
+ webmCodec: WebmCodecStrategy;
113
+ androidPreferredFormat: AndroidPreferredFormat;
114
+ preferCMAF: boolean;
115
+ preferWebRTC: boolean;
116
+ bigRequestMinInitSize: Byte;
117
+ bigRequestMinDataSize: Byte;
118
+ stripRangeHeader: boolean;
119
+ flushShortLoopedBuffers: boolean;
120
+ insufficientBufferRuleMargin: Milliseconds;
121
+ dashSeekInSegmentDurationThreshold: Milliseconds;
122
+ dashSeekInSegmentAlwaysSeekDelta: Milliseconds;
123
+ endGapTolerance: Milliseconds;
124
+ stallIgnoreThreshold: Milliseconds;
125
+ gapWatchdogInterval: Milliseconds;
126
+ requestQuick: boolean;
127
+ useHlsJs: boolean;
128
+ useDashAbortPartiallyFedSegment: boolean;
129
+ useNativeHLSTextTracks: boolean;
130
+ useManagedMediaSource: boolean;
131
+ isAudioDisabled: boolean;
132
+ autoplayOnlyInActiveTab: boolean;
133
+ dynamicImportTimeout: Milliseconds;
134
+ maxPlaybackTransitionInterval: Milliseconds;
135
+ providerErrorLimit: number;
136
+ manifestRetryInterval: number;
137
+ manifestRetryMaxInterval: number;
138
+ manifestRetryMaxCount: number;
139
+ webrtc: {
140
+ connectionRetryMaxNumber: number;
141
+ };
142
+ spherical: {
143
+ enabled: boolean;
144
+ fov: {
145
+ x: number;
146
+ y: number;
147
+ };
148
+ orientation?: {
149
+ x: number;
150
+ y: number;
151
+ z: number;
152
+ };
153
+ rotationSpeed: number;
154
+ maxYawAngle: number;
155
+ rotationSpeedCorrection: number;
156
+ degreeToPixelCorrection: number;
157
+ speedFadeTime: Milliseconds;
158
+ speedFadeThreshold: Milliseconds;
159
+ };
160
+ };
161
+ export type IOptionalTuningConfig = RecursivePartial<ITuningConfig> & {
162
+ configName: ITuningConfig['configName'];
163
+ };
164
+ export declare const fillDefault: (partial: IOptionalTuningConfig) => ITuningConfig;
@@ -0,0 +1,2 @@
1
+ import { VideoFormat } from '../player/types';
2
+ export declare const isLiveFormat: (format: VideoFormat) => boolean;