@vkontakte/videoplayer-core 2.0.169 → 2.0.170-dev.4fd2a2095.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 +46 -50
- package/es2015.esm.js +45 -49
- package/esnext.cjs +54 -58
- package/esnext.esm.js +47 -51
- package/evergreen.esm.js +45 -49
- package/package.json +2 -2
- package/types/providers/DashProvider/baseDashProvider.d.ts +0 -2
- package/types/providers/DashProviderVirtual/baseDashProvider.d.ts +0 -1
- package/types/providers/ProviderContainer/index.d.ts +0 -1
- package/types/providers/utils/Abr/types.d.ts +0 -2
- package/types/utils/autoSelectTrack.d.ts +3 -4
- package/types/utils/tuningConfig.d.ts +8 -2
- package/types/providers/utils/Abr/rules/video/failedVideoTrackRule.d.ts +0 -14
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/videoplayer-core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.170-dev.4fd2a2095.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.
|
|
45
|
+
"@vkontakte/videoplayer-shared": "1.0.99-dev.4fd2a2095.0"
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -16,7 +16,6 @@ import { ElementSizeManager } from "../utils/HTMLVideoElement/ElementSizeManager
|
|
|
16
16
|
type IParams = IProviderParams<IDashURLSource> & {
|
|
17
17
|
sourceHls?: IHLSSource;
|
|
18
18
|
forceVideoCodec?: VideoCodec;
|
|
19
|
-
failedVideoTrack?: Nullable<IVideoTrack>;
|
|
20
19
|
isOnDemand?: boolean;
|
|
21
20
|
dashMaxTvVideoQuality?: Nullable<ExactVideoQuality>;
|
|
22
21
|
};
|
|
@@ -34,7 +33,6 @@ export default abstract class BaseDashProvider implements IProvider {
|
|
|
34
33
|
protected stallsManager: StallsManager;
|
|
35
34
|
protected elementSizeManager: ElementSizeManager;
|
|
36
35
|
protected abrManager: AbrManager;
|
|
37
|
-
protected failedVideoTrack: Nullable<IVideoTrack>;
|
|
38
36
|
protected videoTracksMap: Map<IVideoTrack, {
|
|
39
37
|
stream: Stream;
|
|
40
38
|
representation: Representation;
|
|
@@ -16,7 +16,6 @@ import { AbrManager } from "../utils/Abr/abrManager";
|
|
|
16
16
|
type IParams = IProviderParams<IDashURLSource> & {
|
|
17
17
|
sourceHls?: IHLSSource;
|
|
18
18
|
forceVideoCodec?: VideoCodec;
|
|
19
|
-
failedVideoTrack?: Nullable<IVideoTrack>;
|
|
20
19
|
isOnDemand?: boolean;
|
|
21
20
|
dashMaxTvVideoQuality?: Nullable<ExactVideoQuality>;
|
|
22
21
|
};
|
|
@@ -35,7 +35,6 @@ export default class ProviderContainer implements IProviderContainer {
|
|
|
35
35
|
private tracer;
|
|
36
36
|
private params;
|
|
37
37
|
private currentProviderStarted;
|
|
38
|
-
private currentFailedVideoTrack;
|
|
39
38
|
private volumeMultiplierManager;
|
|
40
39
|
private dashMaxTvVideoQuality;
|
|
41
40
|
private mayday;
|
|
@@ -15,7 +15,6 @@ export declare enum VideoRuleName {
|
|
|
15
15
|
Buffer = "buffer_rule",
|
|
16
16
|
Bola = "bola_rule",
|
|
17
17
|
FitsContainer = "fits_container_rule",
|
|
18
|
-
FailedVideoTrack = "failed_video_track_rule",
|
|
19
18
|
TvDisabledVideoTrack = "tv_disabled_video_track_rule",
|
|
20
19
|
Stalls = "stalls_rule",
|
|
21
20
|
LowerLimit = "lower_limit_rule",
|
|
@@ -59,7 +58,6 @@ export interface IInitAbrManagerContext {
|
|
|
59
58
|
rtt$: IValueSubject<Milliseconds>;
|
|
60
59
|
throughputVariance$?: IValueSubject<number>;
|
|
61
60
|
element: HTMLMediaElement;
|
|
62
|
-
failedVideoTrack: Nullable<IVideoTrack>;
|
|
63
61
|
abrLogger: IComponentLogger;
|
|
64
62
|
panelSize?: IRectangle;
|
|
65
63
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ITuningConfig } from "./tuningConfig";
|
|
2
|
-
import type { Kbps, Milliseconds, IRectangle, QualityLimits, IComponentLogger
|
|
2
|
+
import type { Kbps, Milliseconds, IRectangle, QualityLimits, IComponentLogger } from "@vkontakte/videoplayer-shared";
|
|
3
3
|
import { type ExactVideoQuality } from "@vkontakte/videoplayer-shared";
|
|
4
4
|
import type { IAudioTrack, IBaseTrack, IVideoTrack } from "../player/types";
|
|
5
5
|
interface IConstraints<T extends IBaseTrack> {
|
|
@@ -11,7 +11,6 @@ interface IConstraints<T extends IBaseTrack> {
|
|
|
11
11
|
playbackRate?: number;
|
|
12
12
|
forwardBufferHealth?: number;
|
|
13
13
|
current?: T;
|
|
14
|
-
failedVideoTrack?: Nullable<T>;
|
|
15
14
|
visible?: boolean;
|
|
16
15
|
history?: TrackHistory<T>;
|
|
17
16
|
droppedVideoMaxQualityLimit?: ExactVideoQuality;
|
|
@@ -30,8 +29,8 @@ export declare class TrackHistory<T extends IBaseTrack> {
|
|
|
30
29
|
export declare const defaultEmptyArrayErrorMessage = "Assertion \"ABR Tracks is empty array\" failed";
|
|
31
30
|
export declare const getMinPossibleAudioForVideoOld: (videoTrack: IVideoTrack, videoTracks: IVideoTrack[], audioTracks: IAudioTrack[], minVideoAudioRatio: number) => IAudioTrack | undefined;
|
|
32
31
|
export declare const getMinPossibleAudioForVideoNew: (videoTrack: IVideoTrack, videoTracks: IVideoTrack[], audioTracks: IAudioTrack[], minVideoAudioRatio: number) => IAudioTrack | undefined;
|
|
33
|
-
export declare const autoSelectVideoTrackNew: (videoTracks: IVideoTrack[], { container, estimatedThroughput, tuning, limits, reserve, forwardBufferHealth, playbackRate, current,
|
|
34
|
-
export declare const autoSelectVideoTrackOld: (videoTracks: IVideoTrack[], { container, estimatedThroughput, tuning, limits, reserve, forwardBufferHealth, playbackRate, current,
|
|
32
|
+
export declare const autoSelectVideoTrackNew: (videoTracks: IVideoTrack[], { container, estimatedThroughput, tuning, limits, reserve, forwardBufferHealth, playbackRate, current, history, visible, droppedVideoMaxQualityLimit, stallsVideoMaxQualityLimit, stallsPredictedThroughput, abrLogger, panelSize }: IConstraints<IVideoTrack>) => IVideoTrack;
|
|
33
|
+
export declare const autoSelectVideoTrackOld: (videoTracks: IVideoTrack[], { container, estimatedThroughput, tuning, limits, reserve, forwardBufferHealth, playbackRate, current, history, visible, droppedVideoMaxQualityLimit, stallsVideoMaxQualityLimit, stallsPredictedThroughput, abrLogger, panelSize }: IConstraints<IVideoTrack>) => IVideoTrack;
|
|
35
34
|
export declare const autoSelectAudioTrackForVideoOld: (selectedVideoTrack: IVideoTrack, videoTracks: IVideoTrack[], audioTracks: IAudioTrack[], { estimatedThroughput, tuning, playbackRate, forwardBufferHealth, history, abrLogger, stallsPredictedThroughput }: IConstraints<IAudioTrack>) => IAudioTrack | undefined;
|
|
36
35
|
export declare const autoSelectAudioTrackForVideoNew: (selectedVideoTrack: IVideoTrack, videoTracks: IVideoTrack[], audioTracks: IAudioTrack[], { estimatedThroughput, tuning, playbackRate, forwardBufferHealth, history, abrLogger, stallsPredictedThroughput }: IConstraints<IAudioTrack>) => IAudioTrack | undefined;
|
|
37
36
|
export {};
|
|
@@ -210,9 +210,7 @@ export type ITuningConfig = {
|
|
|
210
210
|
abrVideoRules: VideoRuleName[];
|
|
211
211
|
abrAudioRules: AudioRuleName[];
|
|
212
212
|
useDynamicBirtateRule: boolean;
|
|
213
|
-
useNewFailoverLogic: boolean;
|
|
214
213
|
useFailoverHostsOnAllProviderCrash: boolean;
|
|
215
|
-
videoTrackBanAfterProviderFail: Milliseconds;
|
|
216
214
|
saveData3gQualityLimit: ExactVideoQuality;
|
|
217
215
|
saveData2gQualityLimit: ExactVideoQuality;
|
|
218
216
|
useConnectionDataUpperLimit: boolean;
|
|
@@ -458,6 +456,14 @@ export type ITuningConfig = {
|
|
|
458
456
|
useDurationFromSegments: boolean;
|
|
459
457
|
/** включен режим проигрывания только аудио (без видео) */
|
|
460
458
|
audioOnly: boolean;
|
|
459
|
+
/**
|
|
460
|
+
* Переводить провайдер в READY по loadedmetadata вместо canplay.
|
|
461
|
+
* canplay означает, что видео уже может играться, что избыточно для READY —
|
|
462
|
+
* достаточно получить манифест (loadedmetadata).
|
|
463
|
+
* Применяется только когда желаемое состояние — READY (preload): при автоплее
|
|
464
|
+
* провайдер по-прежнему ждёт canplay, чтобы play() не вызывался до появления данных.
|
|
465
|
+
*/
|
|
466
|
+
readyOnLoadedMetadata: boolean;
|
|
461
467
|
};
|
|
462
468
|
export type IOptionalTuningConfig = RecursivePartial<ITuningConfig>;
|
|
463
469
|
export declare const fillDefault: (partial: IOptionalTuningConfig) => ITuningConfig;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { IAbrRule, IAbrRuleResolution, IRuleInitContext, IVideoAbrContext } from "../../types";
|
|
2
|
-
import type { IVideoTrack } from "../../../../../player/types";
|
|
3
|
-
import type { Nullable } from "@vkontakte/videoplayer-shared";
|
|
4
|
-
import { LimitAboveRule } from "../limitAboveRule";
|
|
5
|
-
import type { RulePhaseConfig } from "../../controllers/abrPhaseController";
|
|
6
|
-
type FailedVideoTracLogsArgs = [banTrack: Nullable<IVideoTrack>];
|
|
7
|
-
export declare class FailedVideoTrackRule extends LimitAboveRule<IVideoTrack, IVideoAbrContext, FailedVideoTracLogsArgs> implements IAbrRule<IVideoTrack, IVideoAbrContext> {
|
|
8
|
-
protected banTrack: Nullable<IVideoTrack>;
|
|
9
|
-
constructor(phaseConfig: RulePhaseConfig);
|
|
10
|
-
init(initContext: IRuleInitContext): void;
|
|
11
|
-
execute(context: IVideoAbrContext): IAbrRuleResolution<IVideoTrack>;
|
|
12
|
-
protected createLogMessage(selectedTrack: IVideoTrack, banTrack: Nullable<IVideoTrack>): string;
|
|
13
|
-
}
|
|
14
|
-
export {};
|