@vkontakte/videoplayer-core 2.0.177 → 2.0.178-dev.e3b3fe921.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.177",
3
+ "version": "2.0.178-dev.e3b3fe921.0",
4
4
  "author": "vk.ru",
5
5
  "description": "Videoplayer core library based on the vk.ru platform",
6
6
  "homepage": "https://vk.ru",
@@ -42,6 +42,6 @@
42
42
  "**/*.d.ts"
43
43
  ],
44
44
  "dependencies": {
45
- "@vkontakte/videoplayer-shared": "1.0.106"
45
+ "@vkontakte/videoplayer-shared": "1.0.107-dev.e3b3fe921.0"
46
46
  }
47
47
  }
package/types/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import type { IMpegSource, IDashSource, IHLSSource, IDashURLSource, IHLSLiveSour
3
3
  import type { VideoCodec } from "./player/types";
4
4
  import { VideoFormat, Surface, PredefinedQualityLimits, VideoCodecName } from "./player/types";
5
5
  import Player from "./player/Player";
6
- import type { IPlayer, IPlayerInfo, IPlayerEvents, IConfig, ISources, ICueSettings, IExternalTextTrack, ITextTrack, PlaybackRate, IVideoStream, IAudioStream } from "./player/types";
6
+ import type { IPlayer, IPlayerInfo, IPlayerEvents, IConfig, ISources, ICueSettings, IExternalTextTrack, ITextTrack, PlaybackRate, IVideoStream, IAudioStream, StartEnd, HttpConnectionMetrics, HttpDownloadMetrics } from "./player/types";
7
7
  import { PlaybackState, ChromecastState, HttpConnectionType } from "./player/types";
8
8
  import type { IOptionalTuningConfig } from "./utils/tuningConfig";
9
9
  export { clientChecker, isMobile } from "./utils/ClientChecker";
@@ -15,5 +15,5 @@ import { Subscription, Observable, Subject, ValueSubject, VideoQuality } from "@
15
15
  * @deprecated
16
16
  */
17
17
  declare const SDK_VERSION: string;
18
- export type { IPlayer, IPlayerInfo, IPlayerEvents, IConfig, IOptionalTuningConfig, ILogEntry, ISources, IExternalTextTrack, ITextTrack, ISubscription, IUnsubscriber, IObservable, IEmitter, IValueObservable, IValue, IOperator, IListener, IMpegSource, IDashSource, IDashURLSource, IHLSSource, IHLSLiveSource, URLSource, RawSource, URLSourceWithSeek, ExactVideoQuality, IRange, ISeekRequest, ICueSettings, PlaybackRate, IVideoStream, IAudioStream };
18
+ export type { IPlayer, IPlayerInfo, IPlayerEvents, IConfig, IOptionalTuningConfig, ILogEntry, ISources, IExternalTextTrack, ITextTrack, ISubscription, IUnsubscriber, IObservable, IEmitter, IValueObservable, IValue, IOperator, IListener, IMpegSource, IDashSource, IDashURLSource, IHLSSource, IHLSLiveSource, URLSource, RawSource, URLSourceWithSeek, ExactVideoQuality, IRange, ISeekRequest, ICueSettings, PlaybackRate, IVideoStream, IAudioStream, StartEnd, HttpConnectionMetrics, HttpDownloadMetrics };
19
19
  export { Player, PlaybackState, ChromecastState, HttpConnectionType, Surface, Subscription, VideoFormat, VideoQuality, Observable, Subject, ValueSubject, VERSION, SDK_VERSION, PredefinedQualityLimits, VideoCodec, VideoCodecName };
@@ -1,4 +1,4 @@
1
- import type { IAbrController, IAbrRule, IBaseAbrControllerContext, IRuleInitContext, RuleLogData } from "./types";
1
+ import type { AbrLimitSources, IAbrController, IAbrRule, IBaseAbrControllerContext, IRuleInitContext, RuleLogData } from "./types";
2
2
  import type { IBaseTrack } from "../../../player/types";
3
3
  export declare const formatRuleLog: ({ name, ...logData }: RuleLogData) => string;
4
4
  export default class AbrController<
@@ -8,7 +8,9 @@ export default class AbrController<
8
8
  private history;
9
9
  private rules;
10
10
  private _context;
11
+ private _limitSources;
11
12
  get context(): C;
13
+ get limitSources(): AbrLimitSources;
12
14
  init(rules: IAbrRule<T, C>[], initContext: IRuleInitContext): void;
13
15
  destroy(): void;
14
16
  updateContext(context: C): void;
@@ -5,6 +5,10 @@ import type { Representation, Segment } from "../parsers/types";
5
5
  import type { ElementSizeManager } from "../HTMLVideoElement/ElementSizeManager";
6
6
  import type { IObservableMediaElement } from "../HTMLVideoElement/observable";
7
7
  import type { AbrPhase } from "./controllers/abrPhaseController";
8
+ export type AbrLimitSources = {
9
+ readonly above: string | undefined;
10
+ readonly below: string | undefined;
11
+ };
8
12
  export declare enum RuleConfidence {
9
13
  Low = 0,
10
14
  Normal = 1,
@@ -97,6 +101,7 @@ export interface IAbrController<T extends IBaseTrack> {
97
101
  destroy(): void;
98
102
  updateContext(context: IBaseAbrControllerContext): void;
99
103
  autoSelectTrack(rules?: IAbrRule<T, IBaseAbrControllerContext>[]): T;
104
+ readonly limitSources: AbrLimitSources;
100
105
  }
101
106
  export interface IBaseAbrControllerContext extends IVideoTracksContext {
102
107
  currentVideoTrack: Nullable<IVideoTrack>;