@vkontakte/videoplayer-core 2.0.135-dev.efff7df5.0 → 2.0.135-dev.f33adad6.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.135-dev.efff7df5.0",
3
+ "version": "2.0.135-dev.f33adad6.0",
4
4
  "author": "vk.com",
5
5
  "description": "Videoplayer core library based on the vk.com platform",
6
6
  "homepage": "https://vk.com",
@@ -54,6 +54,6 @@
54
54
  "**/*.d.ts"
55
55
  ],
56
56
  "dependencies": {
57
- "@vkontakte/videoplayer-shared": "1.0.63-dev.d8d79e23.0"
57
+ "@vkontakte/videoplayer-shared": "1.0.63-dev.9546f8a3.0"
58
58
  }
59
59
  }
@@ -83,6 +83,7 @@ export default class Player implements IPlayer {
83
83
  playing$: Subject<void>;
84
84
  paused$: Subject<void>;
85
85
  stopped$: Subject<void>;
86
+ willReady$: Subject<void>;
86
87
  willStart$: Subject<void>;
87
88
  willResume$: Subject<void>;
88
89
  willPause$: Subject<void>;
@@ -115,6 +115,10 @@ export interface IPlayerEvents {
115
115
  * Плеер остановлен
116
116
  */
117
117
  stopped$: IObservable<void>;
118
+ /**
119
+ * Запрошена предзагрузка видео
120
+ */
121
+ willReady$: IObservable<void>;
118
122
  /**
119
123
  * Запрошена пауза
120
124
  */
@@ -1,6 +1,7 @@
1
1
  import { IAudioTrack, IDashURLSource, IHLSSource, IInternalTextTrack, IVideoTrack } from '../../player/types';
2
2
  import { CommonInit, IProviderSubscriptionInfo, ProviderState, Representation, Stream } from './lib/types';
3
3
  import { IProvider, IProviderParams } from '../../providers/types';
4
+ import { IObservableVideo } from '../../providers/utils/HTMLVideoElement/observable';
4
5
  import { TrackHistory } from '../../utils/autoSelectTrack';
5
6
  import { IStateMachine } from '../../utils/StateMachine/types';
6
7
  import { ISubscription, ITracer, Milliseconds } from '@vkontakte/videoplayer-shared';
@@ -18,6 +19,7 @@ export default abstract class BaseDashProvider implements IProvider {
18
19
  protected subscription: ISubscription;
19
20
  protected videoState: IStateMachine<ProviderState>;
20
21
  protected video: HTMLVideoElement;
22
+ protected observableVideo: IObservableVideo | null;
21
23
  protected player: Player;
22
24
  protected params: IParams;
23
25
  protected tracer: ITracer;
@@ -1,6 +1,7 @@
1
1
  import { IAudioTrack, IDashURLSource, IHLSSource, IInternalTextTrack, IVideoTrack } from '../../player/types';
2
2
  import { CommonInit, IProviderSubscriptionInfo, ProviderState, Representation, Stream } from './lib/types';
3
3
  import { IProvider, IProviderParams } from '../../providers/types';
4
+ import { IObservableVideo } from '../../providers/utils/HTMLVideoElement/observable';
4
5
  import { TrackHistory } from '../../utils/autoSelectTrack';
5
6
  import { IStateMachine } from '../../utils/StateMachine/types';
6
7
  import { ISubscription, ITracer, Milliseconds } from '@vkontakte/videoplayer-shared';
@@ -18,6 +19,7 @@ export default abstract class BaseDashProvider implements IProvider {
18
19
  protected subscription: ISubscription;
19
20
  protected videoState: IStateMachine<ProviderState>;
20
21
  protected video: HTMLVideoElement;
22
+ protected observableVideo: IObservableVideo | null;
21
23
  protected player: Player;
22
24
  protected params: IParams;
23
25
  protected tracer: ITracer;
@@ -2,15 +2,36 @@ import { CurrentClientBrowser } from '../../../utils/ClientChecker/types/current
2
2
  import { Checker } from '../../../utils/ClientChecker/types/checker';
3
3
  export declare class BrowserChecker implements Checker {
4
4
  private _current;
5
+ private _current_version;
6
+ private _chromeVersion;
7
+ private _firefoxVersion;
5
8
  private _safariVersion;
9
+ private _operaVersion;
10
+ private _edgeVersion;
11
+ private _yandexVersion;
6
12
  private _isMiuiBrowser;
7
13
  get current(): CurrentClientBrowser;
8
- get isYandex(): boolean;
9
- get isSafari(): boolean;
14
+ get isChrome(): boolean;
10
15
  get isFirefox(): boolean;
16
+ get isSafari(): boolean;
17
+ get isOpera(): boolean;
18
+ get isEdge(): boolean;
19
+ get isYandex(): boolean;
11
20
  get isSamsungBrowser(): boolean;
21
+ get currentVersion(): number | undefined;
22
+ get chromeVersion(): number | undefined;
23
+ get firefoxVersion(): number | undefined;
12
24
  get safariVersion(): number | undefined;
25
+ get operaVersion(): number | undefined;
26
+ get edgeVersion(): number | undefined;
27
+ get yandexVersion(): number | undefined;
13
28
  get isMiuiBrowser(): boolean;
14
29
  detect(): void;
30
+ private detectVersion;
31
+ private detectChromeVersion;
32
+ private detectFirefoxVersion;
15
33
  private detectSafariVersion;
34
+ private detectOperaVersion;
35
+ private detectEdgeVersion;
36
+ private detectYandexVersion;
16
37
  }
@@ -63,6 +63,7 @@ export type ITuningConfig = {
63
63
  maxPossibleStallDuration: Milliseconds;
64
64
  minTvtToBeCounted: Seconds;
65
65
  maxTvtToBeCounted: Seconds;
66
+ significantTvt: Seconds;
66
67
  targetStallsDurationPerTvt: number;
67
68
  deviationStallsDurationPerTvt: number;
68
69
  criticalStallsDurationPerTvt: number;