@vkontakte/videoplayer-core 2.0.181-dev.111b83b80.0 → 2.0.181-dev.2c5180761.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 +16 -16
- package/es2015.esm.js +16 -16
- package/esnext.cjs +8 -8
- package/esnext.esm.js +15 -15
- package/evergreen.esm.js +15 -15
- package/package.json +2 -2
- package/types/providers/DashProvider/lib/buffer.d.ts +0 -1
- package/types/providers/utils/Abr/rules/video/stallsRule.d.ts +9 -11
- package/types/providers/utils/StallsManager.d.ts +1 -8
- package/types/utils/tuningConfig.d.ts +0 -1
- package/types/utils/buffer/getBackwardBufferDuration.d.ts +0 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/videoplayer-core",
|
|
3
|
-
"version": "2.0.181-dev.
|
|
3
|
+
"version": "2.0.181-dev.2c5180761.0",
|
|
4
4
|
"author": "vk.ru",
|
|
5
5
|
"description": "Videoplayer core library based on the vk.ru platform",
|
|
6
6
|
"homepage": "https://vk.ru",
|
|
@@ -42,6 +42,6 @@
|
|
|
42
42
|
"**/*.d.ts"
|
|
43
43
|
],
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@vkontakte/videoplayer-shared": "1.0.110-dev.
|
|
45
|
+
"@vkontakte/videoplayer-shared": "1.0.110-dev.2c5180761.0"
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -74,7 +74,6 @@ export declare class BufferManager {
|
|
|
74
74
|
private liveUpdateSegmentIndex;
|
|
75
75
|
private liveInitialAdditionalOffset;
|
|
76
76
|
private isSeekingLive;
|
|
77
|
-
private isBackwardPruneInFlight;
|
|
78
77
|
private index;
|
|
79
78
|
private lastDataObtainedTimestampMs;
|
|
80
79
|
private loadByteRangeSegmentsTimeoutId;
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import type { IAbrRule, IAbrRuleResolution, IVideoAbrContext, RuleLogData } from "../../types";
|
|
2
2
|
import type { IVideoTrack } from "../../../../../player/types";
|
|
3
|
-
import type { Kbps, Nullable } from "@vkontakte/videoplayer-shared";
|
|
4
3
|
import { LimitAboveRule } from "../limitAboveRule";
|
|
5
|
-
import type { ITuningConfig } from "../../../../../utils/tuningConfig";
|
|
6
4
|
import type { RulePhaseConfig } from "../../controllers/abrPhaseController";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
private
|
|
10
|
-
private
|
|
11
|
-
private
|
|
5
|
+
export declare class StallsRule extends LimitAboveRule<IVideoTrack, IVideoAbrContext, []> implements IAbrRule<IVideoTrack, IVideoAbrContext> {
|
|
6
|
+
private wasSevereStall;
|
|
7
|
+
private restrictedInCurrentStall;
|
|
8
|
+
private stalledQuality;
|
|
9
|
+
private stallsByQuality;
|
|
10
|
+
private recoveryStartedAt;
|
|
12
11
|
private maxQualityLimitOnStall;
|
|
13
|
-
private predictedThroughputWithoutData;
|
|
14
12
|
private restrictionTracer;
|
|
15
13
|
private restrictionStartedAt;
|
|
16
14
|
constructor(phaseConfig: RulePhaseConfig);
|
|
17
15
|
execute(context: IVideoAbrContext): IAbrRuleResolution<IVideoTrack>;
|
|
18
|
-
protected createLogData(selectedTrack: IVideoTrack
|
|
16
|
+
protected createLogData(selectedTrack: IVideoTrack): RuleLogData;
|
|
17
|
+
private trackStallEpisode;
|
|
18
|
+
private resolveQualityLimit;
|
|
19
19
|
private traceRestrictionSet;
|
|
20
20
|
private traceRestrictionReset;
|
|
21
|
-
private updateStallQualityLimits;
|
|
22
21
|
}
|
|
23
|
-
export {};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IObservable, IValueSubject, Milliseconds, Seconds } from "@vkontakte/videoplayer-shared";
|
|
2
2
|
import type { IVideoTrack } from "../../player/types";
|
|
3
3
|
import type { ITuningConfig } from "../../utils/tuningConfig";
|
|
4
4
|
interface IConnectData {
|
|
5
5
|
videoLastDataObtainedTimestamp$: IValueSubject<Milliseconds>;
|
|
6
|
-
throughput$: IValueSubject<number>;
|
|
7
6
|
rtt$: IValueSubject<Milliseconds>;
|
|
8
7
|
isBuffering$: IObservable<boolean>;
|
|
9
8
|
isSeeked$: IObservable<boolean>;
|
|
@@ -18,7 +17,6 @@ interface IConnectData {
|
|
|
18
17
|
declare class StallsManager {
|
|
19
18
|
private currentStallDuration$;
|
|
20
19
|
private videoLastDataObtainedTimestamp$;
|
|
21
|
-
private throughput$;
|
|
22
20
|
private rtt$;
|
|
23
21
|
private tuning;
|
|
24
22
|
private abrParams;
|
|
@@ -26,20 +24,15 @@ declare class StallsManager {
|
|
|
26
24
|
private isSeeked$;
|
|
27
25
|
private isBuffering$;
|
|
28
26
|
private isPaused;
|
|
29
|
-
private maxQualityLimit;
|
|
30
27
|
private lastUniqueVideoTrackSelected;
|
|
31
28
|
private currentStallsCount;
|
|
32
29
|
private sumStallsDuration;
|
|
33
30
|
private lastStallDuration;
|
|
34
31
|
private providerStartWatchingTimestamp;
|
|
35
32
|
private lastUniqueVideoTrackSelectedTimestamp;
|
|
36
|
-
private predictedThroughputWithoutData;
|
|
37
|
-
private qualityRestrictionTimer;
|
|
38
33
|
private subscription;
|
|
39
34
|
severeStallOccurred$: IValueSubject<boolean>;
|
|
40
35
|
init(data: IConnectData): void;
|
|
41
|
-
get videoMaxQualityLimit(): ExactVideoQuality | undefined;
|
|
42
|
-
get predictedThroughput(): Kbps;
|
|
43
36
|
get abrTuningParams(): ITuningConfig["autoTrackSelection"];
|
|
44
37
|
set lastVideoTrackSelected(lastUniqueVideoTrackSelected: IVideoTrack);
|
|
45
38
|
destroy(): void;
|
|
@@ -143,7 +143,6 @@ export type ITuningConfig = {
|
|
|
143
143
|
enabled: boolean;
|
|
144
144
|
ignoreDynamicAbrForShortVideo: boolean;
|
|
145
145
|
stallDurationNoDataBeforeQualityDecrease: Milliseconds;
|
|
146
|
-
stallDurationToBeCount: Milliseconds;
|
|
147
146
|
stallCountBeforeQualityDecrease: Milliseconds;
|
|
148
147
|
resetQualityRestrictionTimeout: Milliseconds;
|
|
149
148
|
ignoreStallsOnSeek: boolean;
|