@vkontakte/videoplayer-core 2.0.155 → 2.0.156-dev.04ce2cd1.0

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 (185) hide show
  1. package/es2015.cjs +83 -136
  2. package/es2015.esm.js +77 -130
  3. package/es2018.cjs +77 -130
  4. package/es2018.esm.js +75 -128
  5. package/es2024.cjs +83 -136
  6. package/es2024.esm.js +81 -134
  7. package/esnext.cjs +83 -136
  8. package/esnext.esm.js +81 -134
  9. package/evergreen.esm.js +82 -135
  10. package/package.json +2 -2
  11. package/types/enums/AndroidPreferredFormat.d.ts +6 -6
  12. package/types/enums/IOSPreferredFormat.d.ts +2 -2
  13. package/types/enums/WebmCodecStrategy.d.ts +5 -5
  14. package/types/index.d.ts +16 -13
  15. package/types/player/Player.d.ts +219 -210
  16. package/types/player/types.d.ts +595 -591
  17. package/types/player/utils/optimisticPosition.d.ts +7 -7
  18. package/types/player/utils/selectContainer.d.ts +1 -1
  19. package/types/providers/ChromecastPresentationApiProvider/ChromecastPresentationApiConnector.d.ts +107 -106
  20. package/types/providers/ChromecastPresentationApiProvider/ChromecastPresentationApiInitializer.d.ts +23 -23
  21. package/types/providers/ChromecastPresentationApiProvider/ChromecastPresentationApiProvider.d.ts +34 -34
  22. package/types/providers/ChromecastPresentationApiProvider/ProgressTicker.d.ts +9 -9
  23. package/types/providers/ChromecastPresentationApiProvider/index.d.ts +3 -3
  24. package/types/providers/ChromecastPresentationApiProvider/types.d.ts +31 -31
  25. package/types/providers/ChromecastPresentationApiProvider/utils.d.ts +1 -1
  26. package/types/providers/ChromecastProvider/ChromecastInitializer/index.d.ts +22 -22
  27. package/types/providers/ChromecastProvider/ChromecastInitializer/types.d.ts +22 -22
  28. package/types/providers/ChromecastProvider/index.d.ts +23 -23
  29. package/types/providers/ChromecastProvider/types.d.ts +7 -7
  30. package/types/providers/ChromecastProvider/utils.d.ts +1 -1
  31. package/types/providers/DashLiveProvider/DashLiveProvider.d.ts +33 -33
  32. package/types/providers/DashLiveProvider/index.d.ts +1 -1
  33. package/types/providers/DashLiveProvider/types.d.ts +17 -17
  34. package/types/providers/DashLiveProvider/utils/FilesFetcher.d.ts +23 -23
  35. package/types/providers/DashLiveProvider/utils/LiveDashPlayer.d.ts +149 -150
  36. package/types/providers/DashLiveProvider/utils/ThroughputEstimator.d.ts +12 -30
  37. package/types/providers/DashLiveProvider/utils/liveDashPlayerUtil.d.ts +19 -22
  38. package/types/providers/DashProvider/baseDashProvider.d.ts +57 -56
  39. package/types/providers/DashProvider/dashCmafLiveProvider.d.ts +6 -6
  40. package/types/providers/DashProvider/dashProvider.d.ts +4 -4
  41. package/types/providers/DashProvider/index.d.ts +2 -2
  42. package/types/providers/DashProvider/lib/ElementSizeManager.d.ts +14 -14
  43. package/types/providers/DashProvider/lib/LiveTextManager.d.ts +21 -21
  44. package/types/providers/DashProvider/lib/buffer.d.ts +123 -122
  45. package/types/providers/DashProvider/lib/fetcher.d.ts +70 -69
  46. package/types/providers/DashProvider/lib/player.d.ts +109 -107
  47. package/types/providers/DashProvider/lib/sourceBufferTaskQueue.d.ts +17 -17
  48. package/types/providers/DashProvider/lib/types.d.ts +20 -20
  49. package/types/providers/DashProvider/lib/utils.d.ts +4 -4
  50. package/types/providers/DashProviderVirtual/baseDashProvider.d.ts +58 -57
  51. package/types/providers/DashProviderVirtual/consts.d.ts +2 -2
  52. package/types/providers/DashProviderVirtual/dashCmafLiveProvider.d.ts +8 -8
  53. package/types/providers/DashProviderVirtual/dashProvider.d.ts +6 -6
  54. package/types/providers/DashProviderVirtual/index.d.ts +2 -2
  55. package/types/providers/DashProviderVirtual/lib/ElementSizeManager.d.ts +15 -14
  56. package/types/providers/DashProviderVirtual/lib/LiveTextManager.d.ts +21 -21
  57. package/types/providers/DashProviderVirtual/lib/buffer/nativeBufferManager.d.ts +17 -17
  58. package/types/providers/DashProviderVirtual/lib/buffer/sourceBufferTaskQueue.d.ts +17 -17
  59. package/types/providers/DashProviderVirtual/lib/buffer/types.d.ts +39 -39
  60. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/baseVirtualBufferManager.d.ts +94 -92
  61. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/byteRangeVirtualBufferManager.d.ts +19 -19
  62. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/liveVirtualBuffer.d.ts +25 -25
  63. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/templateVirtualBufferManager.d.ts +19 -19
  64. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/virtualBufferFactory.d.ts +4 -4
  65. package/types/providers/DashProviderVirtual/lib/fetcher.d.ts +68 -67
  66. package/types/providers/DashProviderVirtual/lib/player/basePlayer.d.ts +103 -100
  67. package/types/providers/DashProviderVirtual/lib/player/livePlayer.d.ts +34 -34
  68. package/types/providers/DashProviderVirtual/lib/player/player.d.ts +9 -9
  69. package/types/providers/DashProviderVirtual/lib/player/types.d.ts +13 -13
  70. package/types/providers/DashProviderVirtual/lib/types.d.ts +20 -20
  71. package/types/providers/DashProviderVirtual/lib/utils.d.ts +4 -4
  72. package/types/providers/HlsLiveProvider/LiveTextManager.d.ts +35 -35
  73. package/types/providers/HlsLiveProvider/index.d.ts +29 -28
  74. package/types/providers/HlsLiveProvider/seekBackTimeExtractor.d.ts +1 -1
  75. package/types/providers/HlsProvider/index.d.ts +19 -19
  76. package/types/providers/HlsProvider/manifestDataExtractor.d.ts +13 -13
  77. package/types/providers/MpegProvider/index.d.ts +17 -17
  78. package/types/providers/ProviderContainer/index.d.ts +47 -45
  79. package/types/providers/ProviderContainer/types.d.ts +16 -16
  80. package/types/providers/ProviderContainer/utils/formatsSupport.d.ts +9 -9
  81. package/types/providers/ProviderContainer/utils/playbackHangup.d.ts +9 -8
  82. package/types/providers/WebRTCLiveProvider/WebRTCLiveClient.d.ts +185 -185
  83. package/types/providers/WebRTCLiveProvider/WebRTCLiveProvider.d.ts +58 -57
  84. package/types/providers/WebRTCLiveProvider/interface/WebRTCLiveClientOptions.d.ts +6 -6
  85. package/types/providers/types.d.ts +103 -102
  86. package/types/providers/utils/HTMLVideoElement/DroppedFramesManager.d.ts +40 -39
  87. package/types/providers/utils/HTMLVideoElement/TextTrackManager.d.ts +28 -28
  88. package/types/providers/utils/HTMLVideoElement/forcePlay.d.ts +5 -5
  89. package/types/providers/utils/HTMLVideoElement/observable.d.ts +25 -25
  90. package/types/providers/utils/HTMLVideoElement/pool.d.ts +5 -4
  91. package/types/providers/utils/LiveOffset/index.d.ts +12 -12
  92. package/types/providers/utils/LiveOffset/types.d.ts +8 -8
  93. package/types/providers/utils/StallsManager.d.ts +49 -49
  94. package/types/providers/utils/debug.d.ts +13 -12
  95. package/types/providers/utils/extractConnectionHeaders.d.ts +3 -3
  96. package/types/providers/utils/generateLiveUrl.d.ts +4 -4
  97. package/types/providers/utils/guessNetworkErrorCause.d.ts +1 -1
  98. package/types/providers/utils/mergeIntervals.d.ts +1 -1
  99. package/types/providers/utils/okQualityStringToVideoQuality.d.ts +1 -1
  100. package/types/providers/utils/parsers/ietf/index.d.ts +8 -8
  101. package/types/providers/utils/parsers/index.d.ts +1 -1
  102. package/types/providers/utils/parsers/mpd.d.ts +1 -1
  103. package/types/providers/utils/parsers/mpeg/BoxModel.d.ts +18 -17
  104. package/types/providers/utils/parsers/mpeg/BoxParser.d.ts +15 -15
  105. package/types/providers/utils/parsers/mpeg/BoxTypeEnum.d.ts +27 -27
  106. package/types/providers/utils/parsers/mpeg/box.d.ts +68 -68
  107. package/types/providers/utils/parsers/mpeg/boxes/avc1.d.ts +5 -5
  108. package/types/providers/utils/parsers/mpeg/boxes/equi.d.ts +18 -18
  109. package/types/providers/utils/parsers/mpeg/boxes/ftyp.d.ts +14 -14
  110. package/types/providers/utils/parsers/mpeg/boxes/index.d.ts +27 -26
  111. package/types/providers/utils/parsers/mpeg/boxes/mdat.d.ts +12 -12
  112. package/types/providers/utils/parsers/mpeg/boxes/mdia.d.ts +5 -5
  113. package/types/providers/utils/parsers/mpeg/boxes/mfhd.d.ts +8 -8
  114. package/types/providers/utils/parsers/mpeg/boxes/minf.d.ts +5 -5
  115. package/types/providers/utils/parsers/mpeg/boxes/moof.d.ts +5 -5
  116. package/types/providers/utils/parsers/mpeg/boxes/moov.d.ts +5 -5
  117. package/types/providers/utils/parsers/mpeg/boxes/mvhd.d.ts +32 -32
  118. package/types/providers/utils/parsers/mpeg/boxes/prhd.d.ts +13 -13
  119. package/types/providers/utils/parsers/mpeg/boxes/proj.d.ts +5 -5
  120. package/types/providers/utils/parsers/mpeg/boxes/sidx.d.ts +43 -43
  121. package/types/providers/utils/parsers/mpeg/boxes/st3d.d.ts +16 -16
  122. package/types/providers/utils/parsers/mpeg/boxes/stbl.d.ts +5 -5
  123. package/types/providers/utils/parsers/mpeg/boxes/stsd.d.ts +8 -8
  124. package/types/providers/utils/parsers/mpeg/boxes/sv3d.d.ts +5 -5
  125. package/types/providers/utils/parsers/mpeg/boxes/tfdt.d.ts +14 -14
  126. package/types/providers/utils/parsers/mpeg/boxes/tfhd.d.ts +19 -19
  127. package/types/providers/utils/parsers/mpeg/boxes/tkhd.d.ts +39 -39
  128. package/types/providers/utils/parsers/mpeg/boxes/traf.d.ts +5 -5
  129. package/types/providers/utils/parsers/mpeg/boxes/trak.d.ts +5 -5
  130. package/types/providers/utils/parsers/mpeg/boxes/trun.d.ts +28 -28
  131. package/types/providers/utils/parsers/mpeg/boxes/unknown.d.ts +4 -5
  132. package/types/providers/utils/parsers/mpeg/boxes/uuid.d.ts +10 -10
  133. package/types/providers/utils/parsers/mpeg/fullBox.d.ts +12 -12
  134. package/types/providers/utils/parsers/mpeg/isobmff.d.ts +7 -7
  135. package/types/providers/utils/parsers/types.d.ts +137 -139
  136. package/types/providers/utils/parsers/webm/ebml.d.ts +62 -62
  137. package/types/providers/utils/parsers/webm/webm.d.ts +1 -1
  138. package/types/providers/utils/restorePlaybackRateInSafari.d.ts +17 -17
  139. package/types/providers/utils/syncDesiredState.d.ts +10 -10
  140. package/types/providers/utils/syncPlaybackState.d.ts +2 -2
  141. package/types/providers/utils/videoStreamRepresentaionsFilter.d.ts +2 -2
  142. package/types/utils/3d/Camera3D.d.ts +11 -11
  143. package/types/utils/3d/CameraRotationManager.d.ts +59 -59
  144. package/types/utils/3d/Scene3D.d.ts +129 -129
  145. package/types/utils/3d/types.d.ts +14 -14
  146. package/types/utils/ClientChecker/ClientChecker.d.ts +19 -19
  147. package/types/utils/ClientChecker/index.d.ts +2 -2
  148. package/types/utils/ClientChecker/services/AudioChecker.d.ts +7 -7
  149. package/types/utils/ClientChecker/services/BrowserChecker.d.ts +36 -36
  150. package/types/utils/ClientChecker/services/DeviceChecker.d.ts +38 -38
  151. package/types/utils/ClientChecker/services/DisplayChecker.d.ts +20 -20
  152. package/types/utils/ClientChecker/services/VideoChecker.d.ts +35 -35
  153. package/types/utils/ClientChecker/types/checker.d.ts +1 -1
  154. package/types/utils/ClientChecker/types/currentClientBrowser.d.ts +10 -10
  155. package/types/utils/ClientChecker/types/currentClientDevice.d.ts +8 -8
  156. package/types/utils/ClientChecker/types/userAgentData.d.ts +21 -21
  157. package/types/utils/StateMachine/StateMachine.d.ts +17 -17
  158. package/types/utils/StateMachine/types.d.ts +56 -56
  159. package/types/utils/StatefulIterator/index.d.ts +13 -13
  160. package/types/utils/ThroughputEstimator.d.ts +22 -22
  161. package/types/utils/VolumeMultiplierManager/VolumeMultiplierManager.d.ts +20 -20
  162. package/types/utils/VolumeMultiplierManager/index.d.ts +1 -1
  163. package/types/utils/autoSelectTrack.d.ts +28 -27
  164. package/types/utils/buffer/createTimeRanges.d.ts +2 -1
  165. package/types/utils/buffer/getBufferedRangeForPosition.d.ts +2 -2
  166. package/types/utils/buffer/getForwardBufferDuration.d.ts +1 -1
  167. package/types/utils/buffer/getTotalBufferDuration.d.ts +1 -1
  168. package/types/utils/buffer/isPositionBuffered.d.ts +1 -1
  169. package/types/utils/buffer/isSourceBufferValid.d.ts +1 -1
  170. package/types/utils/changePlaybackRate.d.ts +1 -1
  171. package/types/utils/decodingInfoLogger.d.ts +1 -1
  172. package/types/utils/mediaSource.d.ts +1 -5
  173. package/types/utils/observeElementVisibility.d.ts +1 -1
  174. package/types/utils/playbackTelemetry.d.ts +4 -4
  175. package/types/utils/playerOptions.d.ts +3 -3
  176. package/types/utils/qualityLimits.d.ts +15 -14
  177. package/types/utils/setStateWithSubscribe.d.ts +6 -3
  178. package/types/utils/smoothedValue/baseSmoothedValue.d.ts +16 -16
  179. package/types/utils/smoothedValue/emaAndMaSmoothedValue.d.ts +5 -5
  180. package/types/utils/smoothedValue/emaTopExtremumValue.d.ts +8 -8
  181. package/types/utils/smoothedValue/smoothedValueFactory.d.ts +4 -4
  182. package/types/utils/smoothedValue/twoEmaSmoothedValue.d.ts +6 -6
  183. package/types/utils/smoothedValue/types.d.ts +16 -16
  184. package/types/utils/tuningConfig.d.ts +304 -287
  185. package/types/utils/videoFormat.d.ts +1 -1
@@ -1,291 +1,308 @@
1
- import { VideoCodec, VideoFormat } from '../player/types';
2
- import { WebmCodecStrategy } from '../enums/WebmCodecStrategy';
3
- import { AndroidPreferredFormat } from '../enums/AndroidPreferredFormat';
4
- import { IOSPreferredFormat } from '../enums/IOSPreferredFormat';
5
- import { Byte, type ExactVideoQuality, Milliseconds, RecursivePartial, Seconds, VideoQuality } from '@vkontakte/videoplayer-shared';
1
+ import type { VideoCodec, VideoFormat } from "../player/types";
2
+ import { WebmCodecStrategy } from "../enums/WebmCodecStrategy";
3
+ import { AndroidPreferredFormat } from "../enums/AndroidPreferredFormat";
4
+ import { IOSPreferredFormat } from "../enums/IOSPreferredFormat";
5
+ import type { Byte, Milliseconds, RecursivePartial, Seconds } from "@vkontakte/videoplayer-shared";
6
+ import { type ExactVideoQuality, VideoQuality } from "@vkontakte/videoplayer-shared";
6
7
  export type ITuningConfig = {
7
- /** @deprecated */
8
- configName?: string[];
9
- /**
10
- * Если true, внутренний video элемент не будет уничтожаться при реините провайдера
11
- * и при создании нового экземляра Player.
12
- * Будет веcти себя аналогично элементу переданному снаружи
13
- */
14
- keepVideoElement: boolean;
15
- /**
16
- * Временный флаг для тестирования очистки video элемента
17
- * Если true, при очистке будет вызван innerHTML = '' для очистки дочерних элементов трэков
18
- * В противном случае они размножаются
19
- */
20
- clearVideoElementInnerHTML: boolean;
21
- throughputEstimator: {
22
- type: 'TwoEma' | 'EmaAndMa';
23
- emaAlphaSlow: number;
24
- emaAlphaFast: number;
25
- emaAlpha: number;
26
- basisTrendChangeCount: number;
27
- changeThreshold: number;
28
- useBrowserEstimation: boolean;
29
- rttPenaltyRequestSize: Byte;
30
- streamMinSampleSize: Byte;
31
- streamMinSampleTime: Milliseconds;
32
- deviationDepth: number;
33
- deviationFactor: number;
34
- lowLatency: {
35
- continuesByteSequenceInterval: Milliseconds;
36
- maxLastEvaluationTimeout: Milliseconds;
37
- };
38
- };
39
- autoTrackSelection: {
40
- bitrateFactorAtEmptyBuffer: number;
41
- minBitrateFactorAtEmptyBuffer: number;
42
- maxBitrateFactorAtEmptyBuffer: number;
43
- bitrateAudioFactorAtEmptyBuffer: number;
44
- bitrateFactorAtFullBuffer: number;
45
- minBitrateFactorAtFullBuffer: number;
46
- maxBitrateFactorAtFullBuffer: number;
47
- bitrateAudioFactorAtFullBuffer: number;
48
- minVideoAudioRatio: number;
49
- minAvailableThroughputAudioRatio: number;
50
- limitByContainer: boolean;
51
- usePixelRatio: boolean;
52
- /** @deprecated */
53
- pixelRatioMultiplier?: number;
54
- pixelRatioLogBase: number;
55
- pixelRatioLogCoefficients: number[];
56
- containerSizeFactor: number;
57
- minContainerSizeFactor: number;
58
- maxContainerSizeFactor: number;
59
- lazyQualitySwitch: boolean;
60
- minBufferToSwitchUp: number;
61
- considerPlaybackRate: boolean;
62
- trackCooldownIncreaseQuality: Milliseconds;
63
- trackCooldownDecreaseQuality: Milliseconds;
64
- backgroundVideoQualityLimit: VideoQuality;
65
- activeVideoAreaThreshold: number;
66
- trafficSavingLimit: ExactVideoQuality;
67
- highQualityLimit: ExactVideoQuality;
68
- };
69
- stallsManager: {
70
- enabled: boolean;
71
- ignoreDynamicAbrForShortVideo: boolean;
72
- stallDurationNoDataBeforeQualityDecrease: Milliseconds;
73
- stallDurationToBeCount: Milliseconds;
74
- stallCountBeforeQualityDecrease: Milliseconds;
75
- resetQualityRestrictionTimeout: Milliseconds;
76
- ignoreStallsOnSeek: boolean;
77
- stallsMetricsHistoryLength: number;
78
- maxPossibleStallDuration: Milliseconds;
79
- minTvtToBeCounted: Seconds;
80
- maxTvtToBeCounted: Seconds;
81
- significantTvt: Seconds;
82
- targetStallsDurationPerTvt: number;
83
- deviationStallsDurationPerTvt: number;
84
- criticalStallsDurationPerTvt: number;
85
- abrAdjustingSpeed: number;
86
- emaAlpha: number;
87
- useTotalStallsDurationPerTvt: boolean;
88
- useAverageStallsDurationPerTvt: boolean;
89
- useEmaStallsDurationPerTvt: boolean;
90
- };
91
- droppedFramesChecker: {
92
- enabled: boolean;
93
- percentLimit: number;
94
- checkTime: number;
95
- countLimit: number;
96
- tickCountAfterQualityChange: number;
97
- qualityUpWaitingTime: number;
98
- minQualityBanLimit: ExactVideoQuality;
99
- };
100
- dash: {
101
- /** @deprecated */
102
- forwardBufferTarget: Milliseconds;
103
- forwardBufferTargetAuto: Milliseconds;
104
- forwardBufferTargetManual: Milliseconds;
105
- forwardBufferTargetPreload: Milliseconds;
106
- seekBiasInTheEnd: Milliseconds;
107
- maxSegmentDurationLeftToSelectNextSegment: Milliseconds;
108
- minSafeBufferThreshold: number;
109
- bufferPruningSafeZone: Milliseconds;
110
- segmentRequestSize: Byte;
111
- maxVirtualBufferSize: Byte;
112
- virtualBufferPruneSize: Byte;
113
- representationSwitchForwardBufferGap: Milliseconds;
114
- crashOnStallTimeout: Milliseconds;
115
- crashOnStallTWithoutDataTimeout: Milliseconds;
116
- enableSubSegmentBufferFeeding: boolean;
117
- bufferEmptinessTolerance: Milliseconds;
118
- useNewRepresentationSwitch: boolean;
119
- useDelayedRepresentationSwitch: boolean;
120
- useSmartRepresentationSwitch: boolean;
121
- useFetchPriorityHints: boolean;
122
- useAbortMSEFix: boolean;
123
- enableBaseUrlSupport: boolean;
124
- maxSegmentRetryCount: number;
125
- sourceOpenTimeout: number;
126
- vktvAbrThrottle: number;
127
- timeupdateEventTickThrottle: number;
128
- fetcherBufferOptimisation: boolean;
129
- codecsPrioritizeEnabled: boolean;
130
- usePersistentGaps: boolean;
131
- abrThrottle: number;
132
- useVideoElementWaitingCurrentTimeReassign: boolean;
133
- stallWatchdogInterval: Milliseconds;
134
- liveUpdateInterval: Milliseconds;
135
- liveStallReinitInterval: Milliseconds;
136
- ignoreNetworkErrorsOnLoadInit: boolean;
137
- bufferTolerance: Milliseconds;
138
- actionTimeShiftFromSegment: Milliseconds;
139
- tickMaintainInterval: Milliseconds;
140
- minSafeBufferToPlay: Milliseconds;
141
- useBufferHoldingOnlyOnStall: boolean;
142
- useNewStallExitPolicy: boolean;
143
- videoStreamRepresentaionsFilter: [VideoQuality, number, VideoCodec][];
144
- };
145
- dashCmafLive: {
146
- externalStopControl: boolean;
147
- keepSilentStallWatchdogWhenNotActive: boolean;
148
- maxActiveLiveOffset: Milliseconds;
149
- normalizedTargetMinBufferSize: Milliseconds;
150
- normalizedLiveMinBufferSize: Milliseconds;
151
- normalizedActualBufferOffset: Milliseconds;
152
- offsetCalculationError: Milliseconds;
153
- maxLiveDuration: Seconds;
154
- catchupLiveForMutedInactiveTab: boolean;
155
- lowLatency: {
156
- maxTargetOffset: Milliseconds;
157
- maxTargetOffsetDeviation: Milliseconds;
158
- playbackCatchupSpeedup: number;
159
- isActiveOnDefault: boolean;
160
- bufferEstimator: {
161
- emaAlpha: number;
162
- changeThreshold: number;
163
- deviationDepth: number;
164
- deviationFactor: number;
165
- extremumInterval: number;
166
- };
167
- };
168
- };
169
- downloadBackoff: {
170
- bufferThreshold: Milliseconds;
171
- start: Milliseconds;
172
- factor: number;
173
- max: Milliseconds;
174
- random: number;
175
- };
176
- live: {
177
- minBuffer: Milliseconds;
178
- minBufferSegments: number;
179
- lowLatencyMinBuffer: Milliseconds;
180
- lowLatencyMinBufferSegments: number;
181
- lowLatencyActiveLiveDelay: Milliseconds;
182
- activeLiveDelay: Milliseconds;
183
- isLiveCatchUpMode: boolean;
184
- /**
185
- * Максимальное общее время нахождения на паузе, при котором воспроизведение можно продолжить без перезагрузки потока.
186
- * Время всех "пауз" суммируется до тех пор, пока не превысит этот лимит.
187
- * В случае превышения лимита при продолжении воспроизведения поток будет перезапущен с пересчитанным `offset`.
188
- */
189
- maxPausedTime: number;
190
- };
191
- enableWakeLock: boolean;
192
- enableTelemetryAtStart: boolean;
193
- forceFormat: VideoFormat | undefined;
194
- formatsToAvoid: VideoFormat[];
195
- disableChromecast: boolean;
196
- chromecastReceiverId: string | undefined;
197
- chromecastPresentationApi: boolean;
198
- /** @deprecated */
199
- useWebmBigRequest: boolean;
200
- webmCodec: WebmCodecStrategy;
201
- androidPreferredFormat: AndroidPreferredFormat;
202
- iosPreferredFormat: IOSPreferredFormat;
203
- preferCMAF: boolean;
204
- preferWebRTC: boolean;
205
- preferMultiStream: boolean;
206
- preferHDR: boolean;
207
- bigRequestMinInitSize: Byte;
208
- bigRequestMinDataSize: Byte;
209
- stripRangeHeader: boolean;
210
- flushShortLoopedBuffers: boolean;
211
- insufficientBufferRuleMargin: Milliseconds;
212
- seekNearDurationBias: Seconds;
213
- dashSeekInSegmentDurationThreshold: Milliseconds;
214
- dashSeekInSegmentAlwaysSeekDelta: Milliseconds;
215
- endGapTolerance: Milliseconds;
216
- stallIgnoreThreshold: Milliseconds;
217
- gapWatchdogInterval: Milliseconds;
218
- requestQuick: boolean;
219
- /** @deprecated HLS.js удалён, флаг ничего не делает */
220
- useHlsJs: boolean;
221
- useNativeHLSTextTracks: boolean;
222
- useNewSwitchTo: boolean;
223
- useDashProviderVirtual: boolean;
224
- useDashProviderVirtualMobile: boolean;
225
- useNewAutoSelectVideoTrack: boolean;
226
- useSafariEndlessRequestBugfix: boolean;
227
- isAudioDisabled: boolean;
228
- autoplayOnlyInActiveTab: boolean;
229
- dynamicImportTimeout: Milliseconds;
230
- maxPlaybackTransitionInterval: Milliseconds;
231
- providerErrorLimit: number;
232
- manifestRetryInterval: number;
233
- manifestRetryMaxInterval: number;
234
- manifestRetryMaxCount: number;
235
- audioVideoSyncRate: number;
236
- webrtc: {
237
- connectionRetryMaxNumber: number;
238
- };
239
- spherical: {
240
- enabled: boolean;
241
- fov: {
242
- x: number;
243
- y: number;
244
- };
245
- orientation?: {
246
- x: number;
247
- y: number;
248
- z: number;
249
- };
250
- rotationSpeed: number;
251
- maxYawAngle: number;
252
- rotationSpeedCorrection: number;
253
- degreeToPixelCorrection: number;
254
- speedFadeTime: Milliseconds;
255
- speedFadeThreshold: Milliseconds;
256
- };
257
- useVolumeMultiplier: boolean;
258
- ignoreAudioRendererError: boolean;
259
- useEnableSubtitlesParam: boolean;
260
- useHlsLiveNewTextManager: boolean;
261
- exposeInternalsToGlobal: boolean;
262
- /**
263
- * за какое время до конца текущих скачанных субтитров
264
- * попробуем получить следующий сегмент субтитров
265
- */
266
- hlsLiveNewTextManagerDownloadThreshold: Milliseconds;
267
- /**
268
- * Отключает яндексовскую магию с пипом.
269
- */
270
- disableYandexPiP?: boolean;
271
- asyncResolveClientChecker?: boolean;
272
- autostartOnlyIfVisible?: boolean;
273
- /**
274
- * Если включен, то переключаем видео в состояние паузы при окончании видео.
275
- */
276
- changePlaybackStateToPausedWhenEnded?: boolean;
277
- suppressExceptionsInObservables?: boolean;
278
- /**
279
- * Включает логирование devNull.
280
- */
281
- devNullLogEnabled?: boolean;
282
- /**
283
- * Включает сбор данных о кодеках.
284
- */
285
- collectingDecodingInfoEnabled?: boolean;
286
- sendDashLiveDebug?: boolean;
287
- logDashLiveDebug?: boolean;
288
- useInvalidBufferFix?: boolean;
8
+ /** @deprecated */
9
+ configName?: string[];
10
+ /**
11
+ * Если true, внутренний video элемент не будет уничтожаться при реините провайдера
12
+ * и при создании нового экземляра Player.
13
+ * Будет веcти себя аналогично элементу переданному снаружи
14
+ * Для кейса прямого использовани ядра
15
+ */
16
+ keepVideoElement: boolean;
17
+ /**
18
+ * Временный флаг для тестирования очистки video элемента
19
+ * Если true, при очистке будет вызван innerHTML = '' для очистки дочерних элементов трэков
20
+ * В противном случае они размножаются
21
+ */
22
+ clearVideoElementInnerHTML: boolean;
23
+ throughputEstimator: {
24
+ type: "TwoEma" | "EmaAndMa";
25
+ emaAlphaSlow: number;
26
+ emaAlphaFast: number;
27
+ emaAlpha: number;
28
+ basisTrendChangeCount: number;
29
+ changeThreshold: number;
30
+ useBrowserEstimation: boolean;
31
+ rttPenaltyRequestSize: Byte;
32
+ streamMinSampleSize: Byte;
33
+ streamMinSampleTime: Milliseconds;
34
+ deviationDepth: number;
35
+ deviationFactor: number;
36
+ lowLatency: {
37
+ continuesByteSequenceInterval: Milliseconds;
38
+ maxLastEvaluationTimeout: Milliseconds;
39
+ };
40
+ };
41
+ autoTrackSelection: {
42
+ bitrateFactorAtEmptyBuffer: number;
43
+ minBitrateFactorAtEmptyBuffer: number;
44
+ maxBitrateFactorAtEmptyBuffer: number;
45
+ bitrateAudioFactorAtEmptyBuffer: number;
46
+ bitrateFactorAtFullBuffer: number;
47
+ minBitrateFactorAtFullBuffer: number;
48
+ maxBitrateFactorAtFullBuffer: number;
49
+ bitrateAudioFactorAtFullBuffer: number;
50
+ minVideoAudioRatio: number;
51
+ minAvailableThroughputAudioRatio: number;
52
+ limitByContainer: boolean;
53
+ usePixelRatio: boolean;
54
+ /** @deprecated */
55
+ pixelRatioMultiplier?: number;
56
+ pixelRatioLogBase: number;
57
+ pixelRatioLogCoefficients: number[];
58
+ containerSizeFactor: number;
59
+ minContainerSizeFactor: number;
60
+ maxContainerSizeFactor: number;
61
+ lazyQualitySwitch: boolean;
62
+ minBufferToSwitchUp: number;
63
+ considerPlaybackRate: boolean;
64
+ trackCooldownIncreaseQuality: Milliseconds;
65
+ trackCooldownDecreaseQuality: Milliseconds;
66
+ backgroundVideoQualityLimit: VideoQuality;
67
+ activeVideoAreaThreshold: number;
68
+ trafficSavingLimit: ExactVideoQuality;
69
+ highQualityLimit: ExactVideoQuality;
70
+ };
71
+ stallsManager: {
72
+ enabled: boolean;
73
+ ignoreDynamicAbrForShortVideo: boolean;
74
+ stallDurationNoDataBeforeQualityDecrease: Milliseconds;
75
+ stallDurationToBeCount: Milliseconds;
76
+ stallCountBeforeQualityDecrease: Milliseconds;
77
+ resetQualityRestrictionTimeout: Milliseconds;
78
+ ignoreStallsOnSeek: boolean;
79
+ stallsMetricsHistoryLength: number;
80
+ maxPossibleStallDuration: Milliseconds;
81
+ minTvtToBeCounted: Seconds;
82
+ maxTvtToBeCounted: Seconds;
83
+ significantTvt: Seconds;
84
+ targetStallsDurationPerTvt: number;
85
+ deviationStallsDurationPerTvt: number;
86
+ criticalStallsDurationPerTvt: number;
87
+ abrAdjustingSpeed: number;
88
+ emaAlpha: number;
89
+ useTotalStallsDurationPerTvt: boolean;
90
+ useAverageStallsDurationPerTvt: boolean;
91
+ useEmaStallsDurationPerTvt: boolean;
92
+ };
93
+ droppedFramesChecker: {
94
+ enabled: boolean;
95
+ percentLimit: number;
96
+ checkTime: number;
97
+ countLimit: number;
98
+ tickCountAfterQualityChange: number;
99
+ qualityUpWaitingTime: number;
100
+ minQualityBanLimit: ExactVideoQuality;
101
+ };
102
+ dash: {
103
+ /** @deprecated */
104
+ forwardBufferTarget: Milliseconds;
105
+ forwardBufferTargetAuto: Milliseconds;
106
+ forwardBufferTargetManual: Milliseconds;
107
+ forwardBufferTargetPreload: Milliseconds;
108
+ seekBiasInTheEnd: Milliseconds;
109
+ maxSegmentDurationLeftToSelectNextSegment: Milliseconds;
110
+ minSafeBufferThreshold: number;
111
+ bufferPruningSafeZone: Milliseconds;
112
+ segmentRequestSize: Byte;
113
+ maxVirtualBufferSize: Byte;
114
+ virtualBufferPruneSize: Byte;
115
+ representationSwitchForwardBufferGap: Milliseconds;
116
+ crashOnStallTimeout: Milliseconds;
117
+ crashOnStallTWithoutDataTimeout: Milliseconds;
118
+ enableSubSegmentBufferFeeding: boolean;
119
+ bufferEmptinessTolerance: Milliseconds;
120
+ useNewRepresentationSwitch: boolean;
121
+ useDelayedRepresentationSwitch: boolean;
122
+ useSmartRepresentationSwitch: boolean;
123
+ useFetchPriorityHints: boolean;
124
+ useAbortMSEFix: boolean;
125
+ enableBaseUrlSupport: boolean;
126
+ maxSegmentRetryCount: number;
127
+ sourceOpenTimeout: number;
128
+ vktvAbrThrottle: number;
129
+ timeupdateEventTickThrottle: number;
130
+ fetcherBufferOptimisation: boolean;
131
+ codecsPrioritizeEnabled: boolean;
132
+ usePersistentGaps: boolean;
133
+ abrThrottle: number;
134
+ useVideoElementWaitingCurrentTimeReassign: boolean;
135
+ stallWatchdogInterval: Milliseconds;
136
+ liveUpdateInterval: Milliseconds;
137
+ liveStallReinitInterval: Milliseconds;
138
+ ignoreNetworkErrorsOnLoadInit: boolean;
139
+ bufferTolerance: Milliseconds;
140
+ actionTimeShiftFromSegment: Milliseconds;
141
+ tickMaintainInterval: Milliseconds;
142
+ minSafeBufferToPlay: Milliseconds;
143
+ useBufferHoldingOnlyOnStall: boolean;
144
+ useNewStallExitPolicy: boolean;
145
+ videoStreamRepresentaionsFilter: [VideoQuality, number, VideoCodec][];
146
+ };
147
+ dashCmafLive: {
148
+ externalStopControl: boolean;
149
+ keepSilentStallWatchdogWhenNotActive: boolean;
150
+ maxActiveLiveOffset: Milliseconds;
151
+ normalizedTargetMinBufferSize: Milliseconds;
152
+ normalizedLiveMinBufferSize: Milliseconds;
153
+ normalizedActualBufferOffset: Milliseconds;
154
+ offsetCalculationError: Milliseconds;
155
+ maxLiveDuration: Seconds;
156
+ catchupLiveForMutedInactiveTab: boolean;
157
+ lowLatency: {
158
+ maxTargetOffset: Milliseconds;
159
+ maxTargetOffsetDeviation: Milliseconds;
160
+ playbackCatchupSpeedup: number;
161
+ isActiveOnDefault: boolean;
162
+ bufferEstimator: {
163
+ emaAlpha: number;
164
+ changeThreshold: number;
165
+ deviationDepth: number;
166
+ deviationFactor: number;
167
+ extremumInterval: number;
168
+ };
169
+ };
170
+ };
171
+ downloadBackoff: {
172
+ bufferThreshold: Milliseconds;
173
+ start: Milliseconds;
174
+ factor: number;
175
+ max: Milliseconds;
176
+ random: number;
177
+ };
178
+ live: {
179
+ minBuffer: Milliseconds;
180
+ minBufferSegments: number;
181
+ lowLatencyMinBuffer: Milliseconds;
182
+ lowLatencyMinBufferSegments: number;
183
+ lowLatencyActiveLiveDelay: Milliseconds;
184
+ activeLiveDelay: Milliseconds;
185
+ isLiveCatchUpMode: boolean;
186
+ /**
187
+ * Максимальное общее время нахождения на паузе, при котором воспроизведение можно продолжить без перезагрузки потока.
188
+ * Время всех "пауз" суммируется до тех пор, пока не превысит этот лимит.
189
+ * В случае превышения лимита при продолжении воспроизведения поток будет перезапущен с пересчитанным `offset`.
190
+ */
191
+ maxPausedTime: number;
192
+ catchupLiveForMutedInactiveTab: boolean;
193
+ };
194
+ enableWakeLock: boolean;
195
+ enableTelemetryAtStart: boolean;
196
+ forceFormat: VideoFormat | undefined;
197
+ formatsToAvoid: VideoFormat[];
198
+ disableChromecast: boolean;
199
+ chromecastReceiverId: string | undefined;
200
+ chromecastPresentationApi: boolean;
201
+ /** @deprecated */
202
+ useWebmBigRequest: boolean;
203
+ webmCodec: WebmCodecStrategy;
204
+ androidPreferredFormat: AndroidPreferredFormat;
205
+ iosPreferredFormat: IOSPreferredFormat;
206
+ preferCMAF: boolean;
207
+ preferWebRTC: boolean;
208
+ preferMultiStream: boolean;
209
+ preferHDR: boolean;
210
+ bigRequestMinInitSize: Byte;
211
+ bigRequestMinDataSize: Byte;
212
+ stripRangeHeader: boolean;
213
+ flushShortLoopedBuffers: boolean;
214
+ insufficientBufferRuleMargin: Milliseconds;
215
+ seekNearDurationBias: Seconds;
216
+ dashSeekInSegmentDurationThreshold: Milliseconds;
217
+ dashSeekInSegmentAlwaysSeekDelta: Milliseconds;
218
+ endGapTolerance: Milliseconds;
219
+ stallIgnoreThreshold: Milliseconds;
220
+ gapWatchdogInterval: Milliseconds;
221
+ requestQuick: boolean;
222
+ /** @deprecated HLS.js удалён, флаг ничего не делает */
223
+ useHlsJs: boolean;
224
+ useNativeHLSTextTracks: boolean;
225
+ useNewSwitchTo: boolean;
226
+ useDashProviderVirtual: boolean;
227
+ useDashProviderVirtualMobile: boolean;
228
+ useNewAutoSelectVideoTrack: boolean;
229
+ useSafariEndlessRequestBugfix: boolean;
230
+ isAudioDisabled: boolean;
231
+ /**
232
+ * Разрешает ядру автостарт только если страница, на которой находится плеер активна
233
+ * использует document.hidden
234
+ */
235
+ autoplayOnlyInActiveTab: boolean;
236
+ /**
237
+ * Разрешает ядру автостарт только если пдеер находится в зоне видимости
238
+ * использует requestAnimationFrame
239
+ */
240
+ autoplayOnlyIfVisible: boolean;
241
+ dynamicImportTimeout: Milliseconds;
242
+ maxPlaybackTransitionInterval: Milliseconds;
243
+ providerErrorLimit: number;
244
+ manifestRetryInterval: number;
245
+ manifestRetryMaxInterval: number;
246
+ manifestRetryMaxCount: number;
247
+ audioVideoSyncRate: number;
248
+ webrtc: {
249
+ connectionRetryMaxNumber: number;
250
+ };
251
+ spherical: {
252
+ enabled: boolean;
253
+ fov: {
254
+ x: number;
255
+ y: number;
256
+ };
257
+ orientation?: {
258
+ x: number;
259
+ y: number;
260
+ z: number;
261
+ };
262
+ rotationSpeed: number;
263
+ maxYawAngle: number;
264
+ rotationSpeedCorrection: number;
265
+ degreeToPixelCorrection: number;
266
+ speedFadeTime: Milliseconds;
267
+ speedFadeThreshold: Milliseconds;
268
+ };
269
+ useVolumeMultiplier: boolean;
270
+ ignoreAudioRendererError: boolean;
271
+ useEnableSubtitlesParam: boolean;
272
+ useHlsLiveNewTextManager: boolean;
273
+ exposeInternalsToGlobal: boolean;
274
+ /**
275
+ * за какое время до конца текущих скачанных субтитров
276
+ * попробуем получить следующий сегмент субтитров
277
+ */
278
+ hlsLiveNewTextManagerDownloadThreshold: Milliseconds;
279
+ /**
280
+ * Отключает яндексовскую магию с пипом.
281
+ */
282
+ disableYandexPiP?: boolean;
283
+ asyncResolveClientChecker?: boolean;
284
+ /**
285
+ * Если включен, то переключаем видео в состояние паузы при окончании видео.
286
+ */
287
+ changePlaybackStateToPausedWhenEnded?: boolean;
288
+ suppressExceptionsInObservables?: boolean;
289
+ /**
290
+ * Включает логирование devNull.
291
+ */
292
+ devNullLogEnabled?: boolean;
293
+ /**
294
+ * Включает сбор данных о кодеках.
295
+ */
296
+ collectingDecodingInfoEnabled?: boolean;
297
+ sendDashLiveDebug?: boolean;
298
+ logDashLiveDebug?: boolean;
299
+ useInvalidBufferFix?: boolean;
300
+ /**
301
+ * Включает режим переиспользования видеоэлемента плеера между инстансами плеера
302
+ * (нужно для передачи разрешений браузера от одного плеера другому, например: стартовать со звуком)
303
+ * (Скорее всего имеет смысл включить такой же флаг в настройках ui)
304
+ */
305
+ reuseOwnVideoElement?: boolean;
289
306
  };
290
307
  export type IOptionalTuningConfig = RecursivePartial<ITuningConfig>;
291
308
  export declare const fillDefault: (partial: IOptionalTuningConfig) => ITuningConfig;
@@ -1,4 +1,4 @@
1
- import { type ISources, VideoFormat } from '../player/types';
1
+ import { type ISources, VideoFormat } from "../player/types";
2
2
  export declare const filterAvailableFormats: (formats: VideoFormat[]) => VideoFormat[];
3
3
  export declare const isLiveFormat: (format: VideoFormat) => boolean;
4
4
  export declare const areValidLiveRecordSources: (sources: ISources) => boolean;