@vkontakte/videoplayer-core 2.0.155 → 2.0.156-dev.04ce2cd1.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 (185) hide show
  1. package/es2015.cjs +83 -136
  2. package/es2015.esm.js +77 -130
  3. package/es2018.cjs +77 -130
  4. package/es2018.esm.js +75 -128
  5. package/es2024.cjs +83 -136
  6. package/es2024.esm.js +81 -134
  7. package/esnext.cjs +83 -136
  8. package/esnext.esm.js +81 -134
  9. package/evergreen.esm.js +82 -135
  10. package/package.json +2 -2
  11. package/types/enums/AndroidPreferredFormat.d.ts +6 -6
  12. package/types/enums/IOSPreferredFormat.d.ts +2 -2
  13. package/types/enums/WebmCodecStrategy.d.ts +5 -5
  14. package/types/index.d.ts +16 -13
  15. package/types/player/Player.d.ts +219 -210
  16. package/types/player/types.d.ts +595 -591
  17. package/types/player/utils/optimisticPosition.d.ts +7 -7
  18. package/types/player/utils/selectContainer.d.ts +1 -1
  19. package/types/providers/ChromecastPresentationApiProvider/ChromecastPresentationApiConnector.d.ts +107 -106
  20. package/types/providers/ChromecastPresentationApiProvider/ChromecastPresentationApiInitializer.d.ts +23 -23
  21. package/types/providers/ChromecastPresentationApiProvider/ChromecastPresentationApiProvider.d.ts +34 -34
  22. package/types/providers/ChromecastPresentationApiProvider/ProgressTicker.d.ts +9 -9
  23. package/types/providers/ChromecastPresentationApiProvider/index.d.ts +3 -3
  24. package/types/providers/ChromecastPresentationApiProvider/types.d.ts +31 -31
  25. package/types/providers/ChromecastPresentationApiProvider/utils.d.ts +1 -1
  26. package/types/providers/ChromecastProvider/ChromecastInitializer/index.d.ts +22 -22
  27. package/types/providers/ChromecastProvider/ChromecastInitializer/types.d.ts +22 -22
  28. package/types/providers/ChromecastProvider/index.d.ts +23 -23
  29. package/types/providers/ChromecastProvider/types.d.ts +7 -7
  30. package/types/providers/ChromecastProvider/utils.d.ts +1 -1
  31. package/types/providers/DashLiveProvider/DashLiveProvider.d.ts +33 -33
  32. package/types/providers/DashLiveProvider/index.d.ts +1 -1
  33. package/types/providers/DashLiveProvider/types.d.ts +17 -17
  34. package/types/providers/DashLiveProvider/utils/FilesFetcher.d.ts +23 -23
  35. package/types/providers/DashLiveProvider/utils/LiveDashPlayer.d.ts +149 -150
  36. package/types/providers/DashLiveProvider/utils/ThroughputEstimator.d.ts +12 -30
  37. package/types/providers/DashLiveProvider/utils/liveDashPlayerUtil.d.ts +19 -22
  38. package/types/providers/DashProvider/baseDashProvider.d.ts +57 -56
  39. package/types/providers/DashProvider/dashCmafLiveProvider.d.ts +6 -6
  40. package/types/providers/DashProvider/dashProvider.d.ts +4 -4
  41. package/types/providers/DashProvider/index.d.ts +2 -2
  42. package/types/providers/DashProvider/lib/ElementSizeManager.d.ts +14 -14
  43. package/types/providers/DashProvider/lib/LiveTextManager.d.ts +21 -21
  44. package/types/providers/DashProvider/lib/buffer.d.ts +123 -122
  45. package/types/providers/DashProvider/lib/fetcher.d.ts +70 -69
  46. package/types/providers/DashProvider/lib/player.d.ts +109 -107
  47. package/types/providers/DashProvider/lib/sourceBufferTaskQueue.d.ts +17 -17
  48. package/types/providers/DashProvider/lib/types.d.ts +20 -20
  49. package/types/providers/DashProvider/lib/utils.d.ts +4 -4
  50. package/types/providers/DashProviderVirtual/baseDashProvider.d.ts +58 -57
  51. package/types/providers/DashProviderVirtual/consts.d.ts +2 -2
  52. package/types/providers/DashProviderVirtual/dashCmafLiveProvider.d.ts +8 -8
  53. package/types/providers/DashProviderVirtual/dashProvider.d.ts +6 -6
  54. package/types/providers/DashProviderVirtual/index.d.ts +2 -2
  55. package/types/providers/DashProviderVirtual/lib/ElementSizeManager.d.ts +15 -14
  56. package/types/providers/DashProviderVirtual/lib/LiveTextManager.d.ts +21 -21
  57. package/types/providers/DashProviderVirtual/lib/buffer/nativeBufferManager.d.ts +17 -17
  58. package/types/providers/DashProviderVirtual/lib/buffer/sourceBufferTaskQueue.d.ts +17 -17
  59. package/types/providers/DashProviderVirtual/lib/buffer/types.d.ts +39 -39
  60. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/baseVirtualBufferManager.d.ts +94 -92
  61. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/byteRangeVirtualBufferManager.d.ts +19 -19
  62. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/liveVirtualBuffer.d.ts +25 -25
  63. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/templateVirtualBufferManager.d.ts +19 -19
  64. package/types/providers/DashProviderVirtual/lib/buffer/virtualBuffer/virtualBufferFactory.d.ts +4 -4
  65. package/types/providers/DashProviderVirtual/lib/fetcher.d.ts +68 -67
  66. package/types/providers/DashProviderVirtual/lib/player/basePlayer.d.ts +103 -100
  67. package/types/providers/DashProviderVirtual/lib/player/livePlayer.d.ts +34 -34
  68. package/types/providers/DashProviderVirtual/lib/player/player.d.ts +9 -9
  69. package/types/providers/DashProviderVirtual/lib/player/types.d.ts +13 -13
  70. package/types/providers/DashProviderVirtual/lib/types.d.ts +20 -20
  71. package/types/providers/DashProviderVirtual/lib/utils.d.ts +4 -4
  72. package/types/providers/HlsLiveProvider/LiveTextManager.d.ts +35 -35
  73. package/types/providers/HlsLiveProvider/index.d.ts +29 -28
  74. package/types/providers/HlsLiveProvider/seekBackTimeExtractor.d.ts +1 -1
  75. package/types/providers/HlsProvider/index.d.ts +19 -19
  76. package/types/providers/HlsProvider/manifestDataExtractor.d.ts +13 -13
  77. package/types/providers/MpegProvider/index.d.ts +17 -17
  78. package/types/providers/ProviderContainer/index.d.ts +47 -45
  79. package/types/providers/ProviderContainer/types.d.ts +16 -16
  80. package/types/providers/ProviderContainer/utils/formatsSupport.d.ts +9 -9
  81. package/types/providers/ProviderContainer/utils/playbackHangup.d.ts +9 -8
  82. package/types/providers/WebRTCLiveProvider/WebRTCLiveClient.d.ts +185 -185
  83. package/types/providers/WebRTCLiveProvider/WebRTCLiveProvider.d.ts +58 -57
  84. package/types/providers/WebRTCLiveProvider/interface/WebRTCLiveClientOptions.d.ts +6 -6
  85. package/types/providers/types.d.ts +103 -102
  86. package/types/providers/utils/HTMLVideoElement/DroppedFramesManager.d.ts +40 -39
  87. package/types/providers/utils/HTMLVideoElement/TextTrackManager.d.ts +28 -28
  88. package/types/providers/utils/HTMLVideoElement/forcePlay.d.ts +5 -5
  89. package/types/providers/utils/HTMLVideoElement/observable.d.ts +25 -25
  90. package/types/providers/utils/HTMLVideoElement/pool.d.ts +5 -4
  91. package/types/providers/utils/LiveOffset/index.d.ts +12 -12
  92. package/types/providers/utils/LiveOffset/types.d.ts +8 -8
  93. package/types/providers/utils/StallsManager.d.ts +49 -49
  94. package/types/providers/utils/debug.d.ts +13 -12
  95. package/types/providers/utils/extractConnectionHeaders.d.ts +3 -3
  96. package/types/providers/utils/generateLiveUrl.d.ts +4 -4
  97. package/types/providers/utils/guessNetworkErrorCause.d.ts +1 -1
  98. package/types/providers/utils/mergeIntervals.d.ts +1 -1
  99. package/types/providers/utils/okQualityStringToVideoQuality.d.ts +1 -1
  100. package/types/providers/utils/parsers/ietf/index.d.ts +8 -8
  101. package/types/providers/utils/parsers/index.d.ts +1 -1
  102. package/types/providers/utils/parsers/mpd.d.ts +1 -1
  103. package/types/providers/utils/parsers/mpeg/BoxModel.d.ts +18 -17
  104. package/types/providers/utils/parsers/mpeg/BoxParser.d.ts +15 -15
  105. package/types/providers/utils/parsers/mpeg/BoxTypeEnum.d.ts +27 -27
  106. package/types/providers/utils/parsers/mpeg/box.d.ts +68 -68
  107. package/types/providers/utils/parsers/mpeg/boxes/avc1.d.ts +5 -5
  108. package/types/providers/utils/parsers/mpeg/boxes/equi.d.ts +18 -18
  109. package/types/providers/utils/parsers/mpeg/boxes/ftyp.d.ts +14 -14
  110. package/types/providers/utils/parsers/mpeg/boxes/index.d.ts +27 -26
  111. package/types/providers/utils/parsers/mpeg/boxes/mdat.d.ts +12 -12
  112. package/types/providers/utils/parsers/mpeg/boxes/mdia.d.ts +5 -5
  113. package/types/providers/utils/parsers/mpeg/boxes/mfhd.d.ts +8 -8
  114. package/types/providers/utils/parsers/mpeg/boxes/minf.d.ts +5 -5
  115. package/types/providers/utils/parsers/mpeg/boxes/moof.d.ts +5 -5
  116. package/types/providers/utils/parsers/mpeg/boxes/moov.d.ts +5 -5
  117. package/types/providers/utils/parsers/mpeg/boxes/mvhd.d.ts +32 -32
  118. package/types/providers/utils/parsers/mpeg/boxes/prhd.d.ts +13 -13
  119. package/types/providers/utils/parsers/mpeg/boxes/proj.d.ts +5 -5
  120. package/types/providers/utils/parsers/mpeg/boxes/sidx.d.ts +43 -43
  121. package/types/providers/utils/parsers/mpeg/boxes/st3d.d.ts +16 -16
  122. package/types/providers/utils/parsers/mpeg/boxes/stbl.d.ts +5 -5
  123. package/types/providers/utils/parsers/mpeg/boxes/stsd.d.ts +8 -8
  124. package/types/providers/utils/parsers/mpeg/boxes/sv3d.d.ts +5 -5
  125. package/types/providers/utils/parsers/mpeg/boxes/tfdt.d.ts +14 -14
  126. package/types/providers/utils/parsers/mpeg/boxes/tfhd.d.ts +19 -19
  127. package/types/providers/utils/parsers/mpeg/boxes/tkhd.d.ts +39 -39
  128. package/types/providers/utils/parsers/mpeg/boxes/traf.d.ts +5 -5
  129. package/types/providers/utils/parsers/mpeg/boxes/trak.d.ts +5 -5
  130. package/types/providers/utils/parsers/mpeg/boxes/trun.d.ts +28 -28
  131. package/types/providers/utils/parsers/mpeg/boxes/unknown.d.ts +4 -5
  132. package/types/providers/utils/parsers/mpeg/boxes/uuid.d.ts +10 -10
  133. package/types/providers/utils/parsers/mpeg/fullBox.d.ts +12 -12
  134. package/types/providers/utils/parsers/mpeg/isobmff.d.ts +7 -7
  135. package/types/providers/utils/parsers/types.d.ts +137 -139
  136. package/types/providers/utils/parsers/webm/ebml.d.ts +62 -62
  137. package/types/providers/utils/parsers/webm/webm.d.ts +1 -1
  138. package/types/providers/utils/restorePlaybackRateInSafari.d.ts +17 -17
  139. package/types/providers/utils/syncDesiredState.d.ts +10 -10
  140. package/types/providers/utils/syncPlaybackState.d.ts +2 -2
  141. package/types/providers/utils/videoStreamRepresentaionsFilter.d.ts +2 -2
  142. package/types/utils/3d/Camera3D.d.ts +11 -11
  143. package/types/utils/3d/CameraRotationManager.d.ts +59 -59
  144. package/types/utils/3d/Scene3D.d.ts +129 -129
  145. package/types/utils/3d/types.d.ts +14 -14
  146. package/types/utils/ClientChecker/ClientChecker.d.ts +19 -19
  147. package/types/utils/ClientChecker/index.d.ts +2 -2
  148. package/types/utils/ClientChecker/services/AudioChecker.d.ts +7 -7
  149. package/types/utils/ClientChecker/services/BrowserChecker.d.ts +36 -36
  150. package/types/utils/ClientChecker/services/DeviceChecker.d.ts +38 -38
  151. package/types/utils/ClientChecker/services/DisplayChecker.d.ts +20 -20
  152. package/types/utils/ClientChecker/services/VideoChecker.d.ts +35 -35
  153. package/types/utils/ClientChecker/types/checker.d.ts +1 -1
  154. package/types/utils/ClientChecker/types/currentClientBrowser.d.ts +10 -10
  155. package/types/utils/ClientChecker/types/currentClientDevice.d.ts +8 -8
  156. package/types/utils/ClientChecker/types/userAgentData.d.ts +21 -21
  157. package/types/utils/StateMachine/StateMachine.d.ts +17 -17
  158. package/types/utils/StateMachine/types.d.ts +56 -56
  159. package/types/utils/StatefulIterator/index.d.ts +13 -13
  160. package/types/utils/ThroughputEstimator.d.ts +22 -22
  161. package/types/utils/VolumeMultiplierManager/VolumeMultiplierManager.d.ts +20 -20
  162. package/types/utils/VolumeMultiplierManager/index.d.ts +1 -1
  163. package/types/utils/autoSelectTrack.d.ts +28 -27
  164. package/types/utils/buffer/createTimeRanges.d.ts +2 -1
  165. package/types/utils/buffer/getBufferedRangeForPosition.d.ts +2 -2
  166. package/types/utils/buffer/getForwardBufferDuration.d.ts +1 -1
  167. package/types/utils/buffer/getTotalBufferDuration.d.ts +1 -1
  168. package/types/utils/buffer/isPositionBuffered.d.ts +1 -1
  169. package/types/utils/buffer/isSourceBufferValid.d.ts +1 -1
  170. package/types/utils/changePlaybackRate.d.ts +1 -1
  171. package/types/utils/decodingInfoLogger.d.ts +1 -1
  172. package/types/utils/mediaSource.d.ts +1 -5
  173. package/types/utils/observeElementVisibility.d.ts +1 -1
  174. package/types/utils/playbackTelemetry.d.ts +4 -4
  175. package/types/utils/playerOptions.d.ts +3 -3
  176. package/types/utils/qualityLimits.d.ts +15 -14
  177. package/types/utils/setStateWithSubscribe.d.ts +6 -3
  178. package/types/utils/smoothedValue/baseSmoothedValue.d.ts +16 -16
  179. package/types/utils/smoothedValue/emaAndMaSmoothedValue.d.ts +5 -5
  180. package/types/utils/smoothedValue/emaTopExtremumValue.d.ts +8 -8
  181. package/types/utils/smoothedValue/smoothedValueFactory.d.ts +4 -4
  182. package/types/utils/smoothedValue/twoEmaSmoothedValue.d.ts +6 -6
  183. package/types/utils/smoothedValue/types.d.ts +16 -16
  184. package/types/utils/tuningConfig.d.ts +304 -287
  185. package/types/utils/videoFormat.d.ts +1 -1
@@ -1,62 +1,62 @@
1
- import { Camera3D } from '../../utils/3d/Camera3D';
2
- import { DegreePerSecond, CameraRotationManagerParams, Degree, Vector3D } from '../../utils/3d/types';
1
+ import type { Camera3D } from "./Camera3D";
2
+ import type { DegreePerSecond, CameraRotationManagerParams, Degree, Vector3D } from "./types";
3
3
  /**
4
- * Класс управляющий вращением камеры
5
- */
4
+ * Класс управляющий вращением камеры
5
+ */
6
6
  export declare class CameraRotationManager {
7
- private options;
8
- private camera;
9
- private rotating;
10
- private fading;
11
- private lastTickTS;
12
- private lastCameraTurn;
13
- private lastCameraTurnTS;
14
- private fadeStartSpeed;
15
- private fadeCorrection;
16
- private fadeTime;
17
- rotationSpeed: Vector3D<DegreePerSecond>;
18
- constructor(camera: Camera3D, options: CameraRotationManagerParams);
19
- /**
20
- * Поворот камеры из текущего положения на заданное количество градусов
21
- */
22
- turnCamera(dx?: Degree, dy?: Degree, dz?: Degree): void;
23
- /**
24
- * Поворот камеры в заданное положение
25
- */
26
- pointCameraTo(x?: Degree, y?: Degree, z?: Degree): void;
27
- /**
28
- * Устанавливает угловые скорости по осям
29
- * Если скорость для оси не задана будет использована ее текущая скорость
30
- */
31
- setRotationSpeed(sx?: DegreePerSecond, sy?: DegreePerSecond, sz?: DegreePerSecond): void;
32
- /**
33
- * Start permanent rotation
34
- */
35
- startRotation(): void;
36
- /**
37
- * Выставляет нулевую скорость, что приводит к плавной остановке
38
- * при передаче поднятого флага останавливает движение мгновенно
39
- */
40
- stopRotation(immediate?: boolean): void;
41
- /**
42
- * "Толкает" камеру для плавного затухания при наличии остаточного "крутящего момента"
43
- */
44
- onCameraRelease(): void;
45
- /**
46
- * Запускает режим затухания
47
- */
48
- private startFading;
49
- /**
50
- * Останавливает режим затухания
51
- */
52
- private stopFading;
53
- /**
54
- * Ограничивает угол поворота по вертикальной оси
55
- */
56
- private limitCameraRotationY;
57
- /**
58
- * Рассчитывает положение камеры согласно текущей скорости с эмуляцией инерции
59
- * @param time - ms from page load
60
- */
61
- tick(time: number): void;
7
+ private options;
8
+ private camera;
9
+ private rotating;
10
+ private fading;
11
+ private lastTickTS;
12
+ private lastCameraTurn;
13
+ private lastCameraTurnTS;
14
+ private fadeStartSpeed;
15
+ private fadeCorrection;
16
+ private fadeTime;
17
+ rotationSpeed: Vector3D<DegreePerSecond>;
18
+ constructor(camera: Camera3D, options: CameraRotationManagerParams);
19
+ /**
20
+ * Поворот камеры из текущего положения на заданное количество градусов
21
+ */
22
+ turnCamera(dx?: Degree, dy?: Degree, dz?: Degree): void;
23
+ /**
24
+ * Поворот камеры в заданное положение
25
+ */
26
+ pointCameraTo(x?: Degree, y?: Degree, z?: Degree): void;
27
+ /**
28
+ * Устанавливает угловые скорости по осям
29
+ * Если скорость для оси не задана будет использована ее текущая скорость
30
+ */
31
+ setRotationSpeed(sx?: DegreePerSecond, sy?: DegreePerSecond, sz?: DegreePerSecond): void;
32
+ /**
33
+ * Start permanent rotation
34
+ */
35
+ startRotation(): void;
36
+ /**
37
+ * Выставляет нулевую скорость, что приводит к плавной остановке
38
+ * при передаче поднятого флага останавливает движение мгновенно
39
+ */
40
+ stopRotation(immediate?: boolean): void;
41
+ /**
42
+ * "Толкает" камеру для плавного затухания при наличии остаточного "крутящего момента"
43
+ */
44
+ onCameraRelease(): void;
45
+ /**
46
+ * Запускает режим затухания
47
+ */
48
+ private startFading;
49
+ /**
50
+ * Останавливает режим затухания
51
+ */
52
+ private stopFading;
53
+ /**
54
+ * Ограничивает угол поворота по вертикальной оси
55
+ */
56
+ private limitCameraRotationY;
57
+ /**
58
+ * Рассчитывает положение камеры согласно текущей скорости с эмуляцией инерции
59
+ * @param time - ms from page load
60
+ */
61
+ tick(time: number): void;
62
62
  }
@@ -1,132 +1,132 @@
1
- import { Degree, Pixel, Scene3DParams, Vector2D, Vector3D } from '../../utils/3d/types';
1
+ import type { Degree, Pixel, Scene3DParams, Vector2D, Vector3D } from "./types";
2
2
  /**
3
- * Класс описывающий 3D сцену - канву на которой будет рисоваться проекция
4
- */
3
+ * Класс описывающий 3D сцену - канву на которой будет рисоваться проекция
4
+ */
5
5
  export declare class Scene3D {
6
- private container;
7
- private sourceVideoElement;
8
- private canvas;
9
- private gl;
10
- private params;
11
- private frameWidth;
12
- private frameHeight;
13
- private viewportWidth;
14
- private viewportHeight;
15
- private videoInitialized;
16
- private program;
17
- private videoTexture;
18
- private vertexBuffer;
19
- private textureMappingBuffer;
20
- private camera;
21
- private cameraRotationManager;
22
- private videoElementDataLoadedFn;
23
- private renderFn;
24
- private active;
25
- constructor(container: HTMLElement, sourceVideoElement: HTMLVideoElement, params: Scene3DParams);
26
- /**
27
- * Запускает отрисовку сцены
28
- */
29
- play(): void;
30
- /**
31
- * Останавливает отрисовку сцены
32
- */
33
- stop(): void;
34
- /**
35
- * Запускает режим постоянного вращение камеры согласно переданным коэффициентам угловых скоростей
36
- * Базовая величина скорости задается в конфиге
37
- * Итоговая скорость будет равна произведению базовой скорости и переданного коэффициента
38
- * Принимает как положительные так и отрицательные значения (для противоположного вращения)
39
- */
40
- startCameraManualRotation(mx: number, my: number): void;
41
- /**
42
- * Останавливает режим постоянного вращение камеры
43
- */
44
- stopCameraManualRotation(immediate?: boolean): void;
45
- /**
46
- * Перемещает точку фокуса камеры на заданный угол
47
- */
48
- turnCamera(dx: Degree, dy: Degree): void;
49
- /**
50
- * Перемещает точку фокуса камеры на заданный угол
51
- */
52
- pointCameraTo(dx: Degree, dy: Degree): void;
53
- /**
54
- * Преобразовывает экранные координаты в градусы в соответствии с текущим полем обзора
55
- */
56
- pixelToDegree(vector: Vector2D<Pixel>): Vector2D<Degree>;
57
- /**
58
- * Возвращает текущую ориентацию камеры
59
- */
60
- getCameraRotation(): Vector3D;
61
- /**
62
- * Захват камеры - переход в ручное управление
63
- */
64
- holdCamera(): void;
65
- /**
66
- * Возвращает управление внутренним алгоритмам
67
- */
68
- releaseCamera(): void;
69
- /**
70
- * Уничтожает сцену
71
- */
72
- destroy(): void;
73
- /**
74
- * Устанавливает размер "экрана"
75
- */
76
- setViewportSize(vpx: number, vpy: number): void;
77
- /**
78
- * Обработчик события загрузки данных на видеоэлементе
79
- */
80
- private onDataLoadedHandler;
81
- /**
82
- * Запускает режим отрисовки
83
- */
84
- private doPlay;
85
- /**
86
- * Основная функция отрисовки
87
- *
88
- * @param ts - ms from page load
89
- */
90
- private render;
91
- /**
92
- * Создает шейдер
93
- */
94
- private createShader;
95
- /**
96
- * Создает webGL програму
97
- */
98
- private createProgram;
99
- /**
100
- * Создает текстуру
101
- */
102
- private createTexture;
103
- /**
104
- * Обновляет текстуру
105
- * Считывает текущий кадр из видео
106
- */
107
- private updateTexture;
108
- /**
109
- * Создает буфер вершин плоскости с учетом поправки на отношение сторон
110
- */
111
- private createVertexBuffer;
112
- /**
113
- * Создает буффер маппинга текстуры
114
- */
115
- private createTextureMappingBuffer;
116
- /**
117
- * Рассчитывает положение текстуры на плоскости
118
- */
119
- private calculateTexturePosition;
120
- /**
121
- * Обновляет значения в буффере маппинга текстуры
122
- */
123
- private updateTextureMappingBuffer;
124
- /**
125
- * Обновляет кэш различных размеров
126
- */
127
- private updateFrameSize;
128
- /**
129
- * Создает канву для сцены
130
- */
131
- createCanvas(): HTMLCanvasElement;
6
+ private container;
7
+ private sourceVideoElement;
8
+ private canvas;
9
+ private gl;
10
+ private params;
11
+ private frameWidth;
12
+ private frameHeight;
13
+ private viewportWidth;
14
+ private viewportHeight;
15
+ private videoInitialized;
16
+ private program;
17
+ private videoTexture;
18
+ private vertexBuffer;
19
+ private textureMappingBuffer;
20
+ private camera;
21
+ private cameraRotationManager;
22
+ private videoElementDataLoadedFn;
23
+ private renderFn;
24
+ private active;
25
+ constructor(container: HTMLElement, sourceVideoElement: HTMLVideoElement, params: Scene3DParams);
26
+ /**
27
+ * Запускает отрисовку сцены
28
+ */
29
+ play(): void;
30
+ /**
31
+ * Останавливает отрисовку сцены
32
+ */
33
+ stop(): void;
34
+ /**
35
+ * Запускает режим постоянного вращение камеры согласно переданным коэффициентам угловых скоростей
36
+ * Базовая величина скорости задается в конфиге
37
+ * Итоговая скорость будет равна произведению базовой скорости и переданного коэффициента
38
+ * Принимает как положительные так и отрицательные значения (для противоположного вращения)
39
+ */
40
+ startCameraManualRotation(mx: number, my: number): void;
41
+ /**
42
+ * Останавливает режим постоянного вращение камеры
43
+ */
44
+ stopCameraManualRotation(immediate?: boolean): void;
45
+ /**
46
+ * Перемещает точку фокуса камеры на заданный угол
47
+ */
48
+ turnCamera(dx: Degree, dy: Degree): void;
49
+ /**
50
+ * Перемещает точку фокуса камеры на заданный угол
51
+ */
52
+ pointCameraTo(dx: Degree, dy: Degree): void;
53
+ /**
54
+ * Преобразовывает экранные координаты в градусы в соответствии с текущим полем обзора
55
+ */
56
+ pixelToDegree(vector: Vector2D<Pixel>): Vector2D<Degree>;
57
+ /**
58
+ * Возвращает текущую ориентацию камеры
59
+ */
60
+ getCameraRotation(): Vector3D;
61
+ /**
62
+ * Захват камеры - переход в ручное управление
63
+ */
64
+ holdCamera(): void;
65
+ /**
66
+ * Возвращает управление внутренним алгоритмам
67
+ */
68
+ releaseCamera(): void;
69
+ /**
70
+ * Уничтожает сцену
71
+ */
72
+ destroy(): void;
73
+ /**
74
+ * Устанавливает размер "экрана"
75
+ */
76
+ setViewportSize(vpx: number, vpy: number): void;
77
+ /**
78
+ * Обработчик события загрузки данных на видеоэлементе
79
+ */
80
+ private onDataLoadedHandler;
81
+ /**
82
+ * Запускает режим отрисовки
83
+ */
84
+ private doPlay;
85
+ /**
86
+ * Основная функция отрисовки
87
+ *
88
+ * @param ts - ms from page load
89
+ */
90
+ private render;
91
+ /**
92
+ * Создает шейдер
93
+ */
94
+ private createShader;
95
+ /**
96
+ * Создает webGL програму
97
+ */
98
+ private createProgram;
99
+ /**
100
+ * Создает текстуру
101
+ */
102
+ private createTexture;
103
+ /**
104
+ * Обновляет текстуру
105
+ * Считывает текущий кадр из видео
106
+ */
107
+ private updateTexture;
108
+ /**
109
+ * Создает буфер вершин плоскости с учетом поправки на отношение сторон
110
+ */
111
+ private createVertexBuffer;
112
+ /**
113
+ * Создает буффер маппинга текстуры
114
+ */
115
+ private createTextureMappingBuffer;
116
+ /**
117
+ * Рассчитывает положение текстуры на плоскости
118
+ */
119
+ private calculateTexturePosition;
120
+ /**
121
+ * Обновляет значения в буффере маппинга текстуры
122
+ */
123
+ private updateTextureMappingBuffer;
124
+ /**
125
+ * Обновляет кэш различных размеров
126
+ */
127
+ private updateFrameSize;
128
+ /**
129
+ * Создает канву для сцены
130
+ */
131
+ createCanvas(): HTMLCanvasElement;
132
132
  }
@@ -1,25 +1,25 @@
1
- import { Milliseconds } from '@vkontakte/videoplayer-shared';
1
+ import type { Milliseconds } from "@vkontakte/videoplayer-shared";
2
2
  export interface Vector3D<T = number> {
3
- x: T;
4
- y: T;
5
- z: T;
3
+ x: T;
4
+ y: T;
5
+ z: T;
6
6
  }
7
7
  export interface Vector2D<T = number> {
8
- x: T;
9
- y: T;
8
+ x: T;
9
+ y: T;
10
10
  }
11
11
  export type Pixel = number;
12
12
  export type Degree = number;
13
13
  export type DegreePerSecond = number;
14
14
  export interface CameraRotationManagerParams {
15
- rotationSpeed: DegreePerSecond;
16
- maxYawAngle: Degree;
17
- speedFadeTime: Milliseconds;
18
- speedFadeThreshold: Milliseconds;
19
- degreeToPixelCorrection: number;
20
- rotationSpeedCorrection: number;
15
+ rotationSpeed: DegreePerSecond;
16
+ maxYawAngle: Degree;
17
+ speedFadeTime: Milliseconds;
18
+ speedFadeThreshold: Milliseconds;
19
+ degreeToPixelCorrection: number;
20
+ rotationSpeedCorrection: number;
21
21
  }
22
22
  export interface Scene3DParams extends CameraRotationManagerParams {
23
- fov: Vector2D;
24
- orientation: Vector3D;
23
+ fov: Vector2D;
24
+ orientation: Vector3D;
25
25
  }
@@ -1,22 +1,22 @@
1
- import { ValueSubject } from '@vkontakte/videoplayer-shared';
2
- import { BrowserChecker } from './services/BrowserChecker';
3
- import { DeviceChecker } from './services/DeviceChecker';
4
- import { DisplayChecker } from './services/DisplayChecker';
5
- import { VideoChecker } from './services/VideoChecker';
6
- import { AudioChecker } from './services/AudioChecker';
1
+ import { ValueSubject } from "@vkontakte/videoplayer-shared";
2
+ import { BrowserChecker } from "./services/BrowserChecker";
3
+ import { DeviceChecker } from "./services/DeviceChecker";
4
+ import { DisplayChecker } from "./services/DisplayChecker";
5
+ import { VideoChecker } from "./services/VideoChecker";
6
+ import { AudioChecker } from "./services/AudioChecker";
7
7
  export declare class ClientChecker {
8
- isInited$: ValueSubject<boolean>;
9
- private _displayChecker;
10
- private _deviceChecker;
11
- private _browserChecker;
12
- private _videoChecker;
13
- private _audioChecker;
14
- constructor();
15
- get display(): DisplayChecker;
16
- get device(): DeviceChecker;
17
- get browser(): BrowserChecker;
18
- get video(): VideoChecker;
19
- get audio(): AudioChecker;
20
- detect(): Promise<void>;
8
+ isInited$: ValueSubject<boolean>;
9
+ private _displayChecker;
10
+ private _deviceChecker;
11
+ private _browserChecker;
12
+ private _videoChecker;
13
+ private _audioChecker;
14
+ constructor();
15
+ get display(): DisplayChecker;
16
+ get device(): DeviceChecker;
17
+ get browser(): BrowserChecker;
18
+ get video(): VideoChecker;
19
+ get audio(): AudioChecker;
20
+ detect(): Promise<void>;
21
21
  }
22
22
  export declare const clientChecker: ClientChecker;
@@ -1,2 +1,2 @@
1
- export { clientChecker } from './ClientChecker';
2
- export { isMobile } from './utils/isMobile';
1
+ export { clientChecker } from "./ClientChecker";
2
+ export { isMobile } from "./utils/isMobile";
@@ -1,10 +1,10 @@
1
- import { Checker } from '../../../utils/ClientChecker/types/checker';
1
+ import type { Checker } from "../types/checker";
2
2
  export declare const mp3Mime = "audio/mpeg";
3
3
  export declare class AudioChecker implements Checker {
4
- private _audio;
5
- private _containers;
6
- private _codecs;
7
- supportMp3(): boolean;
8
- detect(): void;
9
- private destroyAudioElement;
4
+ private _audio;
5
+ private _containers;
6
+ private _codecs;
7
+ supportMp3(): boolean;
8
+ detect(): void;
9
+ private destroyAudioElement;
10
10
  }
@@ -1,38 +1,38 @@
1
- import { CurrentClientBrowser } from '../../../utils/ClientChecker/types/currentClientBrowser';
2
- import { Checker } from '../../../utils/ClientChecker/types/checker';
1
+ import { CurrentClientBrowser } from "../types/currentClientBrowser";
2
+ import type { Checker } from "../types/checker";
3
3
  export declare class BrowserChecker implements Checker {
4
- private _current;
5
- private _current_version;
6
- private _chromeVersion;
7
- private _firefoxVersion;
8
- private _safariVersion;
9
- private _operaVersion;
10
- private _edgeVersion;
11
- private _yandexVersion;
12
- private _isMiuiBrowser;
13
- get current(): CurrentClientBrowser;
14
- get isChrome(): boolean;
15
- get isChromiumBased(): boolean;
16
- get isFirefox(): boolean;
17
- get isSafari(): boolean;
18
- get isOpera(): boolean;
19
- get isEdge(): boolean;
20
- get isYandex(): boolean;
21
- get isSamsungBrowser(): boolean;
22
- get currentVersion(): number | undefined;
23
- get chromeVersion(): number | undefined;
24
- get firefoxVersion(): number | undefined;
25
- get safariVersion(): number | undefined;
26
- get operaVersion(): number | undefined;
27
- get edgeVersion(): number | undefined;
28
- get yandexVersion(): number | undefined;
29
- get isMiuiBrowser(): boolean;
30
- detect(): void;
31
- private detectVersion;
32
- private detectChromeVersion;
33
- private detectFirefoxVersion;
34
- private detectSafariVersion;
35
- private detectOperaVersion;
36
- private detectEdgeVersion;
37
- private detectYandexVersion;
4
+ private _current;
5
+ private _current_version;
6
+ private _chromeVersion;
7
+ private _firefoxVersion;
8
+ private _safariVersion;
9
+ private _operaVersion;
10
+ private _edgeVersion;
11
+ private _yandexVersion;
12
+ private _isMiuiBrowser;
13
+ get current(): CurrentClientBrowser;
14
+ get isChrome(): boolean;
15
+ get isChromiumBased(): boolean;
16
+ get isFirefox(): boolean;
17
+ get isSafari(): boolean;
18
+ get isOpera(): boolean;
19
+ get isEdge(): boolean;
20
+ get isYandex(): boolean;
21
+ get isSamsungBrowser(): boolean;
22
+ get currentVersion(): number | undefined;
23
+ get chromeVersion(): number | undefined;
24
+ get firefoxVersion(): number | undefined;
25
+ get safariVersion(): number | undefined;
26
+ get operaVersion(): number | undefined;
27
+ get edgeVersion(): number | undefined;
28
+ get yandexVersion(): number | undefined;
29
+ get isMiuiBrowser(): boolean;
30
+ detect(): void;
31
+ private detectVersion;
32
+ private detectChromeVersion;
33
+ private detectFirefoxVersion;
34
+ private detectSafariVersion;
35
+ private detectOperaVersion;
36
+ private detectEdgeVersion;
37
+ private detectYandexVersion;
38
38
  }
@@ -1,44 +1,44 @@
1
- import { CurrentClientDevice } from '../../../utils/ClientChecker/types/currentClientDevice';
2
- import { DisplayChecker } from '../../../utils/ClientChecker/services/DisplayChecker';
3
- import { Checker } from '../../../utils/ClientChecker/types/checker';
1
+ import { CurrentClientDevice } from "../types/currentClientDevice";
2
+ import type { DisplayChecker } from "./DisplayChecker";
3
+ import type { Checker } from "../types/checker";
4
4
  export interface OS {
5
- name: string;
6
- version: string;
7
- full: string;
5
+ name: string;
6
+ version: string;
7
+ full: string;
8
8
  }
9
9
  export interface DeviceDetails {
10
- vendor: string;
11
- model: string;
10
+ vendor: string;
11
+ model: string;
12
12
  }
13
13
  export declare class DeviceChecker implements Checker {
14
- private _displayChecker;
15
- private _isMobile;
16
- private _current;
17
- private _iosVersion;
18
- private _highEntropyValues;
19
- private _os;
20
- private _details;
21
- constructor(displayChecker: DisplayChecker);
22
- get current(): CurrentClientDevice;
23
- get os(): OS;
24
- get details(): DeviceDetails;
25
- get isIOS(): boolean;
26
- get isMac(): boolean;
27
- get isApple(): boolean;
28
- get isIphoneOrOldIpad(): boolean;
29
- get isAndroid(): boolean;
30
- get isWindows(): boolean;
31
- get isLinux(): boolean;
32
- get isMobile(): boolean;
33
- get iOSVersion(): number | undefined;
34
- detect(): void;
35
- private detectHighEntropyValues;
36
- private detectDevice;
37
- private detectOS;
38
- private normalizeOSName;
39
- private normalizeOSVersion;
40
- private detectDeviceDetails;
41
- private normalizeVendorName;
42
- private normalizeModelName;
43
- private detectIOSVersion;
14
+ private _displayChecker;
15
+ private _isMobile;
16
+ private _current;
17
+ private _iosVersion;
18
+ private _highEntropyValues;
19
+ private _os;
20
+ private _details;
21
+ constructor(displayChecker: DisplayChecker);
22
+ get current(): CurrentClientDevice;
23
+ get os(): OS;
24
+ get details(): DeviceDetails;
25
+ get isIOS(): boolean;
26
+ get isMac(): boolean;
27
+ get isApple(): boolean;
28
+ get isIphoneOrOldIpad(): boolean;
29
+ get isAndroid(): boolean;
30
+ get isWindows(): boolean;
31
+ get isLinux(): boolean;
32
+ get isMobile(): boolean;
33
+ get iOSVersion(): number | undefined;
34
+ detect(): void;
35
+ private detectHighEntropyValues;
36
+ private detectDevice;
37
+ private detectOS;
38
+ private normalizeOSName;
39
+ private normalizeOSVersion;
40
+ private detectDeviceDetails;
41
+ private normalizeVendorName;
42
+ private normalizeModelName;
43
+ private detectIOSVersion;
44
44
  }