@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/videoplayer-core",
3
- "version": "2.0.117-dev.d9cc3d97.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-dev.ed1df4eb.0",
52
+ "@vkontakte/videoplayer-shared": "^1.0.49",
53
53
  "hls.js": "~1.4.7"
54
54
  }
55
55
  }
@@ -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;
@@ -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) => IVideoTrack | undefined;
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, init?: RequestInit) => Promise<HLSManifestData>;
20
+ declare const extractHLSManifestData: (masterManifestUrl: string, baseUrl: string | undefined, config: ExtractHLSManifestDataConfig) => Promise<HLSManifestData>;
21
21
  export default extractHLSManifestData;
@@ -91,5 +91,4 @@ export interface IProviderOutput {
91
91
  inPiP$: IValueSubject<boolean>;
92
92
  inFullscreen$: IValueSubject<boolean>;
93
93
  playbackState$: IValueSubject<PlaybackState | string>;
94
- getCurrentTime$: IValueSubject<(() => number) | null>;
95
94
  }
@@ -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 {};