@vkontakte/videoplayer-core 2.0.129-dev.505377de.0 → 2.0.129-dev.6ff96833.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.129-dev.505377de.0",
3
+ "version": "2.0.129-dev.6ff96833.0",
4
4
  "author": "vk.com",
5
5
  "description": "Videoplayer core library based on the vk.com platform",
6
6
  "homepage": "https://vk.com",
@@ -49,7 +49,7 @@
49
49
  "**/*.d.ts"
50
50
  ],
51
51
  "dependencies": {
52
- "@vkontakte/videoplayer-shared": "1.0.57-dev.dc3fc195.0",
52
+ "@vkontakte/videoplayer-shared": "1.0.57-dev.788929fc.0",
53
53
  "hls.js": "~1.4.7"
54
54
  }
55
55
  }
@@ -3,7 +3,7 @@ import { CommonInit, IProviderSubscriptionInfo, ProviderState, Representation, S
3
3
  import { IProvider, IProviderParams } from '../../providers/types';
4
4
  import { TrackHistory } from '../../utils/autoSelectTrack';
5
5
  import { IStateMachine } from '../../utils/StateMachine/types';
6
- import { ISubscription, Milliseconds, ITracer } from '@vkontakte/videoplayer-shared';
6
+ import { ISubscription, ITracer, Milliseconds } from '@vkontakte/videoplayer-shared';
7
7
  import { Player } from './lib/player';
8
8
  import { Scene3D } from '../../utils/3d/Scene3D';
9
9
  import DroppedFramesManager from '../../providers/utils/HTMLVideoElement/DroppedFramesManager';
@@ -108,7 +108,7 @@ export declare class BufferManager {
108
108
  private pruneBuffer;
109
109
  private abortBuffer;
110
110
  getDebugBufferState(): IRange<Milliseconds> | undefined;
111
- getForwardBufferDuration(): Milliseconds;
111
+ getForwardBufferDuration(currentPosition?: Milliseconds | undefined): Milliseconds;
112
112
  private detectGaps;
113
113
  private detectGapsWhenIdle;
114
114
  private checkEjectedSegments;
@@ -42,6 +42,7 @@ export declare class Player {
42
42
  lastConnectionReused$: IValueSubject<boolean | undefined>;
43
43
  lastRequestFirstBytes$: IValueSubject<Milliseconds | undefined>;
44
44
  currentLiveTextRepresentation$: IValueSubject<TextRepresentation | null>;
45
+ private timeoutSourceOpenId;
45
46
  isLive$: IValueSubject<boolean>;
46
47
  isActiveLive$: IValueSubject<boolean>;
47
48
  isLowLatency$: IValueSubject<boolean>;
@@ -75,6 +76,8 @@ export declare class Player {
75
76
  initBuffer(): void;
76
77
  switchRepresentation(kind: StreamKind, id: Representation['id'], dropBuffer?: boolean): Promise<void>;
77
78
  seek(requestedPosition: Milliseconds, forcePrecise: boolean): Promise<void>;
79
+ warmUpMediaSourceIfNeeded(position?: Milliseconds | undefined): void;
80
+ get isStreamEnded(): boolean;
78
81
  stop(): void;
79
82
  setBufferTarget(time: Milliseconds): void;
80
83
  getStreams(): Manifest['streams'] | undefined;
@@ -6,6 +6,7 @@ export interface IObservableVideo {
6
6
  canplay$: IObservable<undefined>;
7
7
  ended$: IObservable<undefined>;
8
8
  looped$: IObservable<Seconds>;
9
+ loopExpected$: IObservable<undefined>;
9
10
  error$: IObservable<IError>;
10
11
  seeked$: IObservable<undefined>;
11
12
  seeking$: IObservable<undefined>;
@@ -1,4 +1,4 @@
1
- import { ExactVideoQuality, IObservable, IValueSubject, Milliseconds, Kbps } from '@vkontakte/videoplayer-shared';
1
+ import { ExactVideoQuality, IObservable, IValueSubject, Milliseconds, Kbps, Seconds } from '@vkontakte/videoplayer-shared';
2
2
  import { IVideoTrack } from '../../player/types';
3
3
  import { ITuningConfig } from '../../utils/tuningConfig';
4
4
  interface IConnectData {
@@ -7,6 +7,7 @@ interface IConnectData {
7
7
  rtt$: IValueSubject<Milliseconds>;
8
8
  isBuffering$: IObservable<boolean>;
9
9
  isSeeked$: IObservable<boolean>;
10
+ looped$: IObservable<Seconds>;
10
11
  currentStallDuration$: IObservable<Milliseconds>;
11
12
  qualityLimitsOnStall: ITuningConfig['dash']['qualityLimitsOnStall'];
12
13
  }
@@ -61,6 +61,7 @@ export type ITuningConfig = {
61
61
  forwardBufferTargetAuto: Milliseconds;
62
62
  forwardBufferTargetManual: Milliseconds;
63
63
  forwardBufferTargetPreload: Milliseconds;
64
+ seekBiasInTheEnd: Milliseconds;
64
65
  maxSegmentDurationLeftToSelectNextSegment: Milliseconds;
65
66
  minSafeBufferThreshold: number;
66
67
  bufferPruningSafeZone: Milliseconds;
@@ -73,11 +74,15 @@ export type ITuningConfig = {
73
74
  useFetchPriorityHints: boolean;
74
75
  qualityLimitsOnStall: {
75
76
  stallDurationNoDataBeforeQualityDecrease: Milliseconds;
77
+ stallDurationToBeCount: Milliseconds;
76
78
  stallCountBeforeQualityDecrease: Milliseconds;
77
79
  resetQualityRestrictionTimeout: Milliseconds;
80
+ ignoreStallsOnSeek: boolean;
78
81
  };
79
82
  enableBaseUrlSupport: boolean;
80
83
  maxSegmentRetryCount: number;
84
+ sourceOpenTimeout: number;
85
+ rejectOnSourceOpenTimeout: boolean;
81
86
  };
82
87
  dashCmafLive: {
83
88
  maxActiveLiveOffset: Milliseconds;
@@ -141,6 +146,7 @@ export type ITuningConfig = {
141
146
  stripRangeHeader: boolean;
142
147
  flushShortLoopedBuffers: boolean;
143
148
  insufficientBufferRuleMargin: Milliseconds;
149
+ seekNearDurationBias: Seconds;
144
150
  dashSeekInSegmentDurationThreshold: Milliseconds;
145
151
  dashSeekInSegmentAlwaysSeekDelta: Milliseconds;
146
152
  endGapTolerance: Milliseconds;