@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/es2015.cjs.js +22 -22
- package/es2015.esm.js +22 -22
- package/es2018.cjs.js +26 -26
- package/es2018.esm.js +26 -26
- package/esnext.cjs.js +27 -27
- package/esnext.esm.js +25 -25
- package/evergreen.esm.js +24 -24
- package/package.json +2 -2
- package/types/providers/DashProvider/baseDashProvider.d.ts +1 -1
- package/types/providers/DashProvider/lib/buffer.d.ts +1 -1
- package/types/providers/DashProvider/lib/player.d.ts +3 -0
- package/types/providers/utils/HTMLVideoElement/observable.d.ts +1 -0
- package/types/providers/utils/StallsManager.d.ts +2 -1
- package/types/utils/tuningConfig.d.ts +6 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/videoplayer-core",
|
|
3
|
-
"version": "2.0.129-dev.
|
|
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.
|
|
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,
|
|
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;
|