@vkontakte/videoplayer-core 2.0.165-dev.dc17075f7.0 → 2.0.166-dev.02230ed18.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/videoplayer-core",
3
- "version": "2.0.165-dev.dc17075f7.0",
3
+ "version": "2.0.166-dev.02230ed18.0",
4
4
  "author": "vk.com",
5
5
  "description": "Videoplayer core library based on the vk.com platform",
6
6
  "homepage": "https://vk.com",
@@ -42,6 +42,6 @@
42
42
  "**/*.d.ts"
43
43
  ],
44
44
  "dependencies": {
45
- "@vkontakte/videoplayer-shared": "1.0.94-dev.dc17075f7.0"
45
+ "@vkontakte/videoplayer-shared": "1.0.95-dev.02230ed18.0"
46
46
  }
47
47
  }
@@ -40,8 +40,7 @@ export declare abstract class BaseVirtualBufferManager<T extends Segment> implem
40
40
  protected currentVirtualBufferSize: Byte;
41
41
  private baseUrls;
42
42
  private baseUrlsIndex;
43
- protected maintainPlaybackBufferMutex: boolean;
44
- protected maintainNativeBufferMutex: boolean;
43
+ protected maintainMutex: boolean;
45
44
  protected bufferClearingMutex: boolean;
46
45
  protected abortNativeBufferMutex: boolean;
47
46
  protected switchMutex: boolean;
@@ -91,7 +90,7 @@ export declare abstract class BaseVirtualBufferManager<T extends Segment> implem
91
90
  protected maintainPlaybackBuffer(position: Milliseconds): Promise<void>;
92
91
  protected actualizeLastSegmentInfo(currentPosition: Milliseconds): void;
93
92
  protected selectDownloadingItems(position: Milliseconds, segments: T[]): IBufferPlaybackQueueItem<T>[];
94
- protected processCachedItems(): Promise<void>;
93
+ protected processCachedItems(): void;
95
94
  protected withinInterval(currentPosition: Milliseconds | undefined, { from, to }: IRange<Milliseconds>, leftTolerance?: Milliseconds, rightTolerance?: Milliseconds): boolean;
96
95
  protected withinAppendInterval(currentPosition: Milliseconds | undefined, { from, to }: IRange<Milliseconds>): boolean;
97
96
  protected withinRemoveInterval(currentPosition: Milliseconds | undefined, { to }: IRange<Milliseconds>): boolean;
@@ -103,7 +102,7 @@ export declare abstract class BaseVirtualBufferManager<T extends Segment> implem
103
102
  protected onItemFullyDownloaded(downloadedItem: IBufferPlaybackQueueItem<T>): void;
104
103
  protected onItemFullyAppended(appendedItem: IBufferPlaybackQueueItem<T>): void;
105
104
  protected removeSegment(nextRemoveItem: IBufferPlaybackQueueItem<T>, signal: AbortSignal): Promise<void>;
106
- protected onDownloadItem(downloadedItem: IBufferPlaybackQueueItem<T>): Promise<void>;
105
+ protected onDownloadItem(downloadedItem: IBufferPlaybackQueueItem<T>): void;
107
106
  protected pruneVirtualBuffer(currentPosition: Milliseconds): void;
108
107
  protected updateRepresentationsBaseUrlIfNeeded(): void;
109
108
  }
@@ -181,9 +181,9 @@ export type ITuningConfig = {
181
181
  minNativeBufferSize: Milliseconds;
182
182
  removeTimeShiftFromSegment: Milliseconds;
183
183
  tickMaintainInterval: Milliseconds;
184
+ tickMaintainThrottle: Milliseconds;
184
185
  minSafeBufferToPlay: Milliseconds;
185
186
  useBufferHoldingOnlyOnStall: boolean;
186
- useAbortResetNativeBufferMutex: boolean;
187
187
  useNewAbr: boolean;
188
188
  useAbrPhases: boolean;
189
189
  abrVideoRules: VideoRuleName[];
@@ -335,6 +335,16 @@ export type ITuningConfig = {
335
335
  useDashProviderVirtualMobile: boolean;
336
336
  useNewAutoSelectVideoTrack: boolean;
337
337
  useSafariEndlessRequestBugfix: boolean;
338
+ /**
339
+ * Ручка для фикса сброса playbackRate при перемотке live-трансляции на Safari.
340
+ *
341
+ * На WebKit/Safari в момент applying seek video.currentTime может кратко отдавать
342
+ * неверное значение (например, 0). Без фикса это проходит в условие
343
+ * atLiveDurationEdge и tap сбрасывает playbackRate в 1, перетирая пользовательскую скорость.
344
+ * С фиксом позиция берётся из optimisticPosition (seek target во время seek), и ложного
345
+ * срабатывания не происходит. Для VOD нейтрально (isLive=false).
346
+ */
347
+ useSafariOptimisticPositionForLiveEdgeBugfix: boolean;
338
348
  isAudioDisabled: boolean;
339
349
  /**
340
350
  * Разрешает ядру автостарт только если страница, на которой находится плеер активна