@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/videoplayer-core",
3
- "version": "2.0.108-dev.43b53ca1.0",
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.0f7bb846.0",
52
+ "@vkontakte/videoplayer-shared": "1.0.40-dev.349a673a.0",
53
53
  "hls.js": "~1.4.7"
54
54
  }
55
55
  }
@@ -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<import("./types").IBaseTrack[]>;
35
+ availableAudioTracks$: ValueSubject<IAudioTrack[]>;
36
36
  isAudioAvailable$: ValueSubject<boolean>;
37
37
  currentPlaybackRate$: ValueSubject<number>;
38
38
  currentBuffer$: ValueSubject<StartEnd<number>>;
@@ -475,12 +475,10 @@ export interface IVideoStream {
475
475
  codec?: string;
476
476
  label?: string;
477
477
  }
478
- export interface IBaseTrack {
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 type IAudioTrack = IBaseTrack;
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<IVideoTrack>;
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 { IAudioTrack, IBaseTrack, IVideoTrack } from '../player/types';
4
- interface IConstraints<T extends IBaseTrack> {
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?: T;
13
- history?: TrackHistory<T>;
12
+ current?: IVideoTrack;
13
+ history?: TrackHistory;
14
14
  droppedVideoMaxQualityLimit?: ExactVideoQuality;
15
15
  abrLogger: IComponentLogger;
16
16
  }
17
- export declare class TrackHistory<T extends IBaseTrack> {
18
- last: T | undefined;
19
- history: Record<IBaseTrack['id'], Milliseconds>;
20
- recordSelection(track: T): void;
21
- recordSwitch(track: T | undefined): void;
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
- export declare const getMinPossibleAudioForVideo: (videoTrack: IVideoTrack, videoTracks: IVideoTrack[], audioTracks: IAudioTrack[], minVideoAudioRatio: number) => IAudioTrack | undefined;
26
- export declare const autoSelectVideoTrack: (videoTracks: IVideoTrack[], { container, throughput, tuning, limits, reserve, forwardBufferHealth, playbackRate, current, history, droppedVideoMaxQualityLimit, abrLogger, }: IConstraints<IVideoTrack>) => IVideoTrack;
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;