@vkontakte/videoplayer-core 2.0.154-dev.319d6ebf.0 → 2.0.154-dev.33a6ac90.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 +184 -0
- package/es2015.esm.js +184 -0
- package/es2018.cjs +129 -75
- package/es2018.esm.js +127 -73
- package/es2024.cjs +135 -81
- package/es2024.esm.js +133 -79
- package/esnext.cjs +135 -81
- package/esnext.esm.js +133 -79
- package/evergreen.esm.js +134 -80
- package/package.json +2 -2
- package/types/enums/AndroidPreferredFormat.d.ts +6 -6
- package/types/enums/IOSPreferredFormat.d.ts +2 -2
- package/types/enums/WebmCodecStrategy.d.ts +5 -5
- package/types/index.d.ts +13 -16
- package/types/player/Player.d.ts +210 -217
- package/types/player/types.d.ts +591 -589
- package/types/player/utils/optimisticPosition.d.ts +7 -7
- package/types/player/utils/selectContainer.d.ts +1 -1
- package/types/providers/ChromecastPresentationApiProvider/ChromecastPresentationApiConnector.d.ts +107 -106
- package/types/providers/ChromecastPresentationApiProvider/ChromecastPresentationApiInitializer.d.ts +23 -23
- package/types/providers/ChromecastPresentationApiProvider/ChromecastPresentationApiProvider.d.ts +34 -34
- package/types/providers/ChromecastPresentationApiProvider/ProgressTicker.d.ts +9 -9
- package/types/providers/ChromecastPresentationApiProvider/index.d.ts +3 -3
- package/types/providers/ChromecastPresentationApiProvider/types.d.ts +31 -31
- package/types/providers/ChromecastPresentationApiProvider/utils.d.ts +1 -1
- package/types/providers/ChromecastProvider/ChromecastInitializer/index.d.ts +22 -22
- package/types/providers/ChromecastProvider/ChromecastInitializer/types.d.ts +22 -22
- package/types/providers/ChromecastProvider/index.d.ts +23 -23
- package/types/providers/ChromecastProvider/types.d.ts +6 -6
- package/types/providers/ChromecastProvider/utils.d.ts +1 -1
- package/types/providers/DashLiveProvider/DashLiveProvider.d.ts +33 -32
- package/types/providers/DashLiveProvider/index.d.ts +1 -1
- package/types/providers/DashLiveProvider/types.d.ts +17 -17
- package/types/providers/DashLiveProvider/utils/FilesFetcher.d.ts +23 -23
- package/types/providers/DashLiveProvider/utils/LiveDashPlayer.d.ts +150 -149
- package/types/providers/DashLiveProvider/utils/ThroughputEstimator.d.ts +30 -12
- package/types/providers/DashLiveProvider/utils/liveDashPlayerUtil.d.ts +22 -19
- package/types/providers/DashProvider/baseDashProvider.d.ts +56 -56
- package/types/providers/DashProvider/dashCmafLiveProvider.d.ts +6 -6
- package/types/providers/DashProvider/dashProvider.d.ts +4 -4
- package/types/providers/DashProvider/index.d.ts +2 -2
- package/types/providers/DashProvider/lib/ElementSizeManager.d.ts +14 -14
- package/types/providers/DashProvider/lib/LiveTextManager.d.ts +21 -21
- package/types/providers/DashProvider/lib/buffer.d.ts +122 -123
- package/types/providers/DashProvider/lib/fetcher.d.ts +69 -70
- package/types/providers/DashProvider/lib/player.d.ts +107 -109
- package/types/providers/DashProvider/lib/sourceBufferTaskQueue.d.ts +17 -17
- package/types/providers/DashProvider/lib/types.d.ts +20 -20
- package/types/providers/DashProvider/lib/utils.d.ts +5 -5
- package/types/providers/DashProviderVirtual/baseDashProvider.d.ts +57 -57
- package/types/providers/DashProviderVirtual/consts.d.ts +2 -2
- package/types/providers/DashProviderVirtual/dashCmafLiveProvider.d.ts +8 -8
- package/types/providers/DashProviderVirtual/dashProvider.d.ts +6 -6
- package/types/providers/DashProviderVirtual/index.d.ts +2 -2
- package/types/providers/DashProviderVirtual/lib/ElementSizeManager.d.ts +14 -15
- package/types/providers/DashProviderVirtual/lib/LiveTextManager.d.ts +21 -21
- package/types/providers/DashProviderVirtual/lib/buffer/nativeBufferManager.d.ts +17 -17
- package/types/providers/DashProviderVirtual/lib/buffer/sourceBufferTaskQueue.d.ts +17 -17
- package/types/providers/DashProviderVirtual/lib/buffer/types.d.ts +39 -39
- package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/baseVirtualBufferManager.d.ts +92 -94
- package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/byteRangeVirtualBufferManager.d.ts +19 -19
- package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/liveVirtualBuffer.d.ts +25 -25
- package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/templateVirtualBufferManager.d.ts +19 -19
- package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/virtualBufferFactory.d.ts +4 -4
- package/types/providers/DashProviderVirtual/lib/fetcher.d.ts +67 -68
- package/types/providers/DashProviderVirtual/lib/player/basePlayer.d.ts +100 -103
- package/types/providers/DashProviderVirtual/lib/player/livePlayer.d.ts +34 -34
- package/types/providers/DashProviderVirtual/lib/player/player.d.ts +9 -9
- package/types/providers/DashProviderVirtual/lib/player/types.d.ts +13 -13
- package/types/providers/DashProviderVirtual/lib/types.d.ts +20 -20
- package/types/providers/DashProviderVirtual/lib/utils.d.ts +4 -4
- package/types/providers/HlsLiveProvider/LiveTextManager.d.ts +35 -35
- package/types/providers/HlsLiveProvider/index.d.ts +28 -28
- package/types/providers/HlsLiveProvider/seekBackTimeExtractor.d.ts +1 -1
- package/types/providers/HlsProvider/index.d.ts +19 -18
- package/types/providers/HlsProvider/manifestDataExtractor.d.ts +13 -13
- package/types/providers/MpegProvider/index.d.ts +17 -16
- package/types/providers/ProviderContainer/index.d.ts +45 -45
- package/types/providers/ProviderContainer/types.d.ts +16 -16
- package/types/providers/ProviderContainer/utils/formatsSupport.d.ts +9 -9
- package/types/providers/ProviderContainer/utils/playbackHangup.d.ts +8 -9
- package/types/providers/WebRTCLiveProvider/WebRTCLiveClient.d.ts +185 -185
- package/types/providers/WebRTCLiveProvider/WebRTCLiveProvider.d.ts +57 -57
- package/types/providers/WebRTCLiveProvider/interface/WebRTCLiveClientOptions.d.ts +6 -6
- package/types/providers/types.d.ts +102 -102
- package/types/providers/utils/HTMLVideoElement/DroppedFramesManager.d.ts +39 -40
- package/types/providers/utils/HTMLVideoElement/TextTrackManager.d.ts +28 -28
- package/types/providers/utils/HTMLVideoElement/destroy.d.ts +1 -1
- package/types/providers/utils/HTMLVideoElement/forcePlay.d.ts +5 -5
- package/types/providers/utils/HTMLVideoElement/observable.d.ts +25 -25
- package/types/providers/utils/HTMLVideoElement/pool.d.ts +4 -4
- package/types/providers/utils/LiveOffset/index.d.ts +12 -12
- package/types/providers/utils/LiveOffset/types.d.ts +8 -8
- package/types/providers/utils/StallsManager.d.ts +49 -49
- package/types/providers/utils/debug.d.ts +12 -13
- package/types/providers/utils/extractConnectionHeaders.d.ts +3 -3
- package/types/providers/utils/generateLiveUrl.d.ts +4 -4
- package/types/providers/utils/guessNetworkErrorCause.d.ts +1 -1
- package/types/providers/utils/mergeIntervals.d.ts +1 -1
- package/types/providers/utils/okQualityStringToVideoQuality.d.ts +1 -1
- package/types/providers/utils/parsers/ietf/index.d.ts +8 -8
- package/types/providers/utils/parsers/index.d.ts +1 -1
- package/types/providers/utils/parsers/mpd.d.ts +1 -1
- package/types/providers/utils/parsers/mpeg/BoxModel.d.ts +17 -18
- package/types/providers/utils/parsers/mpeg/BoxParser.d.ts +15 -15
- package/types/providers/utils/parsers/mpeg/BoxTypeEnum.d.ts +27 -27
- package/types/providers/utils/parsers/mpeg/box.d.ts +68 -68
- package/types/providers/utils/parsers/mpeg/boxes/avc1.d.ts +5 -5
- package/types/providers/utils/parsers/mpeg/boxes/equi.d.ts +18 -18
- package/types/providers/utils/parsers/mpeg/boxes/ftyp.d.ts +14 -14
- package/types/providers/utils/parsers/mpeg/boxes/index.d.ts +26 -27
- package/types/providers/utils/parsers/mpeg/boxes/mdat.d.ts +12 -12
- package/types/providers/utils/parsers/mpeg/boxes/mdia.d.ts +5 -5
- package/types/providers/utils/parsers/mpeg/boxes/mfhd.d.ts +8 -8
- package/types/providers/utils/parsers/mpeg/boxes/minf.d.ts +5 -5
- package/types/providers/utils/parsers/mpeg/boxes/moof.d.ts +5 -5
- package/types/providers/utils/parsers/mpeg/boxes/moov.d.ts +5 -5
- package/types/providers/utils/parsers/mpeg/boxes/mvhd.d.ts +32 -32
- package/types/providers/utils/parsers/mpeg/boxes/prhd.d.ts +13 -13
- package/types/providers/utils/parsers/mpeg/boxes/proj.d.ts +5 -5
- package/types/providers/utils/parsers/mpeg/boxes/sidx.d.ts +43 -43
- package/types/providers/utils/parsers/mpeg/boxes/st3d.d.ts +16 -16
- package/types/providers/utils/parsers/mpeg/boxes/stbl.d.ts +5 -5
- package/types/providers/utils/parsers/mpeg/boxes/stsd.d.ts +8 -8
- package/types/providers/utils/parsers/mpeg/boxes/sv3d.d.ts +5 -5
- package/types/providers/utils/parsers/mpeg/boxes/tfdt.d.ts +14 -14
- package/types/providers/utils/parsers/mpeg/boxes/tfhd.d.ts +19 -19
- package/types/providers/utils/parsers/mpeg/boxes/tkhd.d.ts +39 -39
- package/types/providers/utils/parsers/mpeg/boxes/traf.d.ts +5 -5
- package/types/providers/utils/parsers/mpeg/boxes/trak.d.ts +5 -5
- package/types/providers/utils/parsers/mpeg/boxes/trun.d.ts +28 -28
- package/types/providers/utils/parsers/mpeg/boxes/unknown.d.ts +5 -4
- package/types/providers/utils/parsers/mpeg/boxes/uuid.d.ts +10 -10
- package/types/providers/utils/parsers/mpeg/fullBox.d.ts +12 -12
- package/types/providers/utils/parsers/mpeg/isobmff.d.ts +7 -7
- package/types/providers/utils/parsers/types.d.ts +139 -131
- package/types/providers/utils/parsers/webm/ebml.d.ts +62 -62
- package/types/providers/utils/parsers/webm/webm.d.ts +1 -1
- package/types/providers/utils/restorePlaybackRateInSafari.d.ts +17 -17
- package/types/providers/utils/syncDesiredState.d.ts +9 -7
- package/types/providers/utils/syncPlaybackState.d.ts +2 -2
- package/types/providers/utils/videoStreamRepresentaionsFilter.d.ts +3 -3
- package/types/utils/3d/Camera3D.d.ts +11 -11
- package/types/utils/3d/CameraRotationManager.d.ts +59 -59
- package/types/utils/3d/Scene3D.d.ts +129 -129
- package/types/utils/3d/types.d.ts +14 -14
- package/types/utils/ClientChecker/ClientChecker.d.ts +19 -19
- package/types/utils/ClientChecker/index.d.ts +2 -2
- package/types/utils/ClientChecker/services/AudioChecker.d.ts +7 -7
- package/types/utils/ClientChecker/services/BrowserChecker.d.ts +36 -36
- package/types/utils/ClientChecker/services/DeviceChecker.d.ts +38 -38
- package/types/utils/ClientChecker/services/DisplayChecker.d.ts +20 -20
- package/types/utils/ClientChecker/services/VideoChecker.d.ts +35 -35
- package/types/utils/ClientChecker/types/checker.d.ts +1 -1
- package/types/utils/ClientChecker/types/currentClientBrowser.d.ts +10 -10
- package/types/utils/ClientChecker/types/currentClientDevice.d.ts +8 -8
- package/types/utils/ClientChecker/types/userAgentData.d.ts +21 -21
- package/types/utils/StateMachine/StateMachine.d.ts +17 -17
- package/types/utils/StateMachine/types.d.ts +56 -56
- package/types/utils/StatefulIterator/index.d.ts +13 -13
- package/types/utils/ThroughputEstimator.d.ts +22 -22
- package/types/utils/VolumeMultiplierManager/VolumeMultiplierManager.d.ts +20 -20
- package/types/utils/VolumeMultiplierManager/index.d.ts +1 -1
- package/types/utils/autoSelectTrack.d.ts +27 -28
- package/types/utils/buffer/createTimeRanges.d.ts +1 -2
- package/types/utils/buffer/getBufferedRangeForPosition.d.ts +2 -2
- package/types/utils/buffer/getForwardBufferDuration.d.ts +1 -1
- package/types/utils/buffer/getTotalBufferDuration.d.ts +1 -1
- package/types/utils/buffer/isPositionBuffered.d.ts +1 -1
- package/types/utils/buffer/isSourceBufferValid.d.ts +1 -1
- package/types/utils/changePlaybackRate.d.ts +1 -1
- package/types/utils/decodingInfoLogger.d.ts +1 -1
- package/types/utils/mediaSource.d.ts +5 -1
- package/types/utils/observeElementVisibility.d.ts +1 -1
- package/types/utils/playbackTelemetry.d.ts +4 -4
- package/types/utils/playerOptions.d.ts +3 -3
- package/types/utils/qualityLimits.d.ts +14 -15
- package/types/utils/setStateWithSubscribe.d.ts +3 -6
- package/types/utils/smoothedValue/baseSmoothedValue.d.ts +16 -16
- package/types/utils/smoothedValue/emaAndMaSmoothedValue.d.ts +5 -5
- package/types/utils/smoothedValue/emaTopExtremumValue.d.ts +8 -8
- package/types/utils/smoothedValue/smoothedValueFactory.d.ts +4 -4
- package/types/utils/smoothedValue/twoEmaSmoothedValue.d.ts +6 -6
- package/types/utils/smoothedValue/types.d.ts +16 -16
- package/types/utils/tuningConfig.d.ts +287 -276
- package/types/utils/videoFormat.d.ts +1 -1
|
@@ -1,182 +1,190 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { Byte, IRange, Kbps, Milliseconds, Nullable } from '@vkontakte/videoplayer-shared';
|
|
2
|
+
import { IVideoStream, VideoCodec, AudioCodec } from '../../../player/types';
|
|
3
3
|
export declare enum StreamKind {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
VIDEO = "video",
|
|
5
|
+
AUDIO = "audio",
|
|
6
|
+
TEXT = "text"
|
|
7
7
|
}
|
|
8
8
|
export declare enum Profile {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
WEBM_AS_IN_SPEC = "urn:mpeg:dash:profile:webm-on-demand:2012",// Такой указан в спеке
|
|
10
|
+
WEBM_AS_IN_FFMPEG = "urn:webm:dash:profile:webm-on-demand:2012"
|
|
11
11
|
}
|
|
12
12
|
export interface Representation {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
13
|
+
id: string;
|
|
14
|
+
kind: StreamKind;
|
|
15
|
+
segmentReference: SegmentReference;
|
|
16
|
+
profiles: Array<Profile | string>;
|
|
17
|
+
duration?: Milliseconds;
|
|
18
|
+
bitrate: Kbps;
|
|
19
|
+
mime: string;
|
|
20
|
+
codecs: string;
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
fps?: number;
|
|
24
|
+
quality?: string;
|
|
25
|
+
streamId?: IVideoStream['id'];
|
|
26
|
+
/**
|
|
27
|
+
* @see https://jira.vk.team/browse/UVP-9492
|
|
28
|
+
*
|
|
29
|
+
* помечает видео дорожку как неиспользуемую для телевизоров
|
|
30
|
+
*/
|
|
31
|
+
tvDisabled?: boolean;
|
|
26
32
|
}
|
|
27
33
|
export interface TextRepresentation extends Representation {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
language: string;
|
|
35
|
+
label: string;
|
|
36
|
+
url: string;
|
|
37
|
+
isAuto: boolean;
|
|
32
38
|
}
|
|
33
39
|
export interface ServerLatencyTimestamps {
|
|
34
|
-
|
|
35
|
-
|
|
40
|
+
serverDataReceivedTimestamp?: Milliseconds;
|
|
41
|
+
serverDataPreparedTime?: Milliseconds;
|
|
36
42
|
}
|
|
37
43
|
export declare enum SegmentReferencingType {
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
BYTE_RANGE = "byteRange",
|
|
45
|
+
TEMPLATE = "template"
|
|
40
46
|
}
|
|
41
47
|
export type ByteRangeSegmentReference = {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
type: SegmentReferencingType.BYTE_RANGE;
|
|
49
|
+
url: string;
|
|
50
|
+
initRange: IRange<Byte>;
|
|
51
|
+
indexRange?: IRange<Byte>;
|
|
46
52
|
};
|
|
47
53
|
export type TemplateSegmentReference = {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
type: SegmentReferencingType.TEMPLATE;
|
|
55
|
+
baseUrl: string;
|
|
56
|
+
initUrl: string;
|
|
57
|
+
segmentTemplateUrl: string;
|
|
58
|
+
totalSegmentsDurationMs: Milliseconds;
|
|
59
|
+
segments: {
|
|
60
|
+
url: string;
|
|
61
|
+
time: IRange<Milliseconds>;
|
|
62
|
+
}[];
|
|
63
|
+
nextSegmentBeyondManifest: {
|
|
64
|
+
url: string;
|
|
65
|
+
time: IRange<Milliseconds>;
|
|
66
|
+
};
|
|
67
|
+
timescale: number;
|
|
62
68
|
};
|
|
63
69
|
export type SegmentReference = ByteRangeSegmentReference | TemplateSegmentReference;
|
|
64
70
|
export interface SegmentInfo {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
71
|
+
/**
|
|
72
|
+
* @deprecated После перехода на VirtualBuffer будет бесполезно. Можно будет удалить. Нужно для старого DashProvider
|
|
73
|
+
*/
|
|
74
|
+
status: SegmentStatus;
|
|
75
|
+
networkStatus: Nullable<SegmentNetworkStatus>;
|
|
76
|
+
bufferStatus: Nullable<SegmentBufferStatus>;
|
|
77
|
+
data: Nullable<BufferSource>;
|
|
78
|
+
size: Nullable<Byte>;
|
|
79
|
+
loadedBytes: Nullable<Byte>;
|
|
80
|
+
feedingBytes: Nullable<Byte>;
|
|
81
|
+
fedBytes: Nullable<Byte>;
|
|
76
82
|
}
|
|
77
83
|
export type ByteRangeSegment = SegmentInfo & {
|
|
78
|
-
|
|
79
|
-
|
|
84
|
+
time: IRange<Milliseconds>;
|
|
85
|
+
byte: IRange<Byte>;
|
|
80
86
|
};
|
|
81
87
|
export type TemplateSegment = SegmentInfo & {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
88
|
+
time: IRange<Milliseconds>;
|
|
89
|
+
url: string;
|
|
90
|
+
isCurrentLowLatency?: boolean;
|
|
85
91
|
};
|
|
86
92
|
export type Segment = ByteRangeSegment | TemplateSegment;
|
|
87
93
|
export declare enum SegmentNetworkStatus {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
94
|
+
NONE = "none",
|
|
95
|
+
DOWNLOADING = "downloading",
|
|
96
|
+
DOWNLOADED = "downloaded"
|
|
91
97
|
}
|
|
92
98
|
export declare enum SegmentBufferStatus {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
99
|
+
NONE = "none",
|
|
100
|
+
PARTIALLY_FED = "partially_fed",
|
|
101
|
+
FED = "fed"
|
|
96
102
|
}
|
|
97
103
|
export declare enum SegmentStatus {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
+
NONE = "none",
|
|
105
|
+
DOWNLOADING = "downloading",
|
|
106
|
+
DOWNLOADED = "downloaded",
|
|
107
|
+
PARTIALLY_FED = "partially_fed",
|
|
108
|
+
PARTIALLY_EJECTED = "partially_ejected",
|
|
109
|
+
FED = "fed"
|
|
104
110
|
}
|
|
105
111
|
export interface Stream {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
id: string;
|
|
113
|
+
hdr?: boolean;
|
|
114
|
+
language?: string;
|
|
115
|
+
isDefault?: boolean;
|
|
116
|
+
label?: string;
|
|
117
|
+
codecs: string;
|
|
118
|
+
mime: string;
|
|
119
|
+
representations: Representation[];
|
|
114
120
|
}
|
|
115
121
|
export interface Manifest {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
duration: Milliseconds | undefined;
|
|
123
|
+
streams: {
|
|
124
|
+
[key in StreamKind]: Stream[];
|
|
125
|
+
};
|
|
126
|
+
baseUrls: string[];
|
|
127
|
+
codecs?: {
|
|
128
|
+
video?: VideoCodec[];
|
|
129
|
+
audio?: AudioCodec[];
|
|
130
|
+
};
|
|
131
|
+
live?: LiveMetadata;
|
|
124
132
|
}
|
|
125
133
|
export declare enum ProjectionType {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
134
|
+
RECTANGULAR = 0,
|
|
135
|
+
EQUIRECTANGULAR = 1,
|
|
136
|
+
CUBEMAP = 2,
|
|
137
|
+
MESH = 3
|
|
130
138
|
}
|
|
131
139
|
export interface BoxLike {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
140
|
+
id: string;
|
|
141
|
+
size: Byte;
|
|
142
|
+
contents: DataView;
|
|
135
143
|
}
|
|
136
144
|
export interface GenericContainerParser<InitData> {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
145
|
+
validateData(data: DataView): boolean;
|
|
146
|
+
getIndexRange(init: InitData): IRange<Byte> | undefined;
|
|
147
|
+
parseInit(data: DataView): InitData;
|
|
148
|
+
parseSegments(data: DataView, init: InitData, indexRange?: IRange<Byte>): Segment[];
|
|
149
|
+
parseFeedableSegmentChunk(data: DataView, isLive?: boolean): DataView | null;
|
|
142
150
|
}
|
|
143
151
|
export interface CommonInit {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
152
|
+
is3dVideo: boolean;
|
|
153
|
+
stereoMode?: number;
|
|
154
|
+
projectionType?: ProjectionType;
|
|
155
|
+
projectionData?: {
|
|
156
|
+
pose: {
|
|
157
|
+
yaw: number;
|
|
158
|
+
pitch: number;
|
|
159
|
+
roll: number;
|
|
160
|
+
};
|
|
161
|
+
bounds: {
|
|
162
|
+
top: number;
|
|
163
|
+
bottom: number;
|
|
164
|
+
left: number;
|
|
165
|
+
right: number;
|
|
166
|
+
};
|
|
167
|
+
};
|
|
160
168
|
}
|
|
161
169
|
export interface WebmInit extends CommonInit {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
170
|
+
segmentStart: Byte;
|
|
171
|
+
segmentEnd: Byte;
|
|
172
|
+
timeScale: number;
|
|
173
|
+
segmentDuration: number;
|
|
174
|
+
cuesSeekPosition?: Byte;
|
|
167
175
|
}
|
|
168
176
|
export type MpegInit = CommonInit;
|
|
169
177
|
export type WebmParser = GenericContainerParser<WebmInit>;
|
|
170
178
|
export type MpegParser = GenericContainerParser<MpegInit> & {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
179
|
+
getChunkEndTime(data: DataView, timescale: number): Milliseconds;
|
|
180
|
+
getServerLatencyTimestamps(view: DataView): ServerLatencyTimestamps;
|
|
181
|
+
getTimescaleFromIndex(view: DataView): number | undefined;
|
|
174
182
|
};
|
|
175
183
|
export type ContainerParser = WebmParser | MpegParser;
|
|
176
184
|
export interface LiveMetadata {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
185
|
+
availabilityStartTime: Milliseconds;
|
|
186
|
+
publishTime: Milliseconds;
|
|
187
|
+
latestSegmentPublishTime: Milliseconds;
|
|
188
|
+
streamIsAlive: boolean;
|
|
189
|
+
streamIsUnpublished: boolean;
|
|
182
190
|
}
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Byte, Milliseconds } from '@vkontakte/videoplayer-shared';
|
|
2
2
|
export declare enum Tag {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
3
|
+
EBML = 440786851,
|
|
4
|
+
EBMLVersion = 17030,
|
|
5
|
+
EBMLReadVersion = 17143,
|
|
6
|
+
EBMLMaxIDLength = 17138,
|
|
7
|
+
EBMLMaxSizeLength = 17139,
|
|
8
|
+
DocType = 17026,
|
|
9
|
+
DocTypeVersion = 17031,
|
|
10
|
+
DocTypeReadVersion = 17029,
|
|
11
|
+
Void = 236,
|
|
12
|
+
Segment = 408125543,
|
|
13
|
+
SeekHead = 290298740,
|
|
14
|
+
Seek = 19899,
|
|
15
|
+
SeekID = 21419,
|
|
16
|
+
SeekPosition = 21420,
|
|
17
|
+
Info = 357149030,
|
|
18
|
+
TimestampScale = 2807729,
|
|
19
|
+
Duration = 17545,
|
|
20
|
+
Tracks = 374648427,
|
|
21
|
+
TrackEntry = 174,
|
|
22
|
+
Video = 224,
|
|
23
|
+
Projection = 30320,
|
|
24
|
+
ProjectionType = 30321,
|
|
25
|
+
ProjectionPrivate = 30322,
|
|
26
|
+
Chapters = 272869232,
|
|
27
|
+
Cluster = 524531317,
|
|
28
|
+
Timestamp = 231,
|
|
29
|
+
SilentTracks = 22612,
|
|
30
|
+
SilentTrackNumber = 22743,
|
|
31
|
+
Position = 167,
|
|
32
|
+
PrevSize = 171,
|
|
33
|
+
SimpleBlock = 163,
|
|
34
|
+
BlockGroup = 160,
|
|
35
|
+
EncryptedBlock = 175,
|
|
36
|
+
Attachments = 423732329,
|
|
37
|
+
Tags = 307544935,
|
|
38
|
+
Cues = 475249515,
|
|
39
|
+
CuePoint = 187,
|
|
40
|
+
CueTime = 179,
|
|
41
|
+
CueTrackPositions = 183,
|
|
42
|
+
CueTrack = 247,
|
|
43
|
+
CueClusterPosition = 241,
|
|
44
|
+
CueRelativePosition = 240,
|
|
45
|
+
CueDuration = 178,
|
|
46
|
+
CueBlockNumber = 21368,
|
|
47
|
+
CueCodecState = 234,
|
|
48
|
+
CueReference = 219,
|
|
49
|
+
CueRefTime = 150
|
|
50
50
|
}
|
|
51
51
|
export type UnknownTag = string;
|
|
52
52
|
export declare enum Type {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
53
|
+
SignedInteger = "int",// Big-endian, any size from 1 to 8 octets
|
|
54
|
+
UnsignedInteger = "uint",// Big-endian, any size from 1 to 8 octets
|
|
55
|
+
Float = "float",// Big-endian, defined for 4 and 8 octets (32, 64 bits)
|
|
56
|
+
String = "string",// Printable ASCII (0x20 to 0x7E), zero-padded when needed
|
|
57
|
+
UTF8 = "utf8",// Unicode string, zero padded when needed (RFC 2279)
|
|
58
|
+
Date = "date",// signed 8 octets integer in nanoseconds with 0 indicating the precise beginning of the millennium (at 2001-01-01T00:00:00,000000000 UTC)
|
|
59
|
+
Master = "master",// contains other EBML sub-elements of the next lower level
|
|
60
|
+
Binary = "binary"
|
|
61
61
|
}
|
|
62
62
|
type TagValue<ExactType extends Type> = ExactType extends Type.SignedInteger ? number : ExactType extends Type.UnsignedInteger ? number : ExactType extends Type.Float ? number : ExactType extends Type.String ? string : ExactType extends Type.UTF8 ? string : ExactType extends Type.Date ? Milliseconds : ExactType extends Type.Master ? DataView : ExactType extends Type.Binary ? DataView : never;
|
|
63
63
|
export type ParsedTag = {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
tag: Tag | UnknownTag;
|
|
65
|
+
type: Type;
|
|
66
|
+
tagHeaderSize: Byte;
|
|
67
|
+
tagSize: Byte;
|
|
68
|
+
value: DataView;
|
|
69
|
+
valueSize: Byte;
|
|
70
70
|
};
|
|
71
71
|
export declare const parseTag: (view: DataView) => ParsedTag;
|
|
72
72
|
export declare const parseUint: (view: DataView, size?: Byte) => number;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { ISubscription, IValueSubject } from '@vkontakte/videoplayer-shared';
|
|
2
|
+
import { IDesiredState } from '../types';
|
|
3
|
+
import { IObservableVideo } from './HTMLVideoElement/observable';
|
|
4
4
|
type Params = {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
subscription: ISubscription;
|
|
6
|
+
desiredState: IDesiredState;
|
|
7
|
+
videoElement$: IValueSubject<HTMLVideoElement | undefined>;
|
|
8
|
+
observableVideo: IObservableVideo;
|
|
9
9
|
};
|
|
10
10
|
/**
|
|
11
|
-
* Когда сафари из за медиа политик отключает звук у видео, и пользователь возвращает звук
|
|
12
|
-
* то сафари расценивает это как сброс внутреннего состояния плеера и может сбросить так же скорость воспроизведения.
|
|
13
|
-
*
|
|
14
|
-
* Ключевые моменты:
|
|
15
|
-
* - Когда сафари форсом делает mute, то у нас разъезжается desiredState.volume;
|
|
16
|
-
* - Когда сафари форсом переводит в дефолт скорость произведения, у нас разъезжается desiredState.playbackRate.
|
|
17
|
-
*
|
|
18
|
-
* Нужно поймать следующую цепочку событий:
|
|
19
|
-
* Пользователь сделал unmute -> Изменился playbackRate -> Считаем, что это Сафари поведение, сверяем desiredState.playbackRate.
|
|
20
|
-
*/
|
|
11
|
+
* Когда сафари из за медиа политик отключает звук у видео, и пользователь возвращает звук
|
|
12
|
+
* то сафари расценивает это как сброс внутреннего состояния плеера и может сбросить так же скорость воспроизведения.
|
|
13
|
+
*
|
|
14
|
+
* Ключевые моменты:
|
|
15
|
+
* - Когда сафари форсом делает mute, то у нас разъезжается desiredState.volume;
|
|
16
|
+
* - Когда сафари форсом переводит в дефолт скорость произведения, у нас разъезжается desiredState.playbackRate.
|
|
17
|
+
*
|
|
18
|
+
* Нужно поймать следующую цепочку событий:
|
|
19
|
+
* Пользователь сделал unmute -> Изменился playbackRate -> Считаем, что это Сафари поведение, сверяем desiredState.playbackRate.
|
|
20
|
+
*/
|
|
21
21
|
export declare const restorePlaybackRateInSafari: ({ subscription, desiredState, videoElement$, observableVideo }: Params) => void;
|
|
22
22
|
export {};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
declare const syncDesiredState: <Value>(desiredState: IStateMachine<Value | undefined>, get: () => Value | undefined,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { IListener, IObservable, ISubscription } from '@vkontakte/videoplayer-shared';
|
|
2
|
+
import { IVolumeState, PlaybackRate } from '../../player/types';
|
|
3
|
+
import { IStateMachine } from '../../utils/StateMachine/types';
|
|
4
|
+
declare const syncDesiredState: <Value>(desiredState: IStateMachine<Value | undefined>, get: () => Value | undefined, // Текущее значение состояние
|
|
5
|
+
set: (value: Value | undefined) => void, // Применение нового значения
|
|
6
|
+
{ equal, changed$, onError, }?: {
|
|
7
|
+
equal?: (a: Value | undefined, b: Value | undefined) => boolean;
|
|
8
|
+
changed$?: IObservable<Value | undefined>;
|
|
9
|
+
onError?: IListener<Error | unknown>;
|
|
8
10
|
}) => ISubscription;
|
|
9
11
|
export declare const syncVideoLooped: (video: HTMLVideoElement, desiredState: IStateMachine<boolean>, onError?: IListener<Error | unknown>) => ISubscription;
|
|
10
12
|
export declare const syncVideoVolumeState: (video: HTMLVideoElement, desiredState: IStateMachine<IVolumeState>, changed$: IObservable<IVolumeState>, onError?: IListener<Error | unknown>) => ISubscription;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { IStateMachine } from '../../utils/StateMachine/types';
|
|
2
|
+
import { PlaybackState } from '../../player/types';
|
|
3
3
|
declare const _default: (playbackState: IStateMachine<PlaybackState>, value: PlaybackState, ignoreCurrentTransition?: boolean) => void;
|
|
4
4
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { ITuningConfig } from '../../utils/tuningConfig';
|
|
2
|
+
import { Manifest } from './parsers/types';
|
|
3
3
|
/** @mutates streams.video */
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const markVideoStreamRepresentaionsFilter: (streams: Manifest["streams"], videoStreamRepresentaionsFilter: ITuningConfig["dash"]["videoStreamRepresentaionsFilter"]) => void;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Degree, Vector2D, Vector3D } from '../../utils/3d/types';
|
|
2
2
|
/**
|
|
3
|
-
* Модель камеры трехмерной сцены
|
|
4
|
-
*/
|
|
3
|
+
* Модель камеры трехмерной сцены
|
|
4
|
+
*/
|
|
5
5
|
export declare class Camera3D {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
fov: Vector2D<Degree>;
|
|
7
|
+
/**
|
|
8
|
+
* x: Degree; // yaw (around vertical Y axis)
|
|
9
|
+
* y: Degree; // pitch (around horizontal X axis)
|
|
10
|
+
* z: Degree; // roll (around normal Z axis)
|
|
11
|
+
*/
|
|
12
|
+
orientation: Vector3D<Degree>;
|
|
13
|
+
constructor(fov: Vector2D<Degree>, orientation: Vector3D<Degree>);
|
|
14
14
|
}
|