@vkontakte/videoplayer-core 2.0.108-dev.43b53ca1.0 → 2.0.108-dev.9b636631.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 +17 -38
- package/es2015.esm.js +16 -37
- package/es2018.cjs.js +17 -38
- package/es2018.esm.js +16 -37
- package/esnext.cjs.js +18 -39
- package/esnext.esm.js +17 -38
- package/evergreen.esm.js +16 -37
- package/package.json +2 -2
- package/types/player/Player.d.ts +2 -2
- package/types/player/types.d.ts +6 -5
- package/types/providers/DashProvider/baseDashProvider.d.ts +1 -2
- package/types/utils/autoSelectVideoTrack.d.ts +11 -13
- package/types/utils/tuningConfig.d.ts +0 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/videoplayer-core",
|
|
3
|
-
"version": "2.0.108-dev.
|
|
3
|
+
"version": "2.0.108-dev.9b636631.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.40-dev.
|
|
52
|
+
"@vkontakte/videoplayer-shared": "1.0.40-dev.349a673a.0",
|
|
53
53
|
"hls.js": "~1.4.7"
|
|
54
54
|
}
|
|
55
55
|
}
|
package/types/player/Player.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IOptionalTuningConfig } from '../utils/tuningConfig';
|
|
2
2
|
import { IError, ILogEntry, Seconds, Subject, ValueSubject, QualityLimits, VideoQuality } from '@vkontakte/videoplayer-shared';
|
|
3
|
-
import { ChromecastState, HttpConnectionType, IAudioStream, IConfig, ICueSettings, IExternalTextTrack, IPlayer, ISeekRequest, ISources, ITextTrack, IVideoStream, PlaybackRate, PlaybackState, StartEnd, Surface, VideoFormat } from './types';
|
|
3
|
+
import { ChromecastState, HttpConnectionType, IAudioStream, IAudioTrack, IConfig, ICueSettings, IExternalTextTrack, IPlayer, ISeekRequest, ISources, ITextTrack, IVideoStream, PlaybackRate, PlaybackState, StartEnd, Surface, VideoFormat } from './types';
|
|
4
4
|
export default class Player implements IPlayer {
|
|
5
5
|
private subscription;
|
|
6
6
|
private domContainer;
|
|
@@ -32,7 +32,7 @@ export default class Player implements IPlayer {
|
|
|
32
32
|
autoQualityLimits$: ValueSubject<QualityLimits>;
|
|
33
33
|
availableAudioStreams$: ValueSubject<IAudioStream[]>;
|
|
34
34
|
currentAudioStream$: ValueSubject<IVideoStream | undefined>;
|
|
35
|
-
availableAudioTracks$: ValueSubject<
|
|
35
|
+
availableAudioTracks$: ValueSubject<IAudioTrack[]>;
|
|
36
36
|
isAudioAvailable$: ValueSubject<boolean>;
|
|
37
37
|
currentPlaybackRate$: ValueSubject<number>;
|
|
38
38
|
currentBuffer$: ValueSubject<StartEnd<number>>;
|
package/types/player/types.d.ts
CHANGED
|
@@ -475,12 +475,10 @@ export interface IVideoStream {
|
|
|
475
475
|
codec?: string;
|
|
476
476
|
label?: string;
|
|
477
477
|
}
|
|
478
|
-
export interface
|
|
478
|
+
export interface IVideoTrack {
|
|
479
479
|
id: string;
|
|
480
|
-
bitrate?: Kbps;
|
|
481
|
-
}
|
|
482
|
-
export interface IVideoTrack extends IBaseTrack {
|
|
483
480
|
quality: VideoQuality;
|
|
481
|
+
bitrate?: Kbps;
|
|
484
482
|
size?: IRectangle;
|
|
485
483
|
fps?: number;
|
|
486
484
|
}
|
|
@@ -491,7 +489,10 @@ export interface IAudioStream {
|
|
|
491
489
|
codec?: string;
|
|
492
490
|
isDefault?: boolean;
|
|
493
491
|
}
|
|
494
|
-
export
|
|
492
|
+
export interface IAudioTrack {
|
|
493
|
+
id: string;
|
|
494
|
+
bitrate?: Kbps;
|
|
495
|
+
}
|
|
495
496
|
interface ITextTrackBase {
|
|
496
497
|
type: 'external' | 'internal';
|
|
497
498
|
id: string;
|
|
@@ -36,8 +36,7 @@ export default abstract class BaseDashProvider implements IProvider {
|
|
|
36
36
|
}>;
|
|
37
37
|
protected videoStreamsMap: Map<Stream, IVideoTrack[]>;
|
|
38
38
|
protected audioStreamsMap: Map<Stream, IAudioTrack[]>;
|
|
39
|
-
protected videoTrackSwitchHistory: TrackHistory
|
|
40
|
-
protected audioTrackSwitchHistory: TrackHistory<import("../../player/types").IBaseTrack>;
|
|
39
|
+
protected videoTrackSwitchHistory: TrackHistory;
|
|
41
40
|
protected textTracks: {
|
|
42
41
|
track: IInternalTextTrack;
|
|
43
42
|
representation: Representation;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ITuningConfig } from '../utils/tuningConfig';
|
|
2
2
|
import { Kbps, Milliseconds, IRectangle, type ExactVideoQuality, QualityLimits, IComponentLogger } from '@vkontakte/videoplayer-shared';
|
|
3
|
-
import {
|
|
4
|
-
interface
|
|
3
|
+
import { IVideoTrack } from '../player/types';
|
|
4
|
+
export interface Constraints {
|
|
5
5
|
container?: IRectangle;
|
|
6
6
|
throughput?: Kbps;
|
|
7
7
|
tuning: ITuningConfig['autoTrackSelection'];
|
|
@@ -9,20 +9,18 @@ interface IConstraints<T extends IBaseTrack> {
|
|
|
9
9
|
reserve?: Kbps;
|
|
10
10
|
playbackRate?: number;
|
|
11
11
|
forwardBufferHealth?: number;
|
|
12
|
-
current?:
|
|
13
|
-
history?: TrackHistory
|
|
12
|
+
current?: IVideoTrack;
|
|
13
|
+
history?: TrackHistory;
|
|
14
14
|
droppedVideoMaxQualityLimit?: ExactVideoQuality;
|
|
15
15
|
abrLogger: IComponentLogger;
|
|
16
16
|
}
|
|
17
|
-
export declare class TrackHistory
|
|
18
|
-
last:
|
|
19
|
-
history: Record<
|
|
20
|
-
recordSelection(track:
|
|
21
|
-
recordSwitch(track:
|
|
17
|
+
export declare class TrackHistory {
|
|
18
|
+
last: IVideoTrack | undefined;
|
|
19
|
+
history: Record<IVideoTrack['id'], Milliseconds>;
|
|
20
|
+
recordSelection(track: IVideoTrack): void;
|
|
21
|
+
recordSwitch(track: IVideoTrack): void;
|
|
22
22
|
clear(): void;
|
|
23
23
|
}
|
|
24
24
|
export declare const defaultEmptyArrayErrorMessage = "Assertion \"ABR Tracks is empty array\" failed";
|
|
25
|
-
|
|
26
|
-
export
|
|
27
|
-
export declare const autoSelectAudioTrackForVideo: (selectedVideoTrack: IVideoTrack, videoTracks: IVideoTrack[], audioTracks: IAudioTrack[], { throughput, tuning, playbackRate, forwardBufferHealth, history, abrLogger, }: IConstraints<IAudioTrack>) => IAudioTrack | undefined;
|
|
28
|
-
export {};
|
|
25
|
+
declare const autoSelectVideoTrack: (tracks: IVideoTrack[], { container, throughput, tuning, limits, reserve, forwardBufferHealth, playbackRate, current, history, droppedVideoMaxQualityLimit, abrLogger, }: Constraints) => IVideoTrack;
|
|
26
|
+
export default autoSelectVideoTrack;
|
|
@@ -24,11 +24,7 @@ export type ITuningConfig = {
|
|
|
24
24
|
};
|
|
25
25
|
autoTrackSelection: {
|
|
26
26
|
bitrateFactorAtEmptyBuffer: number;
|
|
27
|
-
bitrateAudioFactorAtEmptyBuffer: number;
|
|
28
27
|
bitrateFactorAtFullBuffer: number;
|
|
29
|
-
bitrateAudioFactorAtFullBuffer: number;
|
|
30
|
-
minVideoAudioRatio: number;
|
|
31
|
-
minAvailableThroughputAudioRatio: number;
|
|
32
28
|
limitByContainer: boolean;
|
|
33
29
|
usePixelRatio: boolean;
|
|
34
30
|
containerSizeFactor: number;
|
|
@@ -137,7 +133,6 @@ export type ITuningConfig = {
|
|
|
137
133
|
useManagedMediaSource: boolean;
|
|
138
134
|
useNewPruneBufferStrategy: boolean;
|
|
139
135
|
useNewPartialSegmentFeeding: boolean;
|
|
140
|
-
useSeparateAudioVideoABR: boolean;
|
|
141
136
|
isAudioDisabled: boolean;
|
|
142
137
|
autoplayOnlyInActiveTab: boolean;
|
|
143
138
|
dynamicImportTimeout: Milliseconds;
|