@vkontakte/videoplayer-core 2.0.36 → 2.0.37
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.cjs.js +4 -4
- package/index.esm.js +4 -4
- package/package.json +1 -1
- package/{env.d.ts → sdk/src/env.d.ts} +0 -0
- package/{index.d.ts → sdk/src/index.d.ts} +0 -0
- package/{player → sdk/src/player}/Player.d.ts +0 -0
- package/{player → sdk/src/player}/types.d.ts +0 -0
- package/{player → sdk/src/player}/utils/position.d.ts +0 -0
- package/{player → sdk/src/player}/utils/selectContainer.d.ts +0 -0
- package/{player → sdk/src/player}/utils/watchCoverage.d.ts +0 -0
- package/{providers → sdk/src/providers}/ChromecastProvider/ChromecastInitializer/index.d.ts +0 -0
- package/{providers → sdk/src/providers}/ChromecastProvider/ChromecastInitializer/types.d.ts +0 -0
- package/{providers → sdk/src/providers}/ChromecastProvider/index.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashIFProvider/BigRequestLoader.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashIFProvider/dashjsTypes.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashIFProvider/index.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashIFProvider/observableManifestLoader.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashIFProvider/stripRangeHeader.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashLiveProvider/DashLiveProvider.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashLiveProvider/index.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashLiveProvider/types.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashLiveProvider/utils/FilesFetcher.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashLiveProvider/utils/LiveDashPlayer.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashLiveProvider/utils/ThroughputEstimator.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashLiveProvider/utils/liveDashPlayerUtil.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashProvider/DashProvider.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashProvider/index.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashProvider/types.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashProvider/utils/DashLite.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashProvider/utils/stream.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashProvider/utils/xhr2.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashVKProvider/index.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashVKProvider/lib/buffer.d.ts +1 -0
- package/{providers → sdk/src/providers}/DashVKProvider/lib/ebml.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashVKProvider/lib/fetch.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashVKProvider/lib/mpd.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashVKProvider/lib/player.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashVKProvider/lib/types.d.ts +0 -0
- package/{providers → sdk/src/providers}/DashVKProvider/lib/webm.d.ts +0 -0
- package/{providers → sdk/src/providers}/HlsJsProvider/index.d.ts +0 -0
- package/{providers → sdk/src/providers}/HlsLiveProvider/index.d.ts +0 -0
- package/{providers → sdk/src/providers}/HlsLiveProvider/seekBackTimeExtractor.d.ts +0 -0
- package/{providers → sdk/src/providers}/HlsProvider/index.d.ts +0 -0
- package/{providers → sdk/src/providers}/HlsProvider/qualityExtractor.d.ts +0 -0
- package/{providers → sdk/src/providers}/MpegProvider/index.d.ts +0 -0
- package/{providers → sdk/src/providers}/ProviderContainer/index.d.ts +0 -0
- package/{providers → sdk/src/providers}/ProviderContainer/types.d.ts +0 -0
- package/{providers → sdk/src/providers}/ProviderContainer/utils/formatsSupport.d.ts +0 -0
- package/{providers → sdk/src/providers}/ProviderContainer/utils/playbackHangup.d.ts +0 -0
- package/{providers → sdk/src/providers}/types.d.ts +0 -0
- package/{providers → sdk/src/providers}/utils/HtmlVideoTextTrackManager.d.ts +0 -0
- package/{providers → sdk/src/providers}/utils/LiveOffset/index.d.ts +0 -0
- package/{providers → sdk/src/providers}/utils/LiveOffset/types.d.ts +0 -0
- package/{providers → sdk/src/providers}/utils/firstBytesEventForVideoElement.d.ts +0 -0
- package/{providers → sdk/src/providers}/utils/firstFrameEvent.d.ts +0 -0
- package/{providers → sdk/src/providers}/utils/forcePlay.d.ts +0 -0
- package/{providers → sdk/src/providers}/utils/generateLiveUrl.d.ts +0 -0
- package/{providers → sdk/src/providers}/utils/initVideoInContainer.d.ts +0 -0
- package/{providers → sdk/src/providers}/utils/observableVideo.d.ts +0 -0
- package/{providers → sdk/src/providers}/utils/syncDesiredState.d.ts +0 -0
- package/{providers → sdk/src/providers}/utils/syncPlaybackState.d.ts +0 -0
- package/{utils → sdk/src/utils}/StateMachine/StateMachine.d.ts +0 -0
- package/{utils → sdk/src/utils}/StateMachine/types.d.ts +0 -0
- package/{utils → sdk/src/utils}/StatefulIterator/StatefulIterator.spec.d.ts +0 -0
- package/{utils → sdk/src/utils}/StatefulIterator/index.d.ts +0 -0
- package/sdk/src/utils/ThroughputEstimator.d.ts +25 -0
- package/{utils → sdk/src/utils}/addScript.d.ts +0 -0
- package/{utils → sdk/src/utils}/autoSelectVideoTrack.d.ts +0 -0
- package/{utils → sdk/src/utils}/buffer/HttpVideoBuffer.d.ts +0 -0
- package/{utils → sdk/src/utils}/buffer/getBufferedRangeForPosition.d.ts +0 -0
- package/{utils → sdk/src/utils}/buffer/getForwardBufferDuration.d.ts +0 -0
- package/{utils → sdk/src/utils}/buffer/types.d.ts +0 -0
- package/{utils → sdk/src/utils}/hostnameFromUrl.d.ts +0 -0
- package/{utils → sdk/src/utils}/iframeSafeStorage.d.ts +0 -0
- package/{utils → sdk/src/utils}/isSafari.d.ts +0 -0
- package/{utils → sdk/src/utils}/link.d.ts +0 -0
- package/{utils → sdk/src/utils}/observeElementSize.d.ts +0 -0
- package/{utils → sdk/src/utils}/playbackTelemetry.d.ts +0 -0
- package/{utils → sdk/src/utils}/quality/quality.spec.d.ts +0 -0
- package/{utils → sdk/src/utils}/quality/types.d.ts +0 -0
- package/{utils → sdk/src/utils}/quality/utils.d.ts +0 -0
- package/{utils → sdk/src/utils}/range.d.ts +0 -0
- package/{utils → sdk/src/utils}/rectangle.d.ts +0 -0
- package/sdk/src/utils/smoothedValue.d.ts +24 -0
- package/{utils → sdk/src/utils}/tuningConfig.d.ts +1 -1
- package/{utils → sdk/src/utils}/videoFormat.d.ts +0 -0
- package/shared/src/Logger/Logger.d.ts +10 -0
- package/shared/src/Logger/index.d.ts +2 -0
- package/shared/src/index.d.ts +4 -0
- package/shared/src/reactive/Observable.d.ts +7 -0
- package/shared/src/reactive/Subject.d.ts +10 -0
- package/shared/src/reactive/Subscription.d.ts +6 -0
- package/shared/src/reactive/ValueSubject.d.ts +10 -0
- package/shared/src/reactive/combine.d.ts +10 -0
- package/shared/src/reactive/fromEvent.d.ts +7 -0
- package/shared/src/reactive/index.d.ts +19 -0
- package/shared/src/reactive/merge.d.ts +12 -0
- package/shared/src/reactive/observableFrom.d.ts +3 -0
- package/shared/src/reactive/operators/debounce.d.ts +6 -0
- package/shared/src/reactive/operators/filter.d.ts +3 -0
- package/shared/src/reactive/operators/filterChanged.d.ts +5 -0
- package/shared/src/reactive/operators/map.d.ts +2 -0
- package/shared/src/reactive/operators/mapTo.d.ts +2 -0
- package/shared/src/reactive/operators/once.d.ts +5 -0
- package/shared/src/reactive/operators/pairwise.d.ts +4 -0
- package/shared/src/reactive/operators/tap.d.ts +2 -0
- package/shared/src/reactive/operators/throttle.d.ts +5 -0
- package/shared/src/reactive/timeout.d.ts +3 -0
- package/shared/src/types/index.d.ts +18 -0
- package/shared/src/utils/addScript.d.ts +1 -0
- package/shared/src/utils/index.d.ts +5 -0
- package/shared/src/utils/never.d.ts +2 -0
- package/shared/src/utils/noop.d.ts +1 -0
- package/shared/src/utils/nullable.d.ts +6 -0
- package/utils/ThroughputEstimator.d.ts +0 -31
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -22,6 +22,7 @@ export declare class BufferManager {
|
|
|
22
22
|
private segmentDownloadPromise;
|
|
23
23
|
private abortController;
|
|
24
24
|
private loadAllInitsPromise;
|
|
25
|
+
private allInitsLoaded;
|
|
25
26
|
private throughputEstimator;
|
|
26
27
|
private tuning;
|
|
27
28
|
constructor(kind: RepresentationKind, mediaSource: MediaSource, representations: Representation[], { throughputEstimator, tuning }: Dependencies);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Byte, Kbps, Milliseconds } from '@vkontakte/videoplayer-shared';
|
|
2
|
+
import { ITuningConfig } from "./tuningConfig";
|
|
3
|
+
import { IValueSubject } from '../../../shared/src';
|
|
4
|
+
declare class ThroughputEstimator {
|
|
5
|
+
private throughput;
|
|
6
|
+
private rtt;
|
|
7
|
+
private subscription;
|
|
8
|
+
private tuningConfig;
|
|
9
|
+
throughput$: IValueSubject<Kbps>;
|
|
10
|
+
rtt$: IValueSubject<Milliseconds>;
|
|
11
|
+
rttAdjustedThroughput$: IValueSubject<Kbps>;
|
|
12
|
+
constructor(tuning: ITuningConfig['throughputEstimator']);
|
|
13
|
+
destroy(): void;
|
|
14
|
+
trackXHR(xhr: XMLHttpRequest): void;
|
|
15
|
+
trackStream(stream: ReadableStream): void;
|
|
16
|
+
addRawSpeed(size: Byte, time: Milliseconds): void;
|
|
17
|
+
/**
|
|
18
|
+
* Стоит использовать только когда другие методы совсем не получается
|
|
19
|
+
*/
|
|
20
|
+
addRawThroughput(rate: Kbps): void;
|
|
21
|
+
addRawRtt(time: Milliseconds): void;
|
|
22
|
+
private static sanityCheck;
|
|
23
|
+
private static load;
|
|
24
|
+
}
|
|
25
|
+
export default ThroughputEstimator;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IValueSubject } from '@vkontakte/videoplayer-shared';
|
|
2
|
+
interface IParams {
|
|
3
|
+
initial: number;
|
|
4
|
+
emaAlphaSlow: number;
|
|
5
|
+
emaAlphaFast: number;
|
|
6
|
+
changeThreshold: number;
|
|
7
|
+
fastDirection: 1 | -1;
|
|
8
|
+
label?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class SmoothedValue {
|
|
11
|
+
private prevReported;
|
|
12
|
+
private slow;
|
|
13
|
+
private fast;
|
|
14
|
+
private smoothed;
|
|
15
|
+
private params;
|
|
16
|
+
private rawSeries$;
|
|
17
|
+
private smoothedSeries$;
|
|
18
|
+
private reportedSeries$;
|
|
19
|
+
smoothed$: IValueSubject<number>;
|
|
20
|
+
debounced$: IValueSubject<number>;
|
|
21
|
+
constructor(params: IParams);
|
|
22
|
+
next(value: number): void;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -2,11 +2,11 @@ import { VideoFormat } from "../player/types";
|
|
|
2
2
|
import { Byte, Milliseconds } from '@vkontakte/videoplayer-shared';
|
|
3
3
|
export declare type ITuningConfig = {
|
|
4
4
|
throughputEstimator: {
|
|
5
|
-
emaAlpha: number;
|
|
6
5
|
emaAlphaSlow: number;
|
|
7
6
|
emaAlphaFast: number;
|
|
8
7
|
changeThreshold: number;
|
|
9
8
|
useBrowserEstimation: boolean;
|
|
9
|
+
rttPenaltyRequestSize: Byte;
|
|
10
10
|
streamMinSampleSize: Byte;
|
|
11
11
|
streamMinSampleTime: Milliseconds;
|
|
12
12
|
};
|
|
File without changes
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Subject from '../reactive/Subject';
|
|
2
|
+
import { ILogger, ILogInputEntry, IComponentLogger, ILogEntry } from './types';
|
|
3
|
+
export declare class Logger implements ILogger {
|
|
4
|
+
log$: Subject<ILogEntry>;
|
|
5
|
+
private logs;
|
|
6
|
+
log: (inputEntry: ILogInputEntry) => void;
|
|
7
|
+
createCustomLog<TArgs extends unknown[]>(transform: (...args: TArgs) => ILogInputEntry): (...args: TArgs) => void;
|
|
8
|
+
createComponentLog(component: string): IComponentLogger;
|
|
9
|
+
getAllLogs: () => ILogEntry[];
|
|
10
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IEmitter, IListener, IObservable, IOperator, ISubscription, IUnsubscriber } from './types';
|
|
2
|
+
export default class Observable<T> implements IObservable<T> {
|
|
3
|
+
constructor(subscribe?: (emitter: IEmitter<T>) => IUnsubscriber | ISubscription | void);
|
|
4
|
+
subscribe(listener: IListener<T>, error?: IListener<Error | unknown>): ISubscription;
|
|
5
|
+
pipe(...operators: IOperator<unknown, unknown>[]): IObservable<unknown>;
|
|
6
|
+
protected _subscribe(_emitter: IEmitter<T>): IUnsubscriber | ISubscription | void;
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IEmitter, ISubject, ISubscription, IUnsubscriber } from './types';
|
|
2
|
+
import Observable from './Observable';
|
|
3
|
+
export default class Subject<T> extends Observable<T> implements ISubject<T> {
|
|
4
|
+
private keyCounter;
|
|
5
|
+
private subscribers;
|
|
6
|
+
constructor();
|
|
7
|
+
next(value: T): void;
|
|
8
|
+
error(value: T): void;
|
|
9
|
+
protected _subscribe(emitter: IEmitter<T>): IUnsubscriber | ISubscription | void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IEmitter, ISubscription, IUnsubscriber, IValueSubject } from './types';
|
|
2
|
+
import Subject from './Subject';
|
|
3
|
+
export default class ValueSubject<T> extends Subject<T> implements IValueSubject<T> {
|
|
4
|
+
private value;
|
|
5
|
+
constructor(initialValue: T);
|
|
6
|
+
next(value: T): void;
|
|
7
|
+
error(value: T): void;
|
|
8
|
+
getValue(): T;
|
|
9
|
+
protected _subscribe(emitter: IEmitter<T>): IUnsubscriber | ISubscription | void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IObservable, TypeOfObservable } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Создаёт Observable, который состоит из объектов, ключами которых являются последние значения исходных Observable.
|
|
4
|
+
* Первое событие возникает тогда, когда каждый исходный Observable выдал хотя бы одно значение.
|
|
5
|
+
*/
|
|
6
|
+
declare type CombineObservables<T extends Record<string, IObservable<unknown>>> = {
|
|
7
|
+
[key in keyof T]: TypeOfObservable<T[key]>;
|
|
8
|
+
};
|
|
9
|
+
export default function combine<T extends Record<string, IObservable<unknown>>>(observables: T): IObservable<CombineObservables<T>>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IObservable } from './types';
|
|
2
|
+
interface IEventTarget {
|
|
3
|
+
addEventListener(type: string, handler: (...params: any[]) => void): void;
|
|
4
|
+
removeEventListener(type: string, handler: (...params: any[]) => void): void;
|
|
5
|
+
}
|
|
6
|
+
declare const _default: <T>(target: IEventTarget, eventName: string) => IObservable<T>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export { default as Subscription } from './Subscription';
|
|
2
|
+
export { default as Observable } from './Observable';
|
|
3
|
+
export { default as Subject } from './Subject';
|
|
4
|
+
export { default as ValueSubject } from './ValueSubject';
|
|
5
|
+
export { default as combine } from './combine';
|
|
6
|
+
export { default as merge } from './merge';
|
|
7
|
+
export { default as timeout } from './timeout';
|
|
8
|
+
export { default as observableFrom } from './observableFrom';
|
|
9
|
+
export { default as fromEvent } from './fromEvent';
|
|
10
|
+
export { default as debounce } from './operators/debounce';
|
|
11
|
+
export { default as throttle } from './operators/throttle';
|
|
12
|
+
export { default as filter } from './operators/filter';
|
|
13
|
+
export { default as filterChanged } from './operators/filterChanged';
|
|
14
|
+
export { default as map } from './operators/map';
|
|
15
|
+
export { default as mapTo } from './operators/mapTo';
|
|
16
|
+
export { default as once } from './operators/once';
|
|
17
|
+
export { default as pairwise } from './operators/pairwise';
|
|
18
|
+
export { default as tap } from './operators/tap';
|
|
19
|
+
export type { ISubscription, IUnsubscriber, IObservable, ISubject, IValueSubject, IValueObservable, IListener, IEmitter, IValue, IOperator, } from './types';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IObservable } from './types';
|
|
2
|
+
export default function merge<T1, T2>(v1: IObservable<T1>, v2: IObservable<T2>): IObservable<T1 | T2>;
|
|
3
|
+
export default function merge<T1, T2, T3>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>): IObservable<T1 | T2 | T3>;
|
|
4
|
+
export default function merge<T1, T2, T3, T4>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>): IObservable<T1 | T2 | T3 | T4>;
|
|
5
|
+
export default function merge<T1, T2, T3, T4, T5>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>): IObservable<T1 | T2 | T3 | T4 | T5>;
|
|
6
|
+
export default function merge<T1, T2, T3, T4, T5, T6>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>, v6: IObservable<T6>): IObservable<T1 | T2 | T3 | T4 | T5 | T6>;
|
|
7
|
+
export default function merge<T1, T2, T3, T4, T5, T6>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>, v6: IObservable<T6>): IObservable<T1 | T2 | T3 | T4 | T5 | T6>;
|
|
8
|
+
export default function merge<T1, T2, T3, T4, T5, T6, T7>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>, v6: IObservable<T6>, v7: IObservable<T7>): IObservable<T1 | T2 | T3 | T4 | T5 | T6 | T7>;
|
|
9
|
+
export default function merge<T1, T2, T3, T4, T5, T6, T7, T8>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>, v6: IObservable<T6>, v7: IObservable<T7>, v8: IObservable<T8>): IObservable<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8>;
|
|
10
|
+
export default function merge<T1, T2, T3, T4, T5, T6, T7, T8, T9>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>, v6: IObservable<T6>, v7: IObservable<T7>, v8: IObservable<T8>, v9: IObservable<T9>): IObservable<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9>;
|
|
11
|
+
export default function merge<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(v1: IObservable<T1>, v2: IObservable<T2>, v3: IObservable<T3>, v4: IObservable<T4>, v5: IObservable<T5>, v6: IObservable<T6>, v7: IObservable<T7>, v8: IObservable<T8>, v9: IObservable<T9>, v10: IObservable<T10>): IObservable<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9 | T10>;
|
|
12
|
+
export default function merge<R>(...observables: IObservable<unknown>[]): IObservable<R>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface IError {
|
|
2
|
+
/**
|
|
3
|
+
* Код или другой идентификатор для статистики
|
|
4
|
+
*/
|
|
5
|
+
id: string;
|
|
6
|
+
/**
|
|
7
|
+
* Сообщение по которому можно разобрать что случилось
|
|
8
|
+
*/
|
|
9
|
+
message: string;
|
|
10
|
+
/**
|
|
11
|
+
* Данные, полезные для отладки
|
|
12
|
+
*/
|
|
13
|
+
data?: any;
|
|
14
|
+
/**
|
|
15
|
+
* Возникшее исключение
|
|
16
|
+
*/
|
|
17
|
+
thrown?: Error | unknown;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const addScript: (scriptSrc: string, abortSignal: AbortSignal, timeout?: number | undefined) => Promise<void>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { noop } from './noop';
|
|
2
|
+
export { assertNever, checkNever } from './never';
|
|
3
|
+
export { isNonNullable, isNullable, assertNonNullable, assertNullable } from './nullable';
|
|
4
|
+
export { addScript } from './addScript';
|
|
5
|
+
export type { Milliseconds, bps, Byte, Seconds, Kbps, Mbps } from './semanticTypes';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const noop: () => void;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function assertNonNullable<T>(value: T, failMessage?: string): asserts value is NonNullable<T>;
|
|
2
|
+
export declare function assertNullable<T extends INullable = INullable>(value: unknown, failMessage?: string): asserts value is T;
|
|
3
|
+
export declare function isNonNullable<T>(value: T): value is NonNullable<T>;
|
|
4
|
+
export declare function isNullable<T extends INullable = INullable>(value: unknown): value is T;
|
|
5
|
+
declare type INullable = null | undefined;
|
|
6
|
+
export {};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Subject, ValueSubject, Byte, Kbps, Milliseconds, ISubject } from '@vkontakte/videoplayer-shared';
|
|
2
|
-
import { ITuningConfig } from "./tuningConfig";
|
|
3
|
-
declare class ThroughputEstimator {
|
|
4
|
-
private smoothedCombination;
|
|
5
|
-
private smoothedFast;
|
|
6
|
-
private smoothedSlow;
|
|
7
|
-
private subscription;
|
|
8
|
-
private rawSeries$;
|
|
9
|
-
private smoothedSeries$;
|
|
10
|
-
private reportedSeries$;
|
|
11
|
-
xhr$: ISubject<XMLHttpRequest>;
|
|
12
|
-
rawSpeed$: ISubject<{
|
|
13
|
-
size: Byte;
|
|
14
|
-
time: Milliseconds;
|
|
15
|
-
}>;
|
|
16
|
-
rawThroughput$: ISubject<Kbps>;
|
|
17
|
-
stream$: Subject<ReadableStream<any>>;
|
|
18
|
-
private tuningConfig;
|
|
19
|
-
estimation$: ValueSubject<number>;
|
|
20
|
-
rtt$: ValueSubject<number | undefined>;
|
|
21
|
-
constructor(tuning: ITuningConfig['throughputEstimator']);
|
|
22
|
-
destroy(): void;
|
|
23
|
-
private trackXHR;
|
|
24
|
-
private trackStream;
|
|
25
|
-
private addRawSpeed;
|
|
26
|
-
private sanityCheck;
|
|
27
|
-
private addValue;
|
|
28
|
-
private load;
|
|
29
|
-
private dump;
|
|
30
|
-
}
|
|
31
|
-
export default ThroughputEstimator;
|