@vkontakte/videoplayer-core 2.0.70 → 2.0.71

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/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VideoFormat, IMpegSource, IDashSource, IHLSSource, IDashURLSource, IHLSLiveSource, StartStatus, ISeekRequest, URLSource, RawSource, URLSourceWithSeek } from "./player/types";
2
2
  import Player from "./player/Player";
3
- import { IPlayer, PlaybackState, IPlayerInfo, IPlayerEvents, IConfig, ISources, ICueSettings, ChromecastState, HttpConnectionType, IExternalTextTrack, ITextTrack } from "./player/types";
3
+ import { IPlayer, PlaybackState, IPlayerInfo, IPlayerEvents, IConfig, ISources, ICueSettings, ChromecastState, HttpConnectionType, IExternalTextTrack, ITextTrack, PlaybackRate } from "./player/types";
4
4
  import { VideoQuality, ExactVideoQuality } from "./utils/quality/types";
5
5
  import type { ISubscription, IUnsubscriber, IEmitter, IObservable, IValueObservable, IValue, IOperator, IListener, ILogEntry, IRange } from '@vkontakte/videoplayer-shared';
6
6
  import { Subscription, Observable, Subject, ValueSubject } from '@vkontakte/videoplayer-shared';
@@ -8,4 +8,4 @@ import { Subscription, Observable, Subject, ValueSubject } from '@vkontakte/vide
8
8
  * Версия sdk
9
9
  */
10
10
  declare const SDK_VERSION: string;
11
- export { Player, IPlayer, PlaybackState, IPlayerInfo, IPlayerEvents, IConfig, ILogEntry, ISources, IExternalTextTrack, ITextTrack, ChromecastState, HttpConnectionType, Subscription, ISubscription, IUnsubscriber, IObservable, IEmitter, IValueObservable, IValue, IOperator, IListener, VideoFormat, IMpegSource, IDashSource, IDashURLSource, IHLSSource, IHLSLiveSource, URLSource, RawSource, URLSourceWithSeek, VideoQuality, ExactVideoQuality, Observable, Subject, ValueSubject, IRange, StartStatus, ISeekRequest, ICueSettings, SDK_VERSION, };
11
+ export { Player, IPlayer, PlaybackState, IPlayerInfo, IPlayerEvents, IConfig, ILogEntry, ISources, IExternalTextTrack, ITextTrack, ChromecastState, HttpConnectionType, Subscription, ISubscription, IUnsubscriber, IObservable, IEmitter, IValueObservable, IValue, IOperator, IListener, VideoFormat, IMpegSource, IDashSource, IDashURLSource, IHLSSource, IHLSLiveSource, URLSource, RawSource, URLSourceWithSeek, VideoQuality, ExactVideoQuality, Observable, Subject, ValueSubject, IRange, StartStatus, ISeekRequest, ICueSettings, SDK_VERSION, PlaybackRate, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/videoplayer-core",
3
- "version": "2.0.70",
3
+ "version": "2.0.71",
4
4
  "author": "vk.com",
5
5
  "description": "Videoplayer core library based on the vk.com platform",
6
6
  "homepage": "https://vk.com",
@@ -3,7 +3,7 @@ import { ITuningConfig } from "../utils/tuningConfig";
3
3
  import { ILogger, ISubject, IValueSubject, Milliseconds, Seconds, IRange, IError } from '@vkontakte/videoplayer-shared';
4
4
  import { IChromecastInitializer } from "./ChromecastProvider/ChromecastInitializer/types";
5
5
  import { HttpConnectionType, ICueSettings, SeekState } from "../player/types";
6
- import { IExternalTextTrack, ITextTrack, IVideoTrack, IVolumeState, PlaybackState } from "../player/types";
6
+ import { IExternalTextTrack, ITextTrack, IVideoTrack, IVolumeState, PlaybackState, PlaybackRate } from "../player/types";
7
7
  import { IStateMachine } from "../utils/StateMachine/types";
8
8
  import ThroughputEstimator from "../utils/ThroughputEstimator";
9
9
  export interface IProvider {
@@ -27,6 +27,7 @@ export interface IDesiredState {
27
27
  playbackState: IStateMachine<PlaybackState>;
28
28
  seekState: IStateMachine<SeekState>;
29
29
  volume: IStateMachine<IVolumeState>;
30
+ playbackRate: IStateMachine<PlaybackRate>;
30
31
  videoTrack: IStateMachine<IVideoTrack['id'] | undefined>;
31
32
  autoVideoTrackSwitching: IStateMachine<boolean>;
32
33
  autoVideoTrackLimits: IStateMachine<QualityLimits>;
@@ -1,4 +1,4 @@
1
- import { HttpConnectionType, ICueSettings, StartEnd } from "./types";
1
+ import { HttpConnectionType, ICueSettings, StartEnd, PlaybackRate } from "./types";
2
2
  import { QualityLimits, VideoQuality } from "../utils/quality/types";
3
3
  import { IOptionalTuningConfig } from "../utils/tuningConfig";
4
4
  import { IError, ILogEntry, Seconds, Subject, ValueSubject } from '@vkontakte/videoplayer-shared';
@@ -28,6 +28,7 @@ export default class Player implements IPlayer {
28
28
  isAutoQualityEnabled$: ValueSubject<boolean>;
29
29
  autoQualityLimitingAvailable$: ValueSubject<boolean>;
30
30
  autoQualityLimits$: ValueSubject<QualityLimits>;
31
+ currentPlaybackRate$: ValueSubject<number>;
31
32
  currentBuffer$: ValueSubject<StartEnd<number>>;
32
33
  isBuffering$: ValueSubject<boolean>;
33
34
  isStalled$: ValueSubject<boolean>;
@@ -93,6 +94,7 @@ export default class Player implements IPlayer {
93
94
  setQuality(quality: VideoQuality): IPlayer;
94
95
  setAutoQuality(enable: boolean): IPlayer;
95
96
  setAutoQualityLimits(limits: QualityLimits): IPlayer;
97
+ setPlaybackRate(playbackRate: PlaybackRate): IPlayer;
96
98
  setExternalTextTracks(tracks: Omit<IExternalTextTrack, 'type'>[]): IPlayer;
97
99
  selectTextTrack(id: ITextTrack['id'] | undefined): IPlayer;
98
100
  setTextTrackCueSettings(settings: ICueSettings): IPlayer;
package/player/types.d.ts CHANGED
@@ -35,6 +35,7 @@ export interface IPlayer {
35
35
  setQuality(quality: VideoQuality): IPlayer;
36
36
  setAutoQuality(enable: boolean): IPlayer;
37
37
  setAutoQualityLimits(limit: QualityLimits): IPlayer;
38
+ setPlaybackRate(playbackRate: PlaybackRate): IPlayer;
38
39
  setLooped(isLooped: boolean): IPlayer;
39
40
  setExternalTextTracks(tracks: Omit<IExternalTextTrack, 'type'>[]): IPlayer;
40
41
  selectTextTrack(id: ITextTrack['id'] | undefined): IPlayer;
@@ -206,6 +207,10 @@ export interface IPlayerInfo {
206
207
  * Текущие лимиты авто-качества
207
208
  */
208
209
  autoQualityLimits$: IValueObservable<QualityLimits>;
210
+ /**
211
+ * Текущая скорость воспроизведения
212
+ */
213
+ currentPlaybackRate$: IValueObservable<PlaybackRate>;
209
214
  /**
210
215
  * Текущий буффер (тот, который содержит текущую позицию воспроизведения)
211
216
  *
@@ -432,4 +437,5 @@ declare type SeekStateNotNone = {
432
437
  };
433
438
  export declare type SeekState = SeekStateNone | SeekStateNotNone;
434
439
  export declare type FpsByQuality = Partial<Record<VideoQuality, number>>;
440
+ export declare type PlaybackRate = number;
435
441
  export {};
@@ -1,5 +1,5 @@
1
1
  import { Seconds, IRange, IObservable, IError } from '@vkontakte/videoplayer-shared';
2
- import { IVolumeState } from "../../player/types";
2
+ import { IVolumeState, PlaybackRate } from "../../player/types";
3
3
  interface IObservableVideo {
4
4
  playing$: IObservable<undefined>;
5
5
  pause$: IObservable<undefined>;
@@ -18,6 +18,7 @@ interface IObservableVideo {
18
18
  isBuffering$: IObservable<boolean>;
19
19
  currentBuffer$: IObservable<IRange<Seconds>>;
20
20
  volumeState$: IObservable<IVolumeState>;
21
+ playbackRateState$: IObservable<PlaybackRate>;
21
22
  }
22
23
  export declare const observe: (video: HTMLVideoElement) => IObservableVideo;
23
24
  export {};
@@ -1,5 +1,5 @@
1
1
  import { IListener, IObservable, ISubscription } from '@vkontakte/videoplayer-shared';
2
- import { IVolumeState } from "../../player/types";
2
+ import { IVolumeState, PlaybackRate } from "../../player/types";
3
3
  import { IStateMachine } from "../../utils/StateMachine/types";
4
4
  declare const syncDesiredState: <Value>(desiredState: IStateMachine<Value | undefined>, get: () => Value | undefined, set: (value: Value | undefined) => void, { equal, changed$, onError, }?: {
5
5
  equal?: ((a: Value | undefined, b: Value | undefined) => boolean) | undefined;
@@ -8,4 +8,5 @@ declare const syncDesiredState: <Value>(desiredState: IStateMachine<Value | unde
8
8
  }) => ISubscription;
9
9
  export declare const syncVideoLooped: (video: HTMLVideoElement, desiredState: IStateMachine<boolean>, onError?: IListener<Error | unknown>) => ISubscription;
10
10
  export declare const syncVideoVolumeState: (video: HTMLVideoElement, desiredState: IStateMachine<IVolumeState>, changed$: IObservable<IVolumeState>, onError?: IListener<Error | unknown>) => ISubscription;
11
+ export declare const syncVideoPlaybackRate: (video: HTMLVideoElement, desiredState: IStateMachine<PlaybackRate>, changed$: IObservable<PlaybackRate>, onError?: IListener<Error | unknown>) => ISubscription;
11
12
  export default syncDesiredState;