@vkontakte/videoplayer-core 2.0.117-dev.d9cc3d97.0 → 2.0.118-dev.d798494f.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 +18 -19
- package/es2015.esm.js +18 -19
- package/es2018.cjs.js +22 -23
- package/es2018.esm.js +21 -22
- package/esnext.cjs.js +15 -16
- package/esnext.esm.js +10 -11
- package/evergreen.esm.js +16 -17
- package/package.json +2 -2
- package/types/player/Player.d.ts +0 -1
- package/types/player/types.d.ts +1 -2
- package/types/providers/DashProvider/lib/utils.d.ts +3 -1
- package/types/providers/HlsLiveProvider/index.d.ts +0 -2
- package/types/providers/HlsProvider/manifestDataExtractor.d.ts +1 -1
- package/types/providers/types.d.ts +0 -1
- package/types/utils/tuningConfig.d.ts +0 -2
- package/types/providers/HlsLiveProvider/LiveTextManager.d.ts +0 -42
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/videoplayer-core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.118-dev.d798494f.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.49
|
|
52
|
+
"@vkontakte/videoplayer-shared": "^1.0.49",
|
|
53
53
|
"hls.js": "~1.4.7"
|
|
54
54
|
}
|
|
55
55
|
}
|
package/types/player/Player.d.ts
CHANGED
|
@@ -102,7 +102,6 @@ export default class Player implements IPlayer {
|
|
|
102
102
|
tuningConfigName$: ValueSubject<string[]>;
|
|
103
103
|
enableDebugTelemetry$: ValueSubject<boolean>;
|
|
104
104
|
dumpTelemetry: (receiver: (value: Record<string, any>) => void) => void;
|
|
105
|
-
getCurrentTime$: ValueSubject<null>;
|
|
106
105
|
};
|
|
107
106
|
constructor(tuning?: IOptionalTuningConfig, tracer?: ITracer);
|
|
108
107
|
initVideo(config: IConfig): IPlayer;
|
package/types/player/types.d.ts
CHANGED
|
@@ -71,8 +71,6 @@ export interface IPlayer {
|
|
|
71
71
|
tuningConfigName$: IValueSubject<string[]>;
|
|
72
72
|
enableDebugTelemetry$: IValueSubject<boolean>;
|
|
73
73
|
dumpTelemetry: (receiver: (value: Record<string, any>) => void) => void;
|
|
74
|
-
/** функция вычисления текущей позиции проигрывания из под провадера (если расчет нестандартный) */
|
|
75
|
-
getCurrentTime$: IValueSubject<(() => number) | null>;
|
|
76
74
|
};
|
|
77
75
|
}
|
|
78
76
|
/**
|
|
@@ -490,6 +488,7 @@ export interface IVideoTrack extends IBaseTrack {
|
|
|
490
488
|
quality: VideoQuality;
|
|
491
489
|
size?: IRectangle;
|
|
492
490
|
fps?: number;
|
|
491
|
+
streamId?: IVideoStream['id'];
|
|
493
492
|
}
|
|
494
493
|
export interface IAudioStream {
|
|
495
494
|
id: string;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Representation, Segment, SegmentReference, Stream, TemplateSegment, TemplateSegmentReference, TextRepresentation } from '../../../providers/DashProvider/lib/types';
|
|
2
2
|
import { IAudioStream, IAudioTrack, IInternalTextTrack, IVideoStream, IVideoTrack } from '../../../player/types';
|
|
3
|
-
export declare const representationToVideoTrack: ({ id, width, height, bitrate, fps, quality: qualityString }: Representation
|
|
3
|
+
export declare const representationToVideoTrack: ({ id, width, height, bitrate, fps, quality: qualityString, streamId }: Representation & {
|
|
4
|
+
streamId?: IVideoStream["id"];
|
|
5
|
+
}) => IVideoTrack | undefined;
|
|
4
6
|
export declare const representationToAudioTrack: ({ id, bitrate }: Representation) => IAudioTrack;
|
|
5
7
|
export declare const representationToTextTrack: ({ language, label }: Stream, { id, url, isAuto }: Representation & {
|
|
6
8
|
url: string;
|
|
@@ -13,7 +13,6 @@ export default class HlsLiveProvider implements IProvider {
|
|
|
13
13
|
private video;
|
|
14
14
|
private params;
|
|
15
15
|
private textTracksManager;
|
|
16
|
-
private liveTextManager;
|
|
17
16
|
private masterManifest;
|
|
18
17
|
private manifests$;
|
|
19
18
|
private maxSeekBackTime$;
|
|
@@ -27,6 +26,5 @@ export default class HlsLiveProvider implements IProvider {
|
|
|
27
26
|
private playIfAllowed;
|
|
28
27
|
private seek;
|
|
29
28
|
private syncPlayback;
|
|
30
|
-
private generateLiveUrl;
|
|
31
29
|
}
|
|
32
30
|
export {};
|
|
@@ -17,5 +17,5 @@ type ExtractHLSManifestDataConfig = {
|
|
|
17
17
|
manifestRetryInterval: number;
|
|
18
18
|
manifestRetryMaxInterval: number;
|
|
19
19
|
};
|
|
20
|
-
declare const extractHLSManifestData: (masterManifestUrl: string, baseUrl: string | undefined, config: ExtractHLSManifestDataConfig
|
|
20
|
+
declare const extractHLSManifestData: (masterManifestUrl: string, baseUrl: string | undefined, config: ExtractHLSManifestDataConfig) => Promise<HLSManifestData>;
|
|
21
21
|
export default extractHLSManifestData;
|
|
@@ -153,7 +153,6 @@ export type ITuningConfig = {
|
|
|
153
153
|
useHlsJs: boolean;
|
|
154
154
|
useNativeHLSTextTracks: boolean;
|
|
155
155
|
useManagedMediaSource: boolean;
|
|
156
|
-
useNewPruneBufferStrategy: boolean;
|
|
157
156
|
useNewSwitchTo: boolean;
|
|
158
157
|
useSafariEndlessRequestBugfix: boolean;
|
|
159
158
|
isAudioDisabled: boolean;
|
|
@@ -190,7 +189,6 @@ export type ITuningConfig = {
|
|
|
190
189
|
ignoreAudioRendererError: boolean;
|
|
191
190
|
useEnableSubtitlesParam: boolean;
|
|
192
191
|
useOldMSEDetection: boolean;
|
|
193
|
-
useHlsLiveNewTextManager: boolean;
|
|
194
192
|
};
|
|
195
193
|
export type IOptionalTuningConfig = RecursivePartial<ITuningConfig> & {
|
|
196
194
|
configName: ITuningConfig['configName'];
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { IInternalTextTrack } from '../../player/types';
|
|
2
|
-
import { IValueSubject, Milliseconds, IError, ISubject } from '@vkontakte/videoplayer-shared';
|
|
3
|
-
import { HLSManifestData } from '../HlsProvider/manifestDataExtractor';
|
|
4
|
-
type FetchManifestData = (url: string, init?: RequestInit) => Promise<HLSManifestData>;
|
|
5
|
-
export declare class LiveTextManager {
|
|
6
|
-
private readonly logger;
|
|
7
|
-
private readonly log;
|
|
8
|
-
private readonly params;
|
|
9
|
-
private readonly subscription;
|
|
10
|
-
private readonly abortControllers;
|
|
11
|
-
private readonly numberFormat;
|
|
12
|
-
/** в случае перемотки будет сохранена актуальная ссылка "наконечника" стрима */
|
|
13
|
-
private prepareUrl;
|
|
14
|
-
private currentTextTrackData;
|
|
15
|
-
availableTextTracks$: IValueSubject<IInternalTextTrack[] | null>;
|
|
16
|
-
getCurrentTime$: IValueSubject<(() => number) | null>;
|
|
17
|
-
error$: ISubject<IError>;
|
|
18
|
-
constructor(liveTime$: IValueSubject<Milliseconds | undefined>, video: HTMLVideoElement, fetchManifestData: FetchManifestData, sourceUrl: string);
|
|
19
|
-
destroy(): void;
|
|
20
|
-
/**
|
|
21
|
-
* одноименный метод из провайдера, который дергаем на перемотке,
|
|
22
|
-
* чтобы синхронизировать субтитры с видео\аудио дорожками
|
|
23
|
-
*/
|
|
24
|
-
prepare(url: string): Promise<void>;
|
|
25
|
-
/** тут, на самом деле, мы получаем ссылку на плейлисты для текстовых треков */
|
|
26
|
-
processTextTracks(textTracks: IInternalTextTrack[], baseUrl: string): Promise<void>;
|
|
27
|
-
/**
|
|
28
|
-
* @todo - пока только с 1 стримом работает
|
|
29
|
-
*/
|
|
30
|
-
private parseTextTracks;
|
|
31
|
-
/** парсим плейлист и получаем список треков */
|
|
32
|
-
private parsePlaylist;
|
|
33
|
-
/** забирает значение (value) строки в плейлисте */
|
|
34
|
-
private extractPlaylistRowValue;
|
|
35
|
-
/** обновляет ссылку на текущий сегмент субтитров для UI */
|
|
36
|
-
private processLiveTime;
|
|
37
|
-
/** догружает актуальные сабы */
|
|
38
|
-
private fetchNextManifestData;
|
|
39
|
-
private fetchManifestData;
|
|
40
|
-
private error;
|
|
41
|
-
}
|
|
42
|
-
export {};
|