@vkontakte/videoplayer-core 2.0.161 → 2.0.162-beta.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/es2015.cjs +60 -34
- package/es2015.esm.js +71 -45
- package/esnext.cjs +60 -34
- package/esnext.esm.js +60 -34
- package/evergreen.esm.js +60 -34
- package/package.json +2 -2
- package/types/index.d.ts +12 -11
- package/types/player/Player.d.ts +2 -2
- package/types/player/types.d.ts +15 -4
- package/types/player/utils/defaults.d.ts +2 -2
- package/types/player/utils/optimisticPosition.d.ts +2 -2
- package/types/player/utils/selectContainer.d.ts +1 -1
- package/types/providers/ChromecastPresentationApiProvider/ChromecastPresentationApiInitializer.d.ts +1 -1
- package/types/providers/ChromecastProvider/ChromecastInitializer/index.d.ts +1 -1
- package/types/providers/ChromecastProvider/ChromecastInitializer/types.d.ts +1 -1
- package/types/providers/ChromecastProvider/types.d.ts +1 -1
- package/types/providers/DashLiveProvider/DashLiveProvider.d.ts +2 -2
- package/types/providers/DashLiveProvider/utils/LiveDashPlayer.d.ts +3 -3
- package/types/providers/DashProvider/baseDashProvider.d.ts +13 -12
- package/types/providers/DashProvider/lib/LiveTextManager.d.ts +1 -1
- package/types/providers/DashProvider/lib/buffer.d.ts +6 -3
- package/types/providers/DashProvider/lib/fetcher.d.ts +3 -3
- package/types/providers/DashProvider/lib/player.d.ts +12 -7
- package/types/providers/DashProvider/lib/types.d.ts +3 -3
- package/types/providers/DashProvider/lib/utils.d.ts +3 -3
- package/types/providers/DashProviderVirtual/baseDashProvider.d.ts +15 -14
- package/types/providers/DashProviderVirtual/dashCmafLiveProvider.d.ts +1 -1
- package/types/providers/DashProviderVirtual/dashProvider.d.ts +1 -1
- package/types/providers/DashProviderVirtual/lib/LiveTextManager.d.ts +2 -2
- package/types/providers/DashProviderVirtual/lib/buffer/types.d.ts +7 -3
- package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/baseVirtualBufferManager.d.ts +9 -6
- package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/byteRangeVirtualBufferManager.d.ts +5 -5
- package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/liveVirtualBuffer.d.ts +5 -5
- package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/templateVirtualBufferManager.d.ts +5 -5
- package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/virtualBufferFactory.d.ts +3 -3
- package/types/providers/DashProviderVirtual/lib/fetcher.d.ts +3 -3
- package/types/providers/DashProviderVirtual/lib/player/basePlayer.d.ts +14 -10
- package/types/providers/DashProviderVirtual/lib/player/livePlayer.d.ts +8 -8
- package/types/providers/DashProviderVirtual/lib/player/player.d.ts +2 -2
- package/types/providers/DashProviderVirtual/lib/player/types.d.ts +5 -4
- package/types/providers/DashProviderVirtual/lib/types.d.ts +3 -3
- package/types/providers/DashProviderVirtual/lib/utils.d.ts +4 -4
- package/types/providers/HlsLiveProvider/LiveTextManager.d.ts +1 -1
- package/types/providers/HlsLiveProvider/index.d.ts +3 -3
- package/types/providers/HlsProvider/index.d.ts +2 -2
- package/types/providers/HlsProvider/manifestDataExtractor.d.ts +1 -1
- package/types/providers/MpegProvider/index.d.ts +1 -1
- package/types/providers/ProviderContainer/index.d.ts +5 -3
- package/types/providers/ProviderContainer/types.d.ts +1 -1
- package/types/providers/ProviderContainer/utils/formatsSupport.d.ts +11 -4
- package/types/providers/ProviderContainer/utils/playbackHangup.d.ts +3 -3
- package/types/providers/WebRTCLiveProvider/WebRTCLiveClient.d.ts +1 -1
- package/types/providers/WebRTCLiveProvider/WebRTCLiveProvider.d.ts +2 -2
- package/types/providers/types.d.ts +8 -8
- package/types/providers/utils/Abr/abrController.d.ts +8 -5
- package/types/providers/utils/Abr/abrManager.d.ts +5 -3
- package/types/providers/utils/Abr/controllers/abrPhaseController.d.ts +17 -0
- package/types/providers/utils/Abr/controllers/stallsController.d.ts +2 -2
- package/types/providers/utils/Abr/rules/audio/audioThroughputRule.d.ts +6 -5
- package/types/providers/utils/Abr/rules/audio/minAudioForVideoRule.d.ts +6 -5
- package/types/providers/utils/Abr/rules/audioRuleFactory.d.ts +5 -5
- package/types/providers/utils/Abr/rules/baseRule.d.ts +10 -6
- package/types/providers/utils/Abr/rules/limitAboveRule.d.ts +5 -4
- package/types/providers/utils/Abr/rules/limitBelowRule.d.ts +5 -4
- package/types/providers/utils/Abr/rules/video/abandonRequestRule.d.ts +12 -0
- package/types/providers/utils/Abr/rules/video/bolaRule.d.ts +31 -0
- package/types/providers/utils/Abr/rules/video/bufferRule.d.ts +10 -5
- package/types/providers/utils/Abr/rules/video/failedVideoTrackRule.d.ts +6 -5
- package/types/providers/utils/Abr/rules/video/fitsContainerRule.d.ts +6 -5
- package/types/providers/utils/Abr/rules/video/insufficientBufferRule.d.ts +15 -0
- package/types/providers/utils/Abr/rules/video/lowerLimitRule.d.ts +5 -4
- package/types/providers/utils/Abr/rules/video/stallsRule.d.ts +6 -5
- package/types/providers/utils/Abr/rules/video/throughputRule.d.ts +8 -7
- package/types/providers/utils/Abr/rules/video/upperLimitRule.d.ts +5 -4
- package/types/providers/utils/Abr/rules/videoRuleFactory.d.ts +4 -3
- package/types/providers/utils/Abr/trackHistory.d.ts +1 -1
- package/types/providers/utils/Abr/types.d.ts +34 -8
- package/types/providers/utils/Abr/utils.d.ts +3 -2
- package/types/providers/utils/HTMLVideoElement/DroppedFramesManager.d.ts +3 -3
- package/types/providers/utils/HTMLVideoElement/ElementSizeManager.d.ts +1 -1
- package/types/providers/utils/HTMLVideoElement/TextTrackManager.d.ts +2 -2
- package/types/providers/utils/HTMLVideoElement/observable.d.ts +1 -1
- package/types/providers/utils/HTMLVideoElement/pool.d.ts +1 -1
- package/types/providers/utils/StallsManager.d.ts +2 -2
- package/types/providers/utils/extractConnectionHeaders.d.ts +1 -1
- package/types/providers/utils/parsers/types.d.ts +2 -1
- package/types/providers/utils/syncDesiredState.d.ts +2 -2
- package/types/providers/utils/syncPlaybackState.d.ts +2 -2
- package/types/providers/utils/videoStreamRepresentaionsFilter.d.ts +1 -1
- package/types/utils/3d/Camera3D.d.ts +1 -1
- package/types/utils/3d/CameraRotationManager.d.ts +2 -2
- package/types/utils/3d/Scene3D.d.ts +1 -1
- package/types/utils/ClientChecker/services/AudioChecker.d.ts +1 -1
- package/types/utils/ClientChecker/services/BrowserChecker.d.ts +2 -2
- package/types/utils/ClientChecker/services/DeviceChecker.d.ts +3 -3
- package/types/utils/ClientChecker/services/DisplayChecker.d.ts +1 -1
- package/types/utils/ClientChecker/services/VideoChecker.d.ts +2 -2
- package/types/utils/ThroughputEstimator.d.ts +2 -1
- package/types/utils/VolumeMultiplierManager/VolumeMultiplierManager.d.ts +2 -2
- package/types/utils/autoSelectTrack.d.ts +2 -2
- package/types/utils/dashMaxTvVideoQuality.d.ts +7 -0
- package/types/utils/qualityLimits.d.ts +2 -2
- package/types/utils/setStateWithSubscribe.d.ts +1 -1
- package/types/utils/smoothedValue/baseSmoothedValue.d.ts +2 -1
- package/types/utils/smoothedValue/emaAndMaSmoothedValue.d.ts +2 -2
- package/types/utils/smoothedValue/emaTopExtremumValue.d.ts +2 -2
- package/types/utils/smoothedValue/smoothedValueFactory.d.ts +2 -2
- package/types/utils/smoothedValue/twoEmaSmoothedValue.d.ts +2 -2
- package/types/utils/smoothedValue/types.d.ts +1 -0
- package/types/utils/tuningConfig.d.ts +45 -6
- package/types/utils/videoFormat.d.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/videoplayer-core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.162-beta.0",
|
|
4
4
|
"author": "vk.com",
|
|
5
5
|
"description": "Videoplayer core library based on the vk.com platform",
|
|
6
6
|
"homepage": "https://vk.com",
|
|
@@ -42,6 +42,6 @@
|
|
|
42
42
|
"**/*.d.ts"
|
|
43
43
|
],
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@vkontakte/videoplayer-shared": "1.0.
|
|
45
|
+
"@vkontakte/videoplayer-shared": "1.0.91-beta.0"
|
|
46
46
|
}
|
|
47
47
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { VERSION } from "
|
|
2
|
-
import type { IMpegSource, IDashSource, IHLSSource, IDashURLSource, IHLSLiveSource, ISeekRequest, URLSource, RawSource, URLSourceWithSeek } from "
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
1
|
+
import { VERSION } from "#/env";
|
|
2
|
+
import type { IMpegSource, IDashSource, IHLSSource, IDashURLSource, IHLSLiveSource, ISeekRequest, URLSource, RawSource, URLSourceWithSeek } from "#/player/types";
|
|
3
|
+
import type { VideoCodec } from "#/player/types";
|
|
4
|
+
import { VideoFormat, Surface, PredefinedQualityLimits, VideoCodecName } from "#/player/types";
|
|
5
|
+
import Player from "#/player/Player";
|
|
6
|
+
import type { IPlayer, IPlayerInfo, IPlayerEvents, IConfig, ISources, ICueSettings, IExternalTextTrack, ITextTrack, PlaybackRate, IVideoStream, IAudioStream } from "#/player/types";
|
|
7
|
+
import { PlaybackState, ChromecastState, HttpConnectionType } from "#/player/types";
|
|
8
|
+
import type { IOptionalTuningConfig } from "#/utils/tuningConfig";
|
|
9
|
+
export { clientChecker, isMobile } from "#/utils/ClientChecker";
|
|
10
|
+
export { areValidLiveRecordSources } from "#/utils/videoFormat";
|
|
11
|
+
export { WebmCodecStrategy } from "#/enums/WebmCodecStrategy";
|
|
11
12
|
import type { ISubscription, IUnsubscriber, IEmitter, IObservable, IValueObservable, IValue, IOperator, IListener, ILogEntry, IRange, ExactVideoQuality } from "@vkontakte/videoplayer-shared";
|
|
12
13
|
import { Subscription, Observable, Subject, ValueSubject, VideoQuality } from "@vkontakte/videoplayer-shared";
|
|
13
14
|
/**
|
|
@@ -15,4 +16,4 @@ import { Subscription, Observable, Subject, ValueSubject, VideoQuality } from "@
|
|
|
15
16
|
*/
|
|
16
17
|
declare const SDK_VERSION: string;
|
|
17
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 { Player, PlaybackState, ChromecastState, HttpConnectionType, Surface, Subscription, VideoFormat, VideoQuality, Observable, Subject, ValueSubject, VERSION, SDK_VERSION, PredefinedQualityLimits, VideoCodec };
|
|
19
|
+
export { Player, PlaybackState, ChromecastState, HttpConnectionType, Surface, Subscription, VideoFormat, VideoQuality, Observable, Subject, ValueSubject, VERSION, SDK_VERSION, PredefinedQualityLimits, VideoCodec, VideoCodecName };
|
package/types/player/Player.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { IOptionalTuningConfig } from "
|
|
1
|
+
import type { IOptionalTuningConfig } from "#/utils/tuningConfig";
|
|
2
2
|
import type { ILogEntry, Seconds, QualityLimits, VideoQuality, ITracer } from "@vkontakte/videoplayer-shared";
|
|
3
3
|
import { type IAudioStream, type IConfig, type ICueSettings, type IExternalTextTrack, type IPlayer, type ITextTrack, type IVideoStream, type PlaybackRate, PredefinedQualityLimits, type PlayerInfoImpl, type PlayerEventsImpl, type PlayerExperimentalImpl } from "./types";
|
|
4
|
-
import type { IPlayerOptions } from "
|
|
4
|
+
import type { IPlayerOptions } from "#/utils/playerOptions";
|
|
5
5
|
export default class Player implements IPlayer {
|
|
6
6
|
private readonly subscription;
|
|
7
7
|
private readonly persistentSubscription;
|
package/types/player/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IObservable, IValueObservable, IValueSubject, ILogEntry, Kbps, Milliseconds, Seconds, IRectangle, IError, QualityLimits, VideoQuality, Subject, ValueSubject } from "@vkontakte/videoplayer-shared";
|
|
2
|
-
import type { Pixel } from "
|
|
3
|
-
import type { dump } from "
|
|
2
|
+
import type { Pixel } from "#/utils/3d/types";
|
|
3
|
+
import type { dump } from "#/utils/playbackTelemetry";
|
|
4
4
|
export interface StartEnd<Unit extends number> {
|
|
5
5
|
start: Unit;
|
|
6
6
|
end: Unit;
|
|
@@ -326,10 +326,12 @@ export interface PlayerInfoValues {
|
|
|
326
326
|
*/
|
|
327
327
|
isBuffering$: boolean;
|
|
328
328
|
/**
|
|
329
|
-
*
|
|
329
|
+
* Состояние столла. Возникает по истечении stallIgnoreThreshold после старта нежелательной буферизации
|
|
330
|
+
* Статус только нежелательной буферизации возникает при опустошении буфера в процессе воспроизведения
|
|
330
331
|
* и не возникает при начальном наполнении буфера или после перемотки
|
|
331
332
|
*/
|
|
332
333
|
isStalled$: boolean;
|
|
334
|
+
stallStartTime$: Milliseconds;
|
|
333
335
|
/**
|
|
334
336
|
* Закончилось ли видео
|
|
335
337
|
*/
|
|
@@ -532,6 +534,10 @@ export interface IConfig {
|
|
|
532
534
|
volumeMultiplier?: number;
|
|
533
535
|
panelSize?: IRectangle;
|
|
534
536
|
isMuted?: boolean;
|
|
537
|
+
/**
|
|
538
|
+
* Нужно ли recoverableError обрабатывать как ошибку провайдера или будет снаружи обрабатываться.
|
|
539
|
+
*/
|
|
540
|
+
handleNetworkRecoverableErrorAsProviderError?: boolean;
|
|
535
541
|
}
|
|
536
542
|
export interface ISources {
|
|
537
543
|
[VideoFormat.MPEG]?: IMpegSource;
|
|
@@ -599,12 +605,16 @@ export declare enum VideoFormat {
|
|
|
599
605
|
HLS_LIVE_CMAF = "HLS_LIVE_CMAF",
|
|
600
606
|
WEB_RTC_LIVE = "WEB_RTC_LIVE"
|
|
601
607
|
}
|
|
602
|
-
export declare enum
|
|
608
|
+
export declare enum VideoCodecName {
|
|
603
609
|
AV1 = "av1",
|
|
604
610
|
VP9 = "vp9",
|
|
605
611
|
AVC1 = "avc1",
|
|
606
612
|
HEV1 = "hev1"
|
|
607
613
|
}
|
|
614
|
+
export interface VideoCodec {
|
|
615
|
+
name: VideoCodecName;
|
|
616
|
+
hdr: boolean;
|
|
617
|
+
}
|
|
608
618
|
export declare enum AudioCodec {
|
|
609
619
|
OPUS = "opus",
|
|
610
620
|
MP4A = "mp4a"
|
|
@@ -633,6 +643,7 @@ export interface IAudioStream {
|
|
|
633
643
|
label?: string;
|
|
634
644
|
codec?: string;
|
|
635
645
|
isDefault?: boolean;
|
|
646
|
+
channels?: number;
|
|
636
647
|
}
|
|
637
648
|
export type IAudioTrack = IBaseTrack;
|
|
638
649
|
interface ITextTrackBase {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type PlayerInfoValues } from "
|
|
2
|
-
import type { DesiredStateValues } from "
|
|
1
|
+
import { type PlayerInfoValues } from "#/player/types";
|
|
2
|
+
import type { DesiredStateValues } from "#/providers/types";
|
|
3
3
|
export declare const playerInfoDefaultValues: PlayerInfoValues;
|
|
4
4
|
export declare const desiredStateDefaultValues: DesiredStateValues;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { SeekState } from "
|
|
1
|
+
import type { SeekState } from "#/player/types";
|
|
2
2
|
import type { IObservable, IValueObservable, Seconds } from "@vkontakte/videoplayer-shared";
|
|
3
|
-
import type { IStateMachine } from "
|
|
3
|
+
import type { IStateMachine } from "#/utils/StateMachine/types";
|
|
4
4
|
interface IParams {
|
|
5
5
|
seekState: IStateMachine<SeekState>;
|
|
6
6
|
position$: IValueObservable<Seconds>;
|
package/types/providers/ChromecastPresentationApiProvider/ChromecastPresentationApiInitializer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChromecastState } from "
|
|
1
|
+
import { ChromecastState } from "#/player/types";
|
|
2
2
|
import type { IError, IValueSubject, ISubject } from "@vkontakte/videoplayer-shared";
|
|
3
3
|
import type { IChromecastConnection } from "../ChromecastProvider/ChromecastInitializer/types";
|
|
4
4
|
import { ChromecastPresentationApiConnector } from "./ChromecastPresentationApiConnector";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ISubject, IValueSubject, IError } from "@vkontakte/videoplayer-shared";
|
|
2
|
-
import { ChromecastState } from "
|
|
2
|
+
import { ChromecastState } from "#/player/types";
|
|
3
3
|
import type { IChromecastConnection, IChromecastInitializer, IParams } from "./types";
|
|
4
4
|
export declare class ChromecastInitializer implements IChromecastInitializer {
|
|
5
5
|
readonly connection$: IValueSubject<IChromecastConnection | undefined>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IObservable, IValueObservable, IError, ILogger } from "@vkontakte/videoplayer-shared";
|
|
2
|
-
import type { ChromecastState } from "
|
|
2
|
+
import type { ChromecastState } from "#/player/types";
|
|
3
3
|
export interface IChromecastInitializer {
|
|
4
4
|
connect(): void;
|
|
5
5
|
disconnect(): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IMetadata, ISources, VideoFormat } from "
|
|
1
|
+
import type { IMetadata, ISources, VideoFormat } from "#/player/types";
|
|
2
2
|
import type { IProviderParams } from "../types";
|
|
3
3
|
import type { IChromecastConnection } from "./ChromecastInitializer/types";
|
|
4
4
|
export interface IParams extends Omit<IProviderParams<ISources>, "skipVideoElVolumeSync$"> {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { IDashURLSource } from "
|
|
2
|
-
import type { IProvider, IProviderParams } from "
|
|
1
|
+
import type { IDashURLSource } from "#/player/types";
|
|
2
|
+
import type { IProvider, IProviderParams } from "#/providers/types";
|
|
3
3
|
import type { Milliseconds } from "@vkontakte/videoplayer-shared";
|
|
4
4
|
type Params = IProviderParams<IDashURLSource> & {
|
|
5
5
|
config: {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ILiveOffset } from "
|
|
2
|
-
import { IStateMachine } from "
|
|
1
|
+
import { ILiveOffset } from "#/providers/utils/LiveOffset/types";
|
|
2
|
+
import { IStateMachine } from "#/utils/StateMachine/types";
|
|
3
3
|
import { Milliseconds } from "@vkontakte/videoplayer-shared";
|
|
4
4
|
import { IRepresentation, State } from "../types";
|
|
5
5
|
import { Subject } from "@vkontakte/videoplayer-shared";
|
|
6
|
-
import { PlaybackState } from "
|
|
6
|
+
import { PlaybackState } from "#/player/types";
|
|
7
7
|
interface IParams {
|
|
8
8
|
videoElement: HTMLVideoElement;
|
|
9
9
|
videoState: IStateMachine<State>;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import type { IAudioTrack, IDashURLSource, IHLSSource, IInternalTextTrack, IVideoTrack, VideoCodec } from "
|
|
1
|
+
import type { IAudioTrack, IDashURLSource, IHLSSource, IInternalTextTrack, IVideoTrack, VideoCodec } from "#/player/types";
|
|
2
2
|
import type { IProviderSubscriptionInfo } from "./lib/types";
|
|
3
3
|
import { ProviderState } from "./lib/types";
|
|
4
|
-
import type { CommonInit, Representation, Stream } from "
|
|
5
|
-
import type { IProvider, IProviderParams } from "
|
|
6
|
-
import type { IObservableVideo } from "
|
|
7
|
-
import { TrackHistory } from "
|
|
8
|
-
import type { IStateMachine } from "
|
|
9
|
-
import type { ISubscription, ITracer, Milliseconds, Nullable } from "@vkontakte/videoplayer-shared";
|
|
4
|
+
import type { CommonInit, Representation, Stream } from "#/providers/utils/parsers/types";
|
|
5
|
+
import type { IProvider, IProviderParams } from "#/providers/types";
|
|
6
|
+
import type { IObservableVideo } from "#/providers/utils/HTMLVideoElement/observable";
|
|
7
|
+
import { TrackHistory } from "#/utils/autoSelectTrack";
|
|
8
|
+
import type { IStateMachine } from "#/utils/StateMachine/types";
|
|
9
|
+
import type { ExactVideoQuality, ISubscription, ITracer, Milliseconds, Nullable } from "@vkontakte/videoplayer-shared";
|
|
10
10
|
import { Player } from "./lib/player";
|
|
11
|
-
import { Scene3D } from "
|
|
12
|
-
import DroppedFramesManager from "
|
|
13
|
-
import TextTrackManager from "
|
|
14
|
-
import StallsManager from "
|
|
11
|
+
import { Scene3D } from "#/utils/3d/Scene3D";
|
|
12
|
+
import DroppedFramesManager from "#/providers/utils/HTMLVideoElement/DroppedFramesManager";
|
|
13
|
+
import TextTrackManager from "#/providers/utils/HTMLVideoElement/TextTrackManager";
|
|
14
|
+
import StallsManager from "#/providers/utils/StallsManager";
|
|
15
15
|
import { AbrManager } from "../utils/Abr/abrManager";
|
|
16
16
|
import { ElementSizeManager } from "../utils/HTMLVideoElement/ElementSizeManager";
|
|
17
17
|
type IParams = IProviderParams<IDashURLSource> & {
|
|
@@ -19,6 +19,7 @@ type IParams = IProviderParams<IDashURLSource> & {
|
|
|
19
19
|
forceVideoCodec?: VideoCodec;
|
|
20
20
|
failedVideoTrack?: Nullable<IVideoTrack>;
|
|
21
21
|
isOnDemand?: boolean;
|
|
22
|
+
dashMaxTvVideoQuality?: Nullable<ExactVideoQuality>;
|
|
22
23
|
};
|
|
23
24
|
export default abstract class BaseDashProvider implements IProvider {
|
|
24
25
|
scene3D: Scene3D | undefined;
|
|
@@ -30,7 +31,7 @@ export default abstract class BaseDashProvider implements IProvider {
|
|
|
30
31
|
protected player: Player;
|
|
31
32
|
protected params: IParams;
|
|
32
33
|
protected tracer: ITracer;
|
|
33
|
-
protected textTracksManager: TextTrackManager;
|
|
34
|
+
protected textTracksManager: TextTrackManager | null;
|
|
34
35
|
protected droppedFramesManager: DroppedFramesManager;
|
|
35
36
|
protected stallsManager: StallsManager;
|
|
36
37
|
protected elementSizeManager: ElementSizeManager;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IValueSubject, Milliseconds } from "@vkontakte/videoplayer-shared";
|
|
2
2
|
import type { Dependencies } from "./buffer";
|
|
3
|
-
import type { Manifest, Stream, TextRepresentation } from "
|
|
3
|
+
import type { Manifest, Stream, TextRepresentation } from "#/providers/utils/parsers/types";
|
|
4
4
|
export declare class LiveTextManager {
|
|
5
5
|
currentRepresentation$: IValueSubject<TextRepresentation | null>;
|
|
6
6
|
private readonly maxRepresentations;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { ITuningConfig } from "
|
|
1
|
+
import type { ITuningConfig } from "#/utils/tuningConfig";
|
|
2
2
|
import type { IError, IRange, ISubject, IValueSubject, Milliseconds } from "@vkontakte/videoplayer-shared";
|
|
3
3
|
import { abortable } from "@vkontakte/videoplayer-shared";
|
|
4
4
|
import type { Fetcher } from "./fetcher";
|
|
5
|
-
import type { CommonInit, Manifest, Representation, Segment, Stream, StreamKind } from "
|
|
5
|
+
import type { CommonInit, Manifest, Representation, Segment, Stream, StreamKind } from "#/providers/utils/parsers/types";
|
|
6
|
+
import type { VideoSegmentLoadProgress } from "#/providers/utils/Abr/types";
|
|
6
7
|
export interface Dependencies {
|
|
7
8
|
fetcher: Fetcher;
|
|
8
9
|
tuning: ITuningConfig;
|
|
@@ -75,7 +76,7 @@ export declare class BufferManager {
|
|
|
75
76
|
private loadByteRangeSegmentsTimeoutId;
|
|
76
77
|
constructor(kind: StreamKind, mediaSource: MediaSource, representations: Representation[], { fetcher, tuning, getCurrentPosition, isActiveLowLatency, compatibilityMode, manifest }: Dependencies);
|
|
77
78
|
startWith: ReturnType<typeof abortable<[Representation["id"]]>>;
|
|
78
|
-
switchToWithPreviousAbort(newRepresentationId: Representation["id"], dropBuffer?: boolean): void
|
|
79
|
+
switchToWithPreviousAbort(newRepresentationId: Representation["id"], dropBuffer?: boolean): Promise<void | undefined>;
|
|
79
80
|
switchTo: ReturnType<typeof abortable<[Representation["id"], boolean | undefined], void>>;
|
|
80
81
|
switchToOld: ReturnType<typeof abortable<[Representation["id"], boolean | undefined], void>>;
|
|
81
82
|
warmUpMediaSource(): void;
|
|
@@ -125,6 +126,8 @@ export declare class BufferManager {
|
|
|
125
126
|
getDebugBufferState(): IRange<Milliseconds> | undefined;
|
|
126
127
|
getForwardBufferDuration(currentPosition?: Milliseconds | undefined): Milliseconds;
|
|
127
128
|
getForwardBufferRepresentations(currentPosition?: Milliseconds | undefined): Map<Representation["id"], Segment[]>;
|
|
129
|
+
getMpdSegmentDuration(): Milliseconds | undefined;
|
|
130
|
+
getActiveSegmentProgress(): VideoSegmentLoadProgress | undefined;
|
|
128
131
|
private detectGaps;
|
|
129
132
|
private detectGapsWhenIdle;
|
|
130
133
|
private checkEjectedSegments;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { HttpConnectionType, HttpConnectionMetrics, HttpDownloadMetrics } from "
|
|
2
|
-
import type ThroughputEstimator from "
|
|
1
|
+
import type { HttpConnectionType, HttpConnectionMetrics, HttpDownloadMetrics } from "#/player/types";
|
|
2
|
+
import type ThroughputEstimator from "#/utils/ThroughputEstimator";
|
|
3
3
|
import type { Byte, IValueSubject, ISubject, Milliseconds, IRange, ITracer, IError } from "@vkontakte/videoplayer-shared";
|
|
4
4
|
import { abortable } from "@vkontakte/videoplayer-shared";
|
|
5
|
-
import type { CommonInit, GenericContainerParser, Segment, SegmentReference } from "
|
|
5
|
+
import type { CommonInit, GenericContainerParser, Segment, SegmentReference } from "#/providers/utils/parsers/types";
|
|
6
6
|
declare global {
|
|
7
7
|
interface Navigator {
|
|
8
8
|
connection: {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import type { IHLSSource, HttpConnectionType, HttpConnectionMetrics, HttpDownloadMetrics, VideoCodec } from "
|
|
1
|
+
import type { IHLSSource, HttpConnectionType, HttpConnectionMetrics, HttpDownloadMetrics, VideoCodec } from "#/player/types";
|
|
2
2
|
import { LiveStreamStatus } from "./types";
|
|
3
|
-
import type { CommonInit, Manifest, Representation, Segment, TextRepresentation } from "
|
|
4
|
-
import { StreamKind } from "
|
|
5
|
-
import StateMachine from "
|
|
6
|
-
import type ThroughputEstimator from "
|
|
7
|
-
import type { ITuningConfig } from "
|
|
8
|
-
import type { IError, ISubject, ITracer, IValueSubject, Milliseconds } from "@vkontakte/videoplayer-shared";
|
|
3
|
+
import type { CommonInit, Manifest, Representation, Segment, TextRepresentation } from "#/providers/utils/parsers/types";
|
|
4
|
+
import { StreamKind } from "#/providers/utils/parsers/types";
|
|
5
|
+
import StateMachine from "#/utils/StateMachine/StateMachine";
|
|
6
|
+
import type ThroughputEstimator from "#/utils/ThroughputEstimator";
|
|
7
|
+
import type { ITuningConfig } from "#/utils/tuningConfig";
|
|
8
|
+
import type { ExactVideoQuality, IError, ISubject, ITracer, IValueSubject, Milliseconds, Nullable } from "@vkontakte/videoplayer-shared";
|
|
9
9
|
import { abortable, Subject } from "@vkontakte/videoplayer-shared";
|
|
10
|
+
import type { VideoSegmentLoadProgress } from "#/providers/utils/Abr/types";
|
|
10
11
|
export declare enum State {
|
|
11
12
|
NONE = "none",
|
|
12
13
|
MANIFEST_READY = "manifest_ready",
|
|
@@ -20,6 +21,7 @@ export interface Params {
|
|
|
20
21
|
forceVideoCodec?: VideoCodec;
|
|
21
22
|
tracer: ITracer;
|
|
22
23
|
isOnDemand: boolean;
|
|
24
|
+
dashMaxTvVideoQuality: Nullable<ExactVideoQuality>;
|
|
23
25
|
}
|
|
24
26
|
export declare class Player {
|
|
25
27
|
private element;
|
|
@@ -84,6 +86,7 @@ export declare class Player {
|
|
|
84
86
|
private livePauseWatchdogSubscription;
|
|
85
87
|
private liveWasInterrupted;
|
|
86
88
|
private isOnDemand;
|
|
89
|
+
private dashMaxTvVideoQuality;
|
|
87
90
|
private destroyController;
|
|
88
91
|
constructor(params: Params);
|
|
89
92
|
initManifest: ReturnType<typeof abortable<[HTMLVideoElement, string, number]>>;
|
|
@@ -101,6 +104,8 @@ export declare class Player {
|
|
|
101
104
|
get isStreamEnded(): boolean;
|
|
102
105
|
stop(): void;
|
|
103
106
|
getForwardBufferRepresentations(kind: Exclude<StreamKind, StreamKind.TEXT>): Map<Representation["id"], Segment[]> | undefined;
|
|
107
|
+
getActiveVideoSegmentProgress(): VideoSegmentLoadProgress | undefined;
|
|
108
|
+
getMpdVideoSegmentDuration(): Milliseconds | undefined;
|
|
104
109
|
setBufferTarget(time: Milliseconds): void;
|
|
105
110
|
getStreams(): Manifest["streams"] | undefined;
|
|
106
111
|
getCodecs(): Manifest["codecs"] | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IObservable, ISubject, IValueSubject } from "@vkontakte/videoplayer-shared";
|
|
2
|
-
import type { IDesiredState, IProviderOutput, IProviderParams } from "
|
|
3
|
-
import type { IObservableVideo } from "
|
|
4
|
-
import type { IDashURLSource } from "
|
|
2
|
+
import type { IDesiredState, IProviderOutput, IProviderParams } from "#/providers/types";
|
|
3
|
+
import type { IObservableVideo } from "#/providers/utils/HTMLVideoElement/observable";
|
|
4
|
+
import type { IDashURLSource } from "#/player/types";
|
|
5
5
|
export declare enum LiveStatus {
|
|
6
6
|
ActiveLowLatency = "active_low_latency",
|
|
7
7
|
LiveWithTargetOffset = "live_with_target_offset",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Representation, Segment, SegmentReference, Stream, TemplateSegment, TemplateSegmentReference, TextRepresentation } from "
|
|
2
|
-
import type { IAudioStream, IAudioTrack, IInternalTextTrack, IVideoStream, IVideoTrack } from "
|
|
1
|
+
import type { Representation, Segment, SegmentReference, Stream, TemplateSegment, TemplateSegmentReference, TextRepresentation } from "#/providers/utils/parsers/types";
|
|
2
|
+
import type { IAudioStream, IAudioTrack, IInternalTextTrack, IVideoStream, IVideoTrack } from "#/player/types";
|
|
3
3
|
export declare const representationToVideoTrack: ({ id, width, height, bitrate, fps, quality: qualityString, streamId, tvDisabled }: Representation) => IVideoTrack | undefined;
|
|
4
4
|
export declare const representationToAudioTrack: ({ id, bitrate }: Representation) => IAudioTrack;
|
|
5
5
|
export declare const representationToTextTrack: ({ language, label }: Stream, { id, url, isAuto }: Representation & {
|
|
@@ -7,7 +7,7 @@ export declare const representationToTextTrack: ({ language, label }: Stream, {
|
|
|
7
7
|
isAuto: boolean;
|
|
8
8
|
}) => IInternalTextTrack;
|
|
9
9
|
export declare const textRepresentationToTextTrack: ({ language, label, id, url, isAuto }: TextRepresentation) => IInternalTextTrack;
|
|
10
|
-
export declare const streamToIAudioStream: ({ id, language, label, codecs, isDefault }: Stream) => IAudioStream;
|
|
10
|
+
export declare const streamToIAudioStream: ({ id, language, label, codecs, isDefault, channels }: Stream) => IAudioStream;
|
|
11
11
|
export declare const streamToIVideoStream: ({ id, language, label, hdr, codecs }: Stream) => IVideoStream;
|
|
12
12
|
export declare const isTemplateSegment: (segment: Segment) => segment is TemplateSegment;
|
|
13
13
|
export declare const isTemplateSegmentReference: (segmentReference: SegmentReference) => segmentReference is TemplateSegmentReference;
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import type { IAudioTrack, IBaseTrack, IDashURLSource, IHLSSource, IInternalTextTrack, IVideoTrack, VideoCodec } from "
|
|
1
|
+
import type { IAudioTrack, IBaseTrack, IDashURLSource, IHLSSource, IInternalTextTrack, IVideoTrack, VideoCodec } from "#/player/types";
|
|
2
2
|
import type { IProviderSubscriptionInfo } from "./lib/types";
|
|
3
3
|
import { ProviderState } from "./lib/types";
|
|
4
|
-
import type { CommonInit, Representation, Stream } from "
|
|
5
|
-
import type { IProvider, IProviderParams } from "
|
|
6
|
-
import type { IObservableVideo } from "
|
|
7
|
-
import { TrackHistory } from "
|
|
8
|
-
import type { IStateMachine } from "
|
|
9
|
-
import type { ISubscription, ITracer, Milliseconds, Nullable } from "@vkontakte/videoplayer-shared";
|
|
10
|
-
import { Scene3D } from "
|
|
11
|
-
import DroppedFramesManager from "
|
|
12
|
-
import TextTrackManager from "
|
|
13
|
-
import StallsManager from "
|
|
4
|
+
import type { CommonInit, Representation, Stream } from "#/providers/utils/parsers/types";
|
|
5
|
+
import type { IProvider, IProviderParams } from "#/providers/types";
|
|
6
|
+
import type { IObservableVideo } from "#/providers/utils/HTMLVideoElement/observable";
|
|
7
|
+
import { TrackHistory } from "#/utils/autoSelectTrack";
|
|
8
|
+
import type { IStateMachine } from "#/utils/StateMachine/types";
|
|
9
|
+
import type { ExactVideoQuality, ISubscription, ITracer, Milliseconds, Nullable } from "@vkontakte/videoplayer-shared";
|
|
10
|
+
import { Scene3D } from "#/utils/3d/Scene3D";
|
|
11
|
+
import DroppedFramesManager from "#/providers/utils/HTMLVideoElement/DroppedFramesManager";
|
|
12
|
+
import TextTrackManager from "#/providers/utils/HTMLVideoElement/TextTrackManager";
|
|
13
|
+
import StallsManager from "#/providers/utils/StallsManager";
|
|
14
14
|
import { ElementSizeManager } from "../utils/HTMLVideoElement/ElementSizeManager";
|
|
15
|
-
import type { BasePlayer } from "
|
|
16
|
-
import { AbrManager } from "
|
|
15
|
+
import type { BasePlayer } from "#/providers/DashProviderVirtual/lib/player/basePlayer";
|
|
16
|
+
import { AbrManager } from "#/providers/utils/Abr/abrManager";
|
|
17
17
|
type IParams = IProviderParams<IDashURLSource> & {
|
|
18
18
|
sourceHls?: IHLSSource;
|
|
19
19
|
forceVideoCodec?: VideoCodec;
|
|
20
20
|
failedVideoTrack?: Nullable<IVideoTrack>;
|
|
21
21
|
isOnDemand?: boolean;
|
|
22
|
+
dashMaxTvVideoQuality?: Nullable<ExactVideoQuality>;
|
|
22
23
|
};
|
|
23
24
|
export default abstract class BaseDashProvider implements IProvider {
|
|
24
25
|
scene3D: Scene3D | undefined;
|
|
@@ -30,7 +31,7 @@ export default abstract class BaseDashProvider implements IProvider {
|
|
|
30
31
|
protected player: BasePlayer;
|
|
31
32
|
protected params: IParams;
|
|
32
33
|
protected tracer: ITracer;
|
|
33
|
-
protected textTracksManager: TextTrackManager;
|
|
34
|
+
protected textTracksManager: TextTrackManager | null;
|
|
34
35
|
protected droppedFramesManager: DroppedFramesManager;
|
|
35
36
|
protected stallsManager: StallsManager;
|
|
36
37
|
protected elementSizeManager: ElementSizeManager;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Milliseconds } from "@vkontakte/videoplayer-shared";
|
|
2
2
|
import type { IParams } from "./lib/types";
|
|
3
3
|
import BaseDashProvider from "./baseDashProvider";
|
|
4
|
-
import { LivePlayer } from "
|
|
4
|
+
import { LivePlayer } from "#/providers/DashProviderVirtual/lib/player/livePlayer";
|
|
5
5
|
export default class DashCmafLiveProvider extends BaseDashProvider {
|
|
6
6
|
constructor(params: IParams);
|
|
7
7
|
protected getPlayer(): LivePlayer;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Milliseconds } from "@vkontakte/videoplayer-shared";
|
|
2
2
|
import BaseDashProvider from "./baseDashProvider";
|
|
3
|
-
import { Player } from "
|
|
3
|
+
import { Player } from "#/providers/DashProviderVirtual/lib/player/player";
|
|
4
4
|
export default class DashProvider extends BaseDashProvider {
|
|
5
5
|
protected subscribe(): void;
|
|
6
6
|
protected getPlayer(): Player;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IValueSubject, Milliseconds } from "@vkontakte/videoplayer-shared";
|
|
2
|
-
import type { Manifest, Stream, TextRepresentation } from "
|
|
3
|
-
import type { Dependencies } from "
|
|
2
|
+
import type { Manifest, Stream, TextRepresentation } from "#/providers/utils/parsers/types";
|
|
3
|
+
import type { Dependencies } from "#/providers/DashProviderVirtual/lib/buffer/types";
|
|
4
4
|
export declare class LiveTextManager {
|
|
5
5
|
currentRepresentation$: IValueSubject<TextRepresentation | null>;
|
|
6
6
|
private readonly maxRepresentations;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Byte, IError, IRange, ISubject, IValueSubject, Milliseconds } from "@vkontakte/videoplayer-shared";
|
|
2
|
-
import type { CommonInit, Manifest, Representation, Segment } from "
|
|
3
|
-
import type { Fetcher } from "
|
|
4
|
-
import type { ITuningConfig } from "
|
|
2
|
+
import type { CommonInit, Manifest, Representation, Segment } from "#/providers/utils/parsers/types";
|
|
3
|
+
import type { Fetcher } from "#/providers/DashProviderVirtual/lib/fetcher";
|
|
4
|
+
import type { ITuningConfig } from "#/utils/tuningConfig";
|
|
5
|
+
import type { VideoSegmentLoadProgress } from "#/providers/utils/Abr/types";
|
|
5
6
|
export type TRepresentationSwitchMode = "lazy" | "force";
|
|
6
7
|
export declare enum SwithRepresentationMode {
|
|
7
8
|
Lazy = "lazy",
|
|
@@ -37,6 +38,8 @@ export interface IVirtualBufferManager<T extends Segment = Segment> {
|
|
|
37
38
|
setPreloadOnly(preloadOnly: boolean): void;
|
|
38
39
|
findSegmentStartTime(position: Milliseconds): Milliseconds | undefined;
|
|
39
40
|
calculateDurationFromSegments(): Milliseconds;
|
|
41
|
+
getActiveSegmentProgress(): VideoSegmentLoadProgress | undefined;
|
|
42
|
+
getMpdSegmentDuration(): Milliseconds | undefined;
|
|
40
43
|
destroy(): void;
|
|
41
44
|
get lastDataObtainedTimestamp(): Milliseconds;
|
|
42
45
|
}
|
|
@@ -44,6 +47,7 @@ export interface IBufferPlaybackQueueItem<T extends Segment> {
|
|
|
44
47
|
representationId: Representation["id"];
|
|
45
48
|
segmentIndex: number;
|
|
46
49
|
segment: T;
|
|
50
|
+
startedAtMs?: Milliseconds;
|
|
47
51
|
}
|
|
48
52
|
export interface ISomeDataLoadedCallbackParams<T extends Segment> {
|
|
49
53
|
downloadingItems: IBufferPlaybackQueueItem<T>[];
|
package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/baseVirtualBufferManager.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type { Fetcher, FetchParamsWithUrl, Priority, RepresentationFetchResult } from "
|
|
2
|
-
import type { CommonInit, ContainerParser, Representation, Segment } from "
|
|
3
|
-
import { StreamKind } from "
|
|
4
|
-
import type { ITuningConfig } from "
|
|
1
|
+
import type { Fetcher, FetchParamsWithUrl, Priority, RepresentationFetchResult } from "#/providers/DashProviderVirtual/lib/fetcher";
|
|
2
|
+
import type { CommonInit, ContainerParser, Representation, Segment } from "#/providers/utils/parsers/types";
|
|
3
|
+
import { StreamKind } from "#/providers/utils/parsers/types";
|
|
4
|
+
import type { ITuningConfig } from "#/utils/tuningConfig";
|
|
5
5
|
import type { Byte, IError, IRange, ISubject, IValueSubject, Milliseconds, Seconds } from "@vkontakte/videoplayer-shared";
|
|
6
6
|
import { abortable, Subscription } from "@vkontakte/videoplayer-shared";
|
|
7
|
-
import type { NativeBufferManager } from "
|
|
8
|
-
import { SwithRepresentationMode, type Dependencies, type IBufferPlaybackQueueItem, type ISomeDataLoadedCallbackParams, type IVirtualBufferManager } from "
|
|
7
|
+
import type { NativeBufferManager } from "#/providers/DashProviderVirtual/lib/buffer/nativeBufferManager";
|
|
8
|
+
import { SwithRepresentationMode, type Dependencies, type IBufferPlaybackQueueItem, type ISomeDataLoadedCallbackParams, type IVirtualBufferManager } from "#/providers/DashProviderVirtual/lib/buffer/types";
|
|
9
|
+
import type { VideoSegmentLoadProgress } from "#/providers/utils/Abr/types";
|
|
9
10
|
export declare abstract class BaseVirtualBufferManager<T extends Segment> implements IVirtualBufferManager<T> {
|
|
10
11
|
error$: ISubject<IError>;
|
|
11
12
|
playingRepresentation$: IValueSubject<Representation["id"] | undefined>;
|
|
@@ -70,6 +71,8 @@ export declare abstract class BaseVirtualBufferManager<T extends Segment> implem
|
|
|
70
71
|
getRepresentationInitialTime(): Seconds;
|
|
71
72
|
getMutexInfo(): string;
|
|
72
73
|
calculateDurationFromSegments(): Milliseconds;
|
|
74
|
+
getActiveSegmentProgress(): VideoSegmentLoadProgress | undefined;
|
|
75
|
+
getMpdSegmentDuration(): Milliseconds | undefined;
|
|
73
76
|
get lastDataObtainedTimestamp(): Milliseconds;
|
|
74
77
|
setTarget(time: Milliseconds): void;
|
|
75
78
|
setPreloadOnly(preloadOnly: boolean): void;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BaseVirtualBufferManager } from "
|
|
2
|
-
import type { Dependencies, IBufferPlaybackQueueItem, ISomeDataLoadedCallbackParams, IVirtualBufferManager } from "
|
|
3
|
-
import type { ByteRangeSegment, Representation, StreamKind } from "
|
|
4
|
-
import type { NativeBufferManager } from "
|
|
5
|
-
import type { FetchParamsWithUrl, Priority } from "
|
|
1
|
+
import { BaseVirtualBufferManager } from "#/providers/DashProviderVirtual/lib/buffer/virtualBuffer/baseVirtualBufferManager";
|
|
2
|
+
import type { Dependencies, IBufferPlaybackQueueItem, ISomeDataLoadedCallbackParams, IVirtualBufferManager } from "#/providers/DashProviderVirtual/lib/buffer/types";
|
|
3
|
+
import type { ByteRangeSegment, Representation, StreamKind } from "#/providers/utils/parsers/types";
|
|
4
|
+
import type { NativeBufferManager } from "#/providers/DashProviderVirtual/lib/buffer/nativeBufferManager";
|
|
5
|
+
import type { FetchParamsWithUrl, Priority } from "#/providers/DashProviderVirtual/lib/fetcher";
|
|
6
6
|
export declare class ByteRangeVirtualBufferManager extends BaseVirtualBufferManager<ByteRangeSegment> implements IVirtualBufferManager<ByteRangeSegment> {
|
|
7
7
|
constructor(kind: StreamKind, nativeBufferManager: NativeBufferManager, representations: Representation[], dependencies: Dependencies);
|
|
8
8
|
protected loadItems(itemsToLoad: IBufferPlaybackQueueItem<ByteRangeSegment>[], representation: Representation, priority?: Priority): Promise<void>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { TemplateVirtualBufferManager } from "
|
|
2
|
-
import type { Manifest, Representation, StreamKind, TemplateSegment, TemplateSegmentReference } from "
|
|
3
|
-
import type { NativeBufferManager } from "
|
|
4
|
-
import type { Dependencies, IBufferPlaybackQueueItem, ISomeDataLoadedCallbackParams } from "
|
|
5
|
-
import type { FetchParamsWithUrl, Priority } from "
|
|
1
|
+
import { TemplateVirtualBufferManager } from "#/providers/DashProviderVirtual/lib/buffer/virtualBuffer/templateVirtualBufferManager";
|
|
2
|
+
import type { Manifest, Representation, StreamKind, TemplateSegment, TemplateSegmentReference } from "#/providers/utils/parsers/types";
|
|
3
|
+
import type { NativeBufferManager } from "#/providers/DashProviderVirtual/lib/buffer/nativeBufferManager";
|
|
4
|
+
import type { Dependencies, IBufferPlaybackQueueItem, ISomeDataLoadedCallbackParams } from "#/providers/DashProviderVirtual/lib/buffer/types";
|
|
5
|
+
import type { FetchParamsWithUrl, Priority } from "#/providers/DashProviderVirtual/lib/fetcher";
|
|
6
6
|
import type { IRange, IValueSubject, Milliseconds } from "@vkontakte/videoplayer-shared";
|
|
7
7
|
export declare class LiveVirtualBuffer extends TemplateVirtualBufferManager {
|
|
8
8
|
currentLiveSegmentServerLatency$: IValueSubject<number>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BaseVirtualBufferManager } from "
|
|
2
|
-
import type { Dependencies, IBufferPlaybackQueueItem, ISomeDataLoadedCallbackParams, IVirtualBufferManager } from "
|
|
3
|
-
import type { TemplateSegment, Representation, StreamKind } from "
|
|
4
|
-
import type { NativeBufferManager } from "
|
|
5
|
-
import type { FetchParamsWithUrl, Priority } from "
|
|
1
|
+
import { BaseVirtualBufferManager } from "#/providers/DashProviderVirtual/lib/buffer/virtualBuffer/baseVirtualBufferManager";
|
|
2
|
+
import type { Dependencies, IBufferPlaybackQueueItem, ISomeDataLoadedCallbackParams, IVirtualBufferManager } from "#/providers/DashProviderVirtual/lib/buffer/types";
|
|
3
|
+
import type { TemplateSegment, Representation, StreamKind } from "#/providers/utils/parsers/types";
|
|
4
|
+
import type { NativeBufferManager } from "#/providers/DashProviderVirtual/lib/buffer/nativeBufferManager";
|
|
5
|
+
import type { FetchParamsWithUrl, Priority } from "#/providers/DashProviderVirtual/lib/fetcher";
|
|
6
6
|
export declare class TemplateVirtualBufferManager extends BaseVirtualBufferManager<TemplateSegment> implements IVirtualBufferManager<TemplateSegment> {
|
|
7
7
|
constructor(kind: StreamKind, nativeBufferManager: NativeBufferManager, representations: Representation[], dependencies: Dependencies);
|
|
8
8
|
protected loadItems(itemsToLoad: IBufferPlaybackQueueItem<TemplateSegment>[], representation: Representation, priority?: Priority): Promise<void>;
|
package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/virtualBufferFactory.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Representation, StreamKind } from "
|
|
2
|
-
import type { NativeBufferManager } from "
|
|
3
|
-
import type { Dependencies, IVirtualBufferManager } from "
|
|
1
|
+
import type { Representation, StreamKind } from "#/providers/utils/parsers/types";
|
|
2
|
+
import type { NativeBufferManager } from "#/providers/DashProviderVirtual/lib/buffer/nativeBufferManager";
|
|
3
|
+
import type { Dependencies, IVirtualBufferManager } from "#/providers/DashProviderVirtual/lib/buffer/types";
|
|
4
4
|
export declare class VirtualBufferFactory {
|
|
5
5
|
static getBufferManager(kind: StreamKind, nativeBufferManager: NativeBufferManager, representations: Representation[], dependencies: Dependencies): IVirtualBufferManager;
|
|
6
6
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { HttpConnectionType, HttpConnectionMetrics, HttpDownloadMetrics } from "
|
|
2
|
-
import type ThroughputEstimator from "
|
|
1
|
+
import type { HttpConnectionType, HttpConnectionMetrics, HttpDownloadMetrics } from "#/player/types";
|
|
2
|
+
import type ThroughputEstimator from "#/utils/ThroughputEstimator";
|
|
3
3
|
import type { Byte, IError, IRange, ISubject, ITracer, IValueSubject, Milliseconds } from "@vkontakte/videoplayer-shared";
|
|
4
4
|
import { abortable } from "@vkontakte/videoplayer-shared";
|
|
5
|
-
import type { CommonInit, GenericContainerParser, Segment, SegmentReference } from "
|
|
5
|
+
import type { CommonInit, GenericContainerParser, Segment, SegmentReference } from "#/providers/utils/parsers/types";
|
|
6
6
|
declare global {
|
|
7
7
|
interface Navigator {
|
|
8
8
|
connection: {
|