@vkontakte/videoplayer-core 2.0.161 → 2.0.162-beta.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 (111) hide show
  1. package/es2015.cjs +60 -34
  2. package/es2015.esm.js +71 -45
  3. package/esnext.cjs +60 -34
  4. package/esnext.esm.js +60 -34
  5. package/evergreen.esm.js +60 -34
  6. package/package.json +2 -2
  7. package/types/index.d.ts +12 -11
  8. package/types/player/Player.d.ts +2 -2
  9. package/types/player/types.d.ts +15 -4
  10. package/types/player/utils/defaults.d.ts +2 -2
  11. package/types/player/utils/optimisticPosition.d.ts +2 -2
  12. package/types/player/utils/selectContainer.d.ts +1 -1
  13. package/types/providers/ChromecastPresentationApiProvider/ChromecastPresentationApiInitializer.d.ts +1 -1
  14. package/types/providers/ChromecastProvider/ChromecastInitializer/index.d.ts +1 -1
  15. package/types/providers/ChromecastProvider/ChromecastInitializer/types.d.ts +1 -1
  16. package/types/providers/ChromecastProvider/types.d.ts +1 -1
  17. package/types/providers/DashLiveProvider/DashLiveProvider.d.ts +2 -2
  18. package/types/providers/DashLiveProvider/utils/LiveDashPlayer.d.ts +3 -3
  19. package/types/providers/DashProvider/baseDashProvider.d.ts +13 -12
  20. package/types/providers/DashProvider/lib/LiveTextManager.d.ts +1 -1
  21. package/types/providers/DashProvider/lib/buffer.d.ts +6 -3
  22. package/types/providers/DashProvider/lib/fetcher.d.ts +3 -3
  23. package/types/providers/DashProvider/lib/player.d.ts +12 -7
  24. package/types/providers/DashProvider/lib/types.d.ts +3 -3
  25. package/types/providers/DashProvider/lib/utils.d.ts +3 -3
  26. package/types/providers/DashProviderVirtual/baseDashProvider.d.ts +15 -14
  27. package/types/providers/DashProviderVirtual/dashCmafLiveProvider.d.ts +1 -1
  28. package/types/providers/DashProviderVirtual/dashProvider.d.ts +1 -1
  29. package/types/providers/DashProviderVirtual/lib/LiveTextManager.d.ts +2 -2
  30. package/types/providers/DashProviderVirtual/lib/buffer/types.d.ts +7 -3
  31. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/baseVirtualBufferManager.d.ts +9 -6
  32. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/byteRangeVirtualBufferManager.d.ts +5 -5
  33. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/liveVirtualBuffer.d.ts +5 -5
  34. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/templateVirtualBufferManager.d.ts +5 -5
  35. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/virtualBufferFactory.d.ts +3 -3
  36. package/types/providers/DashProviderVirtual/lib/fetcher.d.ts +3 -3
  37. package/types/providers/DashProviderVirtual/lib/player/basePlayer.d.ts +14 -10
  38. package/types/providers/DashProviderVirtual/lib/player/livePlayer.d.ts +8 -8
  39. package/types/providers/DashProviderVirtual/lib/player/player.d.ts +2 -2
  40. package/types/providers/DashProviderVirtual/lib/player/types.d.ts +5 -4
  41. package/types/providers/DashProviderVirtual/lib/types.d.ts +3 -3
  42. package/types/providers/DashProviderVirtual/lib/utils.d.ts +4 -4
  43. package/types/providers/HlsLiveProvider/LiveTextManager.d.ts +1 -1
  44. package/types/providers/HlsLiveProvider/index.d.ts +3 -3
  45. package/types/providers/HlsProvider/index.d.ts +2 -2
  46. package/types/providers/HlsProvider/manifestDataExtractor.d.ts +1 -1
  47. package/types/providers/MpegProvider/index.d.ts +1 -1
  48. package/types/providers/ProviderContainer/index.d.ts +5 -3
  49. package/types/providers/ProviderContainer/types.d.ts +1 -1
  50. package/types/providers/ProviderContainer/utils/formatsSupport.d.ts +11 -4
  51. package/types/providers/ProviderContainer/utils/playbackHangup.d.ts +3 -3
  52. package/types/providers/WebRTCLiveProvider/WebRTCLiveClient.d.ts +1 -1
  53. package/types/providers/WebRTCLiveProvider/WebRTCLiveProvider.d.ts +2 -2
  54. package/types/providers/types.d.ts +8 -8
  55. package/types/providers/utils/Abr/abrController.d.ts +8 -5
  56. package/types/providers/utils/Abr/abrManager.d.ts +5 -3
  57. package/types/providers/utils/Abr/controllers/abrPhaseController.d.ts +17 -0
  58. package/types/providers/utils/Abr/controllers/stallsController.d.ts +2 -2
  59. package/types/providers/utils/Abr/rules/audio/audioThroughputRule.d.ts +6 -5
  60. package/types/providers/utils/Abr/rules/audio/minAudioForVideoRule.d.ts +6 -5
  61. package/types/providers/utils/Abr/rules/audioRuleFactory.d.ts +5 -5
  62. package/types/providers/utils/Abr/rules/baseRule.d.ts +10 -6
  63. package/types/providers/utils/Abr/rules/limitAboveRule.d.ts +5 -4
  64. package/types/providers/utils/Abr/rules/limitBelowRule.d.ts +5 -4
  65. package/types/providers/utils/Abr/rules/video/abandonRequestRule.d.ts +12 -0
  66. package/types/providers/utils/Abr/rules/video/bolaRule.d.ts +31 -0
  67. package/types/providers/utils/Abr/rules/video/bufferRule.d.ts +10 -5
  68. package/types/providers/utils/Abr/rules/video/failedVideoTrackRule.d.ts +6 -5
  69. package/types/providers/utils/Abr/rules/video/fitsContainerRule.d.ts +6 -5
  70. package/types/providers/utils/Abr/rules/video/insufficientBufferRule.d.ts +15 -0
  71. package/types/providers/utils/Abr/rules/video/lowerLimitRule.d.ts +5 -4
  72. package/types/providers/utils/Abr/rules/video/stallsRule.d.ts +6 -5
  73. package/types/providers/utils/Abr/rules/video/throughputRule.d.ts +8 -7
  74. package/types/providers/utils/Abr/rules/video/upperLimitRule.d.ts +5 -4
  75. package/types/providers/utils/Abr/rules/videoRuleFactory.d.ts +4 -3
  76. package/types/providers/utils/Abr/trackHistory.d.ts +1 -1
  77. package/types/providers/utils/Abr/types.d.ts +34 -8
  78. package/types/providers/utils/Abr/utils.d.ts +3 -2
  79. package/types/providers/utils/HTMLVideoElement/DroppedFramesManager.d.ts +3 -3
  80. package/types/providers/utils/HTMLVideoElement/ElementSizeManager.d.ts +1 -1
  81. package/types/providers/utils/HTMLVideoElement/TextTrackManager.d.ts +2 -2
  82. package/types/providers/utils/HTMLVideoElement/observable.d.ts +1 -1
  83. package/types/providers/utils/HTMLVideoElement/pool.d.ts +1 -1
  84. package/types/providers/utils/StallsManager.d.ts +2 -2
  85. package/types/providers/utils/extractConnectionHeaders.d.ts +1 -1
  86. package/types/providers/utils/parsers/types.d.ts +2 -1
  87. package/types/providers/utils/syncDesiredState.d.ts +2 -2
  88. package/types/providers/utils/syncPlaybackState.d.ts +2 -2
  89. package/types/providers/utils/videoStreamRepresentaionsFilter.d.ts +1 -1
  90. package/types/utils/3d/Camera3D.d.ts +1 -1
  91. package/types/utils/3d/CameraRotationManager.d.ts +2 -2
  92. package/types/utils/3d/Scene3D.d.ts +1 -1
  93. package/types/utils/ClientChecker/services/AudioChecker.d.ts +1 -1
  94. package/types/utils/ClientChecker/services/BrowserChecker.d.ts +2 -2
  95. package/types/utils/ClientChecker/services/DeviceChecker.d.ts +3 -3
  96. package/types/utils/ClientChecker/services/DisplayChecker.d.ts +1 -1
  97. package/types/utils/ClientChecker/services/VideoChecker.d.ts +2 -2
  98. package/types/utils/ThroughputEstimator.d.ts +2 -1
  99. package/types/utils/VolumeMultiplierManager/VolumeMultiplierManager.d.ts +2 -2
  100. package/types/utils/autoSelectTrack.d.ts +2 -2
  101. package/types/utils/dashMaxTvVideoQuality.d.ts +7 -0
  102. package/types/utils/qualityLimits.d.ts +2 -2
  103. package/types/utils/setStateWithSubscribe.d.ts +1 -1
  104. package/types/utils/smoothedValue/baseSmoothedValue.d.ts +2 -1
  105. package/types/utils/smoothedValue/emaAndMaSmoothedValue.d.ts +2 -2
  106. package/types/utils/smoothedValue/emaTopExtremumValue.d.ts +2 -2
  107. package/types/utils/smoothedValue/smoothedValueFactory.d.ts +2 -2
  108. package/types/utils/smoothedValue/twoEmaSmoothedValue.d.ts +2 -2
  109. package/types/utils/smoothedValue/types.d.ts +1 -0
  110. package/types/utils/tuningConfig.d.ts +45 -6
  111. package/types/utils/videoFormat.d.ts +1 -1
@@ -1,10 +1,10 @@
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";
1
+ import type { VideoCodecName, VideoFormat } from "#/player/types";
2
+ import { WebmCodecStrategy } from "#/enums/WebmCodecStrategy";
3
+ import { AndroidPreferredFormat } from "#/enums/AndroidPreferredFormat";
4
+ import { IOSPreferredFormat } from "#/enums/IOSPreferredFormat";
5
5
  import type { Byte, Kbps, Milliseconds, RecursivePartial, Seconds } from "@vkontakte/videoplayer-shared";
6
6
  import { type ExactVideoQuality, VideoQuality } from "@vkontakte/videoplayer-shared";
7
- import { AudioRuleName, VideoRuleName } from "../providers/utils/Abr/types";
7
+ import { AudioRuleName, VideoRuleName } from "#/providers/utils/Abr/types";
8
8
  export type ITuningConfig = {
9
9
  /** @deprecated */
10
10
  configName?: string[];
@@ -36,6 +36,7 @@ export type ITuningConfig = {
36
36
  initialThroughput: Kbps;
37
37
  measureNonSegmentRequests: boolean;
38
38
  smallSampleMinDuration: Milliseconds;
39
+ cacheThresholdSize: Milliseconds;
39
40
  rttPenaltyRequestSize: Byte;
40
41
  streamMinSampleSize: Byte;
41
42
  streamMinSampleTime: Milliseconds;
@@ -174,6 +175,7 @@ export type ITuningConfig = {
174
175
  useBufferHoldingOnlyOnStall: boolean;
175
176
  useAbortResetNativeBufferMutex: boolean;
176
177
  useNewAbr: boolean;
178
+ useAbrPhases: boolean;
177
179
  abrVideoRules: VideoRuleName[];
178
180
  abrAudioRules: AudioRuleName[];
179
181
  useDynamicBirtateRule: boolean;
@@ -183,8 +185,33 @@ export type ITuningConfig = {
183
185
  saveData3gQualityLimit: ExactVideoQuality;
184
186
  saveData2gQualityLimit: ExactVideoQuality;
185
187
  useConnectionDataUpperLimit: boolean;
186
- videoStreamRepresentaionsFilter: [VideoQuality, number, VideoCodec][];
188
+ abandon: {
189
+ minElapsedMs: Milliseconds;
190
+ bufferSafetyFactor: number;
191
+ minLoadedFraction: number;
192
+ minBufferToActivateMs: Milliseconds;
193
+ };
194
+ bola: {
195
+ bufferTargetMs: Milliseconds;
196
+ minBufferMs: Milliseconds;
197
+ minBufferPerBitrateLevelMs: Milliseconds;
198
+ placeholderBufferDecay: number;
199
+ fallbackSegmentDurationMs: Milliseconds;
200
+ finiteThresholdMs: Milliseconds;
201
+ adaptiveBufferTargetK: number;
202
+ adaptiveBufferTargetMaxMs: Milliseconds;
203
+ trimDetectThresholdMs: Milliseconds;
204
+ antiCascadeDownshift: boolean;
205
+ };
206
+ insufficientBuffer: {
207
+ thresholdMs: Milliseconds;
208
+ gracePeriodAfterPlaybackResetMs: Milliseconds;
209
+ budgetFactor: number;
210
+ fallbackSegmentDurationMs: Milliseconds;
211
+ };
212
+ videoStreamRepresentaionsFilter: [VideoQuality, number, VideoCodecName][];
187
213
  filterOnDemandQualityList: boolean;
214
+ dashMaxTvVideoQuality: boolean;
188
215
  };
189
216
  dashCmafLive: {
190
217
  externalStopControl: boolean;
@@ -260,7 +287,17 @@ export type ITuningConfig = {
260
287
  useDelayedPlaybackHangupWithData: boolean;
261
288
  playbackHangupNoDataThreshold: Milliseconds;
262
289
  endGapTolerance: Milliseconds;
290
+ /**
291
+ * Время после перехода в состояние buffering, когда мы считаем что происходит stall
292
+ */
263
293
  stallIgnoreThreshold: Milliseconds;
294
+ /**
295
+ * Стратегия записи столлов
296
+ * verbose - записываем всё
297
+ * exclude-threshold - записываем столлы длинее stallIgnoreThreshold, но вычитаем длину stallIgnoreThreshold
298
+ * include-threshold - записываем столлы длинее stallIgnoreThreshold
299
+ */
300
+ stallHandlingStrategy: "verbose" | "exclude-threshold" | "include-threshold";
264
301
  gapWatchdogInterval: Milliseconds;
265
302
  requestQuick: boolean;
266
303
  /** @deprecated HLS.js удалён, флаг ничего не делает */
@@ -370,6 +407,8 @@ export type ITuningConfig = {
370
407
  hls: {
371
408
  filterOnDemandQualityList: boolean;
372
409
  };
410
+ /** отключает субтитры в ядре */
411
+ disableSubtitles: boolean;
373
412
  /**
374
413
  * Устанавливаем длительность видео на основе последнего сегмента.
375
414
  */
@@ -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[], disableHlsOnDesktop?: boolean) => VideoFormat[];
3
3
  export declare const isLiveFormat: (format: VideoFormat) => boolean;
4
4
  export declare const areValidLiveRecordSources: (sources: ISources, disableHlsOnDesktop?: boolean) => boolean;