@vkontakte/videoplayer-core 2.0.150-dev.4e3741f9.0 → 2.0.150-dev.59e8de7f.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.
Files changed (34) hide show
  1. package/es2015.cjs +52 -52
  2. package/es2015.esm.js +48 -48
  3. package/es2018.cjs +41 -41
  4. package/es2018.esm.js +44 -44
  5. package/es2024.cjs +58 -58
  6. package/es2024.esm.js +58 -58
  7. package/esnext.cjs +58 -58
  8. package/esnext.esm.js +58 -58
  9. package/evergreen.esm.js +46 -46
  10. package/package.json +2 -2
  11. package/types/index.d.ts +1 -0
  12. package/types/player/Player.d.ts +3 -2
  13. package/types/player/types.d.ts +21 -1
  14. package/types/providers/DashProvider/lib/fetcher.d.ts +20 -1
  15. package/types/providers/DashProvider/lib/player.d.ts +3 -1
  16. package/types/providers/DashProviderVirtual/lib/fetcher.d.ts +20 -1
  17. package/types/providers/DashProviderVirtual/lib/player/basePlayer.d.ts +3 -1
  18. package/types/providers/types.d.ts +3 -1
  19. package/types/providers/utils/videoStreamRepresentaionsFilter.d.ts +4 -0
  20. package/types/utils/tuningConfig.d.ts +4 -5
  21. package/types/providers/DashProviderNew/baseDashProvider.d.ts +0 -61
  22. package/types/providers/DashProviderNew/consts.d.ts +0 -3
  23. package/types/providers/DashProviderNew/index.d.ts +0 -2
  24. package/types/providers/DashProviderNew/lib/ElementSizeManager.d.ts +0 -19
  25. package/types/providers/DashProviderNew/lib/LiveTextManager.d.ts +0 -23
  26. package/types/providers/DashProviderNew/lib/buffer.d.ts +0 -130
  27. package/types/providers/DashProviderNew/lib/fetcher.d.ts +0 -64
  28. package/types/providers/DashProviderNew/lib/player.d.ts +0 -107
  29. package/types/providers/DashProviderNew/lib/sourceBufferBufferedDiff.d.ts +0 -19
  30. package/types/providers/DashProviderNew/lib/sourceBufferTaskQueue.d.ts +0 -20
  31. package/types/providers/DashProviderNew/lib/types.d.ts +0 -29
  32. package/types/providers/DashProviderNew/lib/utils.d.ts +0 -24
  33. package/types/providers/DashProviderNew/newDashCmafLiveProvider.d.ts +0 -8
  34. package/types/providers/DashProviderNew/newDashProvider.d.ts +0 -6
@@ -1,107 +0,0 @@
1
- import { HttpConnectionType, VideoCodec } from '../../../player/types';
2
- import { LiveStreamStatus } from './types';
3
- import { CommonInit, Manifest, Representation, StreamKind, TextRepresentation } from '../../../providers/utils/parsers/types';
4
- import StateMachine from '../../../utils/StateMachine/StateMachine';
5
- import type ThroughputEstimator from '../../../utils/ThroughputEstimator';
6
- import { ITuningConfig } from '../../../utils/tuningConfig';
7
- import { IError, ISubject, ITracer, IValueSubject, Milliseconds, Subject } from '@vkontakte/videoplayer-shared';
8
- export declare enum State {
9
- NONE = "none",
10
- MANIFEST_READY = "manifest_ready",
11
- REPRESENTATIOS_READY = "representations_ready",
12
- RUNNING = "running"
13
- }
14
- export interface Params {
15
- throughputEstimator: ThroughputEstimator;
16
- tuning: ITuningConfig;
17
- compatibilityMode?: boolean;
18
- forceVideoCodec?: VideoCodec;
19
- tracer: ITracer;
20
- }
21
- export declare class Player {
22
- private element;
23
- private manifestUrlString;
24
- private source;
25
- private manifest;
26
- private tuning;
27
- private tracer;
28
- private forceVideoCodec?;
29
- private videoBufferManager;
30
- private audioBufferManager;
31
- private bufferManagers;
32
- private liveTextManager;
33
- private throughputEstimator;
34
- private subscription;
35
- private subscriptionRemovable;
36
- private representationSubscription;
37
- private fetcher;
38
- state$: StateMachine<State>;
39
- currentVideoRepresentation$: IValueSubject<Representation['id'] | undefined>;
40
- currentVideoRepresentationInit$: IValueSubject<CommonInit | undefined>;
41
- currentAudioRepresentation$: IValueSubject<Representation['id'] | undefined>;
42
- currentVideoSegmentLength$: IValueSubject<number>;
43
- currentAudioSegmentLength$: IValueSubject<number>;
44
- error$: ISubject<IError>;
45
- manifestRequested$: ISubject<void>;
46
- firstBytesManifest$: ISubject<void>;
47
- manifestReceived$: ISubject<void>;
48
- firstBytesRequested$: ISubject<void>;
49
- firstBytesReceived$: ISubject<void>;
50
- lastConnectionType$: IValueSubject<HttpConnectionType | undefined>;
51
- lastConnectionReused$: IValueSubject<boolean | undefined>;
52
- lastRequestFirstBytes$: IValueSubject<Milliseconds | undefined>;
53
- currentLiveTextRepresentation$: IValueSubject<TextRepresentation | null>;
54
- private timeoutSourceOpenId;
55
- isLive$: IValueSubject<boolean>;
56
- isActiveLive$: IValueSubject<boolean>;
57
- isLowLatency$: IValueSubject<boolean>;
58
- liveDuration$: IValueSubject<Milliseconds>;
59
- liveSeekableDuration$: IValueSubject<Milliseconds>;
60
- liveAvailabilityStartTime$: IValueSubject<Milliseconds>;
61
- liveStreamStatus$: IValueSubject<LiveStreamStatus | undefined>;
62
- bufferLength$: IValueSubject<Milliseconds>;
63
- liveLatency$: IValueSubject<Milliseconds | undefined>;
64
- liveLoadBufferLength$: IValueSubject<Milliseconds>;
65
- livePositionFromPlayer$: IValueSubject<number>;
66
- currentStallDuration$: IValueSubject<Milliseconds>;
67
- videoLastDataObtainedTimestamp$: IValueSubject<Milliseconds>;
68
- fetcherRecoverableError$: Subject<IError>;
69
- fetcherError$: Subject<IError>;
70
- private liveStreamEndTimestamp;
71
- private liveBuffer;
72
- private isUpdatingLive;
73
- private isJumpGapAfterSeekLive;
74
- private forceEnded$;
75
- private gapWatchdogActive;
76
- private gapWatchdogSubscription;
77
- private stallWatchdogSubscription;
78
- private livePauseWatchdogSubscription;
79
- private destroyController;
80
- constructor(params: Params);
81
- initManifest: (param_0: HTMLVideoElement, param_1: string, param_2: number) => Promise<void | undefined>;
82
- updateManifest: () => Promise<Manifest | null | undefined>;
83
- setSmartRepresentationSwitch(state: boolean): void;
84
- seekLive(nextOffset: Milliseconds): Promise<void>;
85
- initRepresentations: (param_0: string, param_1: string | undefined, param_2: import("../../../player/types").URLSource | undefined) => Promise<void | undefined>;
86
- initBuffer(): void;
87
- switchRepresentation(kind: StreamKind, id: Representation['id'], dropBuffer?: boolean): Promise<void>;
88
- seek(requestedPosition: Milliseconds, forcePrecise: boolean): Promise<void>;
89
- warmUpMediaSourceIfNeeded(position?: Milliseconds | undefined): void;
90
- get isStreamEnded(): boolean;
91
- stop(): void;
92
- setBufferTarget(time: Milliseconds): void;
93
- getStreams(): Manifest['streams'] | undefined;
94
- getCodecs(): Manifest['codecs'] | undefined;
95
- setPreloadOnly(preloadOnly: boolean): void;
96
- destroy(): void;
97
- private initTracerSubscription;
98
- private isManualDecreasePlaybackInLive;
99
- private normolizeLiveOffset;
100
- private tick;
101
- private updateLive;
102
- private jumpGap;
103
- /**
104
- * Возвращает duration в милисекундах.
105
- */
106
- calculateDurationFromSegments(): number;
107
- }
@@ -1,19 +0,0 @@
1
- export declare class SourceBufferBufferedDiff {
2
- private lastUpdateTs;
3
- private lastCallTs;
4
- private prevRanges;
5
- private readonly sourceBuffer;
6
- private readonly mediaSource;
7
- private readonly subscription;
8
- constructor(mediaSource: MediaSource, sourceBuffer: SourceBuffer);
9
- private updateend;
10
- /**
11
- * если длина массивов разная - считаем, что какие то сегменты удалили
12
- *
13
- * если длина одинаковая - считаем, что сегменты удалили в том случае,
14
- * если в новом массиве хотя бы 1 сегмент стал меньше
15
- */
16
- private isRangesRemoved;
17
- wasUpdated(): boolean;
18
- destroy(): void;
19
- }
@@ -1,20 +0,0 @@
1
- import { Byte, IError, ISubject, Milliseconds } from '@vkontakte/videoplayer-shared';
2
- declare class SourceBufferTaskQueue {
3
- bufferFull$: ISubject<Byte>;
4
- error$: ISubject<IError>;
5
- private buffer;
6
- private queue;
7
- private currentTask;
8
- private destroyed;
9
- private abortRequested;
10
- private isAbortFixEnabled;
11
- constructor(buffer: SourceBuffer, isAbortFixEnabled?: boolean);
12
- append(data: BufferSource, signal?: AbortSignal): Promise<boolean>;
13
- remove(from: Milliseconds, to: Milliseconds, signal?: AbortSignal): Promise<boolean>;
14
- abort(init?: BufferSource): Promise<boolean>;
15
- destroy(): void;
16
- private completeTask;
17
- private pull;
18
- private execute;
19
- }
20
- export default SourceBufferTaskQueue;
@@ -1,29 +0,0 @@
1
- import { IObservable, ISubject, IValueSubject } from '@vkontakte/videoplayer-shared';
2
- import { IDesiredState, IProviderOutput, IProviderParams } from '../../../providers/types';
3
- import { IObservableVideo } from '../../../providers/utils/HTMLVideoElement/observable';
4
- import { IDashURLSource } from '../../../player/types';
5
- export declare enum LiveStatus {
6
- ActiveLowLatency = "active_low_latency",
7
- LiveWithTargetOffset = "live_with_target_offset",
8
- LiveForwardBuffering = "live_forward_buffering",
9
- None = "none"
10
- }
11
- export declare enum LiveStreamStatus {
12
- Active = "active",
13
- UnexpectedlyDown = "unexpectedly_down",// Стрим в сети, но трансляция оборвалась из-за тех. проблем
14
- Unpublished = "unpublished"
15
- }
16
- export interface IProviderSubscriptionInfo {
17
- output: IProviderOutput;
18
- desiredState: IDesiredState;
19
- observableVideo: IObservableVideo;
20
- genericErrorListener: (error: Error | unknown) => void;
21
- connect: <Value>(from: IObservable<Value>, to: ISubject<Value> | IValueSubject<Value> | ((v: Value) => void)) => void;
22
- }
23
- export declare enum ProviderState {
24
- STOPPED = "stopped",
25
- READY = "ready",
26
- PLAYING = "playing",
27
- PAUSED = "paused"
28
- }
29
- export type IParams = IProviderParams<IDashURLSource>;
@@ -1,24 +0,0 @@
1
- import { Representation, Segment, SegmentReference, Stream, TemplateSegment, TemplateSegmentReference, TextRepresentation } from '../../../providers/utils/parsers/types';
2
- import { IAudioStream, IAudioTrack, IInternalTextTrack, IVideoStream, IVideoTrack } from '../../../player/types';
3
- import { IRange, Milliseconds } from '@vkontakte/videoplayer-shared';
4
- export declare const representationToVideoTrack: ({ id, width, height, bitrate, fps, quality: qualityString, streamId }: Representation) => IVideoTrack | undefined;
5
- export declare const representationToAudioTrack: ({ id, bitrate }: Representation) => IAudioTrack;
6
- export declare const representationToTextTrack: ({ language, label }: Stream, { id, url, isAuto }: Representation & {
7
- url: string;
8
- isAuto: boolean;
9
- }) => IInternalTextTrack;
10
- export declare const textRepresentationToTextTrack: ({ language, label, id, url, isAuto }: TextRepresentation) => IInternalTextTrack;
11
- export declare const streamToIAudioStream: ({ id, language, label, codecs, isDefault }: Stream) => IAudioStream;
12
- export declare const streamToIVideoStream: ({ id, language, label, hdr, codecs }: Stream) => IVideoStream;
13
- export declare const isTemplateSegment: (segment: Segment) => segment is TemplateSegment;
14
- export declare const isTemplateSegmentReference: (segmentReference: SegmentReference) => segmentReference is TemplateSegmentReference;
15
- export declare const isTextRepresentation: (representation: Representation | TextRepresentation) => representation is TextRepresentation;
16
- /**
17
- * @mutates intervals
18
- */
19
- export declare const mergeIntervals: (intervals: IRange<Milliseconds>[]) => IRange<Milliseconds>[];
20
- export declare const findInIterator: <T>(iterable: MapIterator<T> | SetIterator<T>, matchFn: (arg: T) => boolean) => T | null;
21
- /**
22
- * даёт `true` каждые `ms` миллисекунд
23
- */
24
- export declare const semaphor: (ms: number) => () => boolean;
@@ -1,8 +0,0 @@
1
- import { Milliseconds } from '@vkontakte/videoplayer-shared';
2
- import { IParams } from './lib/types';
3
- import BaseDashProvider from './baseDashProvider';
4
- export default class NewDashCmafLiveProvider extends BaseDashProvider {
5
- constructor(params: IParams);
6
- protected subscribe(): void;
7
- protected seek(position: Milliseconds): void;
8
- }
@@ -1,6 +0,0 @@
1
- import { Milliseconds } from '@vkontakte/videoplayer-shared';
2
- import BaseDashProvider from './baseDashProvider';
3
- export default class NewDashProvider extends BaseDashProvider {
4
- protected subscribe(): void;
5
- protected seek(position: Milliseconds, forcePrecise: boolean): void;
6
- }