@vkontakte/videoplayer-core 2.0.154-dev.ffe03d52.0 → 2.0.154
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 +24 -24
- package/es2015.esm.js +21 -21
- package/es2018.cjs +23 -23
- package/es2018.esm.js +21 -21
- package/es2024.cjs +26 -26
- package/es2024.esm.js +22 -22
- package/esnext.cjs +26 -26
- package/esnext.esm.js +22 -22
- package/evergreen.esm.js +22 -22
- package/package.json +2 -2
- package/types/player/Player.d.ts +2 -1
- package/types/player/types.d.ts +2 -0
- package/types/providers/DashProvider/lib/utils.d.ts +1 -1
- package/types/providers/utils/HTMLVideoElement/destroy.d.ts +1 -1
- package/types/providers/utils/HTMLVideoElement/pool.d.ts +3 -3
- package/types/providers/utils/parsers/types.d.ts +6 -0
- package/types/providers/utils/videoStreamRepresentaionsFilter.d.ts +1 -1
- package/types/utils/tuningConfig.d.ts +12 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/videoplayer-core",
|
|
3
|
-
"version": "2.0.154
|
|
3
|
+
"version": "2.0.154",
|
|
4
4
|
"author": "vk.com",
|
|
5
5
|
"description": "Videoplayer core library based on the vk.com platform",
|
|
6
6
|
"homepage": "https://vk.com",
|
|
@@ -54,6 +54,6 @@
|
|
|
54
54
|
"**/*.d.ts"
|
|
55
55
|
],
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@vkontakte/videoplayer-shared": "1.0.83
|
|
57
|
+
"@vkontakte/videoplayer-shared": "1.0.83"
|
|
58
58
|
}
|
|
59
59
|
}
|
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, ITracer } from '@vkontakte/videoplayer-shared';
|
|
3
|
-
import { ChromecastState, HttpConnectionType, HttpConnectionMetrics, HttpDownloadMetrics, IAudioStream, IConfig, ICueSettings, IExternalTextTrack, IPlayer, ISeekRequest, ISources, ITextTrack, IVideoStream, PlaybackRate, PlaybackState, PredefinedQualityLimits, StartEnd, Surface, VideoFormat } from './types';
|
|
3
|
+
import { ChromecastState, HttpConnectionType, HttpConnectionMetrics, HttpDownloadMetrics, IAudioStream, IConfig, ICueSettings, IExternalTextTrack, IPlayer, ISeekRequest, ISources, ITextTrack, IVideoStream, IVideoTrack, PlaybackRate, PlaybackState, PredefinedQualityLimits, StartEnd, Surface, VideoFormat } from './types';
|
|
4
4
|
import { IPlayerOptions } from '../utils/playerOptions';
|
|
5
5
|
export default class Player implements IPlayer {
|
|
6
6
|
private subscription;
|
|
@@ -31,6 +31,7 @@ export default class Player implements IPlayer {
|
|
|
31
31
|
volume$: ValueSubject<number>;
|
|
32
32
|
availableVideoStreams$: ValueSubject<IVideoStream[]>;
|
|
33
33
|
currentVideoStream$: ValueSubject<IVideoStream | undefined>;
|
|
34
|
+
availableVideoTracks$: ValueSubject<IVideoTrack[]>;
|
|
34
35
|
availableQualities$: ValueSubject<VideoQuality[]>;
|
|
35
36
|
availableQualitiesFps$: ValueSubject<Partial<Record<VideoQuality, number>>>;
|
|
36
37
|
currentQuality$: ValueSubject<VideoQuality | undefined>;
|
package/types/player/types.d.ts
CHANGED
|
@@ -263,6 +263,7 @@ export interface IPlayerInfo {
|
|
|
263
263
|
volume$: IValueObservable<number>;
|
|
264
264
|
currentVideoStream$: IValueObservable<IVideoStream | undefined>;
|
|
265
265
|
availableVideoStreams$: IValueObservable<IVideoStream[]>;
|
|
266
|
+
availableVideoTracks$: IValueObservable<IVideoTrack[]>;
|
|
266
267
|
currentAudioStream$: IValueObservable<IAudioStream | undefined>;
|
|
267
268
|
availableAudioStreams$: IValueObservable<IAudioStream[]>;
|
|
268
269
|
/**
|
|
@@ -575,6 +576,7 @@ export interface IVideoTrack extends IBaseTrack {
|
|
|
575
576
|
size?: IRectangle;
|
|
576
577
|
fps?: number;
|
|
577
578
|
streamId?: IVideoStream['id'];
|
|
579
|
+
tvDisabled?: boolean;
|
|
578
580
|
}
|
|
579
581
|
export interface IAudioStream {
|
|
580
582
|
id: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Representation, Segment, SegmentReference, Stream, TemplateSegment, TemplateSegmentReference, TextRepresentation } from '../../../providers/utils/parsers/types';
|
|
2
2
|
import { IAudioStream, IAudioTrack, IInternalTextTrack, IVideoStream, IVideoTrack } from '../../../player/types';
|
|
3
|
-
export declare const representationToVideoTrack: ({ id, width, height, bitrate, fps, quality: qualityString, streamId }: Representation) => IVideoTrack | undefined;
|
|
3
|
+
export declare const representationToVideoTrack: ({ id, width, height, bitrate, fps, quality: qualityString, streamId, tvDisabled }: Representation) => IVideoTrack | undefined;
|
|
4
4
|
export declare const representationToAudioTrack: ({ id, bitrate }: Representation) => IAudioTrack;
|
|
5
5
|
export declare const representationToTextTrack: ({ language, label }: Stream, { id, url, isAuto }: Representation & {
|
|
6
6
|
url: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const destroy: (video: HTMLVideoElement) => void;
|
|
1
|
+
export declare const destroy: (video: HTMLVideoElement, clearVideoElementInnerHTML: boolean) => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ITuningConfig } from '../../../utils/tuningConfig';
|
|
2
|
-
type Constraints = Pick<ITuningConfig, 'audioVideoSyncRate' | 'disableYandexPiP'>;
|
|
3
|
-
export declare const allocate: (container: HTMLElement, { audioVideoSyncRate, disableYandexPiP }: Constraints) => HTMLVideoElement;
|
|
4
|
-
export declare const dispose: (element: HTMLVideoElement) => void;
|
|
2
|
+
type Constraints = Pick<ITuningConfig, 'audioVideoSyncRate' | 'disableYandexPiP' | 'clearVideoElementInnerHTML'>;
|
|
3
|
+
export declare const allocate: (container: HTMLElement, { audioVideoSyncRate, disableYandexPiP, clearVideoElementInnerHTML }: Constraints) => HTMLVideoElement;
|
|
4
|
+
export declare const dispose: (element: HTMLVideoElement, keepElement?: boolean, clearVideoElementInnerHTML?: boolean) => void;
|
|
5
5
|
export {};
|
|
@@ -23,6 +23,12 @@ export interface Representation {
|
|
|
23
23
|
fps?: number;
|
|
24
24
|
quality?: string;
|
|
25
25
|
streamId?: IVideoStream['id'];
|
|
26
|
+
/**
|
|
27
|
+
* @see https://jira.vk.team/browse/UVP-9492
|
|
28
|
+
*
|
|
29
|
+
* помечает видео дорожку как неиспользуемую для телевизоров
|
|
30
|
+
*/
|
|
31
|
+
tvDisabled?: boolean;
|
|
26
32
|
}
|
|
27
33
|
export interface TextRepresentation extends Representation {
|
|
28
34
|
language: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ITuningConfig } from '../../utils/tuningConfig';
|
|
2
2
|
import { Manifest } from './parsers/types';
|
|
3
3
|
/** @mutates streams.video */
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const markVideoStreamRepresentaionsFilter: (streams: Manifest["streams"], videoStreamRepresentaionsFilter: ITuningConfig["dash"]["videoStreamRepresentaionsFilter"]) => void;
|
|
@@ -6,6 +6,18 @@ import { Byte, type ExactVideoQuality, Milliseconds, RecursivePartial, Seconds,
|
|
|
6
6
|
export type ITuningConfig = {
|
|
7
7
|
/** @deprecated */
|
|
8
8
|
configName?: string[];
|
|
9
|
+
/**
|
|
10
|
+
* Если true, внутренний video элемент не будет уничтожаться при реините провайдера
|
|
11
|
+
* и при создании нового экземляра Player.
|
|
12
|
+
* Будет веcти себя аналогично элементу переданному снаружи
|
|
13
|
+
*/
|
|
14
|
+
keepVideoElement: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Временный флаг для тестирования очистки video элемента
|
|
17
|
+
* Если true, при очистке будет вызван innerHTML = '' для очистки дочерних элементов трэков
|
|
18
|
+
* В противном случае они размножаются
|
|
19
|
+
*/
|
|
20
|
+
clearVideoElementInnerHTML: boolean;
|
|
9
21
|
throughputEstimator: {
|
|
10
22
|
type: 'TwoEma' | 'EmaAndMa';
|
|
11
23
|
emaAlphaSlow: number;
|