@vkontakte/videoplayer-core 2.0.154-dev.48c0527e.0 → 2.0.154-dev.6d21d9b3.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 +184 -0
  2. package/es2015.esm.js +184 -0
  3. package/es2018.cjs +131 -77
  4. package/es2018.esm.js +129 -75
  5. package/es2024.cjs +135 -81
  6. package/es2024.esm.js +133 -79
  7. package/esnext.cjs +135 -81
  8. package/esnext.esm.js +133 -79
  9. package/evergreen.esm.js +134 -80
  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 +13 -16
  15. package/types/player/Player.d.ts +210 -217
  16. package/types/player/types.d.ts +589 -589
  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 +106 -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 -32
  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 +150 -149
  36. package/types/providers/DashLiveProvider/utils/ThroughputEstimator.d.ts +30 -12
  37. package/types/providers/DashLiveProvider/utils/liveDashPlayerUtil.d.ts +22 -19
  38. package/types/providers/DashProvider/baseDashProvider.d.ts +56 -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 +122 -123
  45. package/types/providers/DashProvider/lib/fetcher.d.ts +69 -70
  46. package/types/providers/DashProvider/lib/player.d.ts +107 -109
  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 +57 -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 +14 -15
  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 +92 -94
  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 +67 -68
  66. package/types/providers/DashProviderVirtual/lib/player/basePlayer.d.ts +100 -103
  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 +28 -28
  74. package/types/providers/HlsLiveProvider/seekBackTimeExtractor.d.ts +1 -1
  75. package/types/providers/HlsProvider/index.d.ts +19 -18
  76. package/types/providers/HlsProvider/manifestDataExtractor.d.ts +13 -13
  77. package/types/providers/MpegProvider/index.d.ts +17 -16
  78. package/types/providers/ProviderContainer/index.d.ts +46 -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 +8 -9
  82. package/types/providers/WebRTCLiveProvider/WebRTCLiveClient.d.ts +185 -185
  83. package/types/providers/WebRTCLiveProvider/WebRTCLiveProvider.d.ts +57 -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 +39 -40
  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 +2 -2
  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 +12 -13
  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 +17 -18
  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 +26 -27
  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 +5 -4
  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 +133 -131
  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 +12 -8
  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 +27 -28
  164. package/types/utils/buffer/createTimeRanges.d.ts +1 -2
  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 +5 -1
  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 +14 -15
  177. package/types/utils/setStateWithSubscribe.d.ts +3 -6
  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 +275 -276
  185. package/types/utils/videoFormat.d.ts +1 -1
@@ -1,12 +1,12 @@
1
- import type { SeekState } from "../types";
2
- import type { IObservable, IValueObservable, Seconds } from "@vkontakte/videoplayer-shared";
3
- import type { IStateMachine } from "../../utils/StateMachine/types";
1
+ import type { SeekState } from '../../player/types';
2
+ import { IObservable, IValueObservable, Seconds } from '@vkontakte/videoplayer-shared';
3
+ import { IStateMachine } from '../../utils/StateMachine/types';
4
4
  interface IParams {
5
- seekState: IStateMachine<SeekState>;
6
- position$: IValueObservable<Seconds>;
5
+ seekState: IStateMachine<SeekState>;
6
+ position$: IValueObservable<Seconds>;
7
7
  }
8
8
  /**
9
- * Реализует оптимистичное изменение позиции при перемотке
10
- */
9
+ * Реализует оптимистичное изменение позиции при перемотке
10
+ */
11
11
  declare const _default: ({ seekState, position$ }: IParams) => IObservable<Seconds>;
12
12
  export default _default;
@@ -1,3 +1,3 @@
1
- import type { IConfig } from "../types";
1
+ import { IConfig } from '../../player/types';
2
2
  declare const _default: (config: IConfig) => HTMLElement;
3
3
  export default _default;
@@ -1,124 +1,124 @@
1
- import type { IError, ILogger, ISubject, IValueSubject } from "@vkontakte/videoplayer-shared";
1
+ import { IError, ILogger, ISubject, IValueSubject } from '@vkontakte/videoplayer-shared';
2
2
  interface IParams {
3
- appId: string;
4
- logger: ILogger;
3
+ appId: string;
4
+ logger: ILogger;
5
5
  }
6
6
  export declare class ChromecastPresentationApiConnector {
7
- protected readonly params: IParams;
8
- private readonly clientId;
9
- private readonly capabilities;
10
- private readonly presentationRequest$;
11
- private readonly log;
12
- private readonly sessionId$;
13
- private readonly broadcastChannel;
14
- private readonly subscription;
15
- private subscriptionEvents;
16
- private isDestroyed;
17
- private sequenceNumber;
18
- readonly presentationAvailable$: IValueSubject<boolean>;
19
- readonly presentationConnection$: IValueSubject<PresentationConnection | null>;
20
- readonly message$: IValueSubject<PresentationConnectionMessages | null>;
21
- readonly friendlyName$: IValueSubject<string | null>;
22
- readonly errorEvent$: ISubject<IError>;
23
- constructor(params: IParams);
24
- destroy(): void;
25
- /**
26
- * в случае перехвата соединения другим плеером важно не останавливать медийку,
27
- * иначе прервется кастинг у того плеера, который его запустил
28
- */
29
- disconnect(withStopMedia?: boolean): void;
30
- /**
31
- * нужно вызывать перед `disconnect`, потому что если хромкаст был инициализирован на чужом соединении
32
- * (те успешно сработал `presentationRequest.reconnect('auto-join')`), то `presentationConnection.close()`
33
- * не отключит медийку на девайсе, если до этого оно не стояло на `PAUSE` или `STOP` (сделал через `STOP`,
34
- * в итоге, для обратной совместимости с обвязкой для гуглового сдк)
35
- */
36
- stopMedia(): void;
37
- /**
38
- * @param reconnect включает попытку восстановить соединение через `.reconnect('auto-join')`
39
- */
40
- private reinitPresentation;
41
- /** должен быть инициализирован с user-input'ом */
42
- connect(): Promise<void>;
43
- private subscribe;
44
- private send;
45
- sendV2Message(message: object): void;
46
- private safeSend;
47
- private handleMessage;
48
- private createCastUrl;
49
- private getSequenceNumber;
50
- private resetSequenceNumber;
51
- private getClientId;
52
- private resetSubscriptionEvents;
53
- private handleConnection;
7
+ protected readonly params: IParams;
8
+ private readonly clientId;
9
+ private readonly capabilities;
10
+ private readonly presentationRequest$;
11
+ private readonly log;
12
+ private readonly sessionId$;
13
+ private readonly broadcastChannel;
14
+ private readonly subscription;
15
+ private subscriptionEvents;
16
+ private isDestroyed;
17
+ private sequenceNumber;
18
+ readonly presentationAvailable$: IValueSubject<boolean>;
19
+ readonly presentationConnection$: IValueSubject<PresentationConnection | null>;
20
+ readonly message$: IValueSubject<PresentationConnectionMessages | null>;
21
+ readonly friendlyName$: IValueSubject<string | null>;
22
+ readonly errorEvent$: ISubject<IError>;
23
+ constructor(params: IParams);
24
+ destroy(): void;
25
+ /**
26
+ * в случае перехвата соединения другим плеером важно не останавливать медийку,
27
+ * иначе прервется кастинг у того плеера, который его запустил
28
+ */
29
+ disconnect(withStopMedia?: boolean): void;
30
+ /**
31
+ * нужно вызывать перед `disconnect`, потому что если хромкаст был инициализирован на чужом соединении
32
+ * (те успешно сработал `presentationRequest.reconnect('auto-join')`), то `presentationConnection.close()`
33
+ * не отключит медийку на девайсе, если до этого оно не стояло на `PAUSE` или `STOP` (сделал через `STOP`,
34
+ * в итоге, для обратной совместимости с обвязкой для гуглового сдк)
35
+ */
36
+ stopMedia(): void;
37
+ /**
38
+ * @param reconnect включает попытку восстановить соединение через `.reconnect('auto-join')`
39
+ */
40
+ private reinitPresentation;
41
+ /** должен быть инициализирован с user-input'ом */
42
+ connect(): Promise<void>;
43
+ private subscribe;
44
+ private send;
45
+ sendV2Message(message: object): void;
46
+ private safeSend;
47
+ private handleMessage;
48
+ private createCastUrl;
49
+ private getSequenceNumber;
50
+ private resetSequenceNumber;
51
+ private getClientId;
52
+ private resetSubscriptionEvents;
53
+ private handleConnection;
54
54
  }
55
55
  declare global {
56
- interface Window {
57
- __vk_player_chromecast_id?: string;
58
- }
59
- interface Navigator {
60
- presentation: {
61
- defaultRequest: PresentationRequest | null;
62
- };
63
- }
64
- type PresentationUrls = string | string[];
65
- type PresentationConnectionState = "connecting" | "connected" | "closed" | "terminated";
66
- class PresentationRequest extends EventTarget {
67
- constructor(presentationUrls: PresentationUrls | undefined);
68
- start(): Promise<PresentationConnection>;
69
- reconnect(presentationId: string): Promise<PresentationConnection>;
70
- getAvailability(): Promise<PresentationAvailability>;
71
- onconnectionavailable: ((this: PresentationRequest, ev: PresentationConnectionAvailableEvent) => void) | null;
72
- }
73
- class PresentationConnection extends EventTarget {
74
- readonly id: string;
75
- readonly state: PresentationConnectionState;
76
- onclose: ((this: PresentationConnection, ev: PresentationConnectionCloseEvent) => void) | null;
77
- onconnect: ((this: PresentationConnection) => void) | null;
78
- onmessage: ((this: PresentationConnection, ev: PresentationConnectionMessageEvent) => void) | null;
79
- onterminate: ((this: PresentationConnection) => void) | null;
80
- send: (data: string) => void;
81
- terminate: () => void;
82
- close: () => void;
83
- }
84
- interface PresentationAvailability extends EventTarget {
85
- value: boolean;
86
- onchange: ((this: PresentationAvailability, ev: Event) => void) | null;
87
- }
88
- interface PresentationConnectionAvailableEvent extends Event {
89
- readonly connection: PresentationConnection;
90
- }
91
- interface PresentationConnectionCloseEvent extends Event {
92
- readonly reason: "closed" | "error";
93
- }
94
- interface PresentationConnectionMessageEvent extends Event {
95
- readonly data: string;
96
- }
56
+ interface Window {
57
+ __vk_player_chromecast_id?: string;
58
+ }
59
+ interface Navigator {
60
+ presentation: {
61
+ defaultRequest: PresentationRequest | null;
62
+ };
63
+ }
64
+ type PresentationUrls = string | string[];
65
+ type PresentationConnectionState = 'connecting' | 'connected' | 'closed' | 'terminated';
66
+ class PresentationRequest extends EventTarget {
67
+ constructor(presentationUrls: PresentationUrls | undefined);
68
+ start(): Promise<PresentationConnection>;
69
+ reconnect(presentationId: string): Promise<PresentationConnection>;
70
+ getAvailability(): Promise<PresentationAvailability>;
71
+ onconnectionavailable: ((this: PresentationRequest, ev: PresentationConnectionAvailableEvent) => void) | null;
72
+ }
73
+ class PresentationConnection extends EventTarget {
74
+ readonly id: string;
75
+ readonly state: PresentationConnectionState;
76
+ onclose: ((this: PresentationConnection, ev: PresentationConnectionCloseEvent) => void) | null;
77
+ onconnect: ((this: PresentationConnection) => void) | null;
78
+ onmessage: ((this: PresentationConnection, ev: PresentationConnectionMessageEvent) => void) | null;
79
+ onterminate: ((this: PresentationConnection) => void) | null;
80
+ send: (data: string) => void;
81
+ terminate: () => void;
82
+ close: () => void;
83
+ }
84
+ interface PresentationAvailability extends EventTarget {
85
+ value: boolean;
86
+ onchange: ((this: PresentationAvailability, ev: Event) => void) | null;
87
+ }
88
+ interface PresentationConnectionAvailableEvent extends Event {
89
+ readonly connection: PresentationConnection;
90
+ }
91
+ interface PresentationConnectionCloseEvent extends Event {
92
+ readonly reason: 'closed' | 'error';
93
+ }
94
+ interface PresentationConnectionMessageEvent extends Event {
95
+ readonly data: string;
96
+ }
97
97
  }
98
98
  interface PresentationConnectionMessage {
99
- clientId: string;
100
- timeoutMillis: number;
99
+ clientId: string;
100
+ timeoutMillis: number;
101
101
  }
102
102
  interface PresentationConnectionMessageReceiverAction extends PresentationConnectionMessage {
103
- type: "receiver_action";
104
- message: {
105
- action: "cast" | "stop";
106
- receiver: chrome.cast.Receiver;
107
- };
103
+ type: 'receiver_action';
104
+ message: {
105
+ action: 'cast' | 'stop';
106
+ receiver: chrome.cast.Receiver;
107
+ };
108
108
  }
109
109
  interface PresentationConnectionMessageSession extends PresentationConnectionMessage {
110
- type: "new_session" | "update_session";
111
- message: chrome.cast.Session;
110
+ type: 'new_session' | 'update_session';
111
+ message: chrome.cast.Session;
112
112
  }
113
113
  interface PresentationConnectionMessageV2Message extends PresentationConnectionMessage {
114
- type: "v2_message";
115
- message: PresentationConnectionMessageV2MessageMessage;
114
+ type: 'v2_message';
115
+ message: PresentationConnectionMessageV2MessageMessage;
116
116
  }
117
117
  interface PresentationConnectionMessageV2MessageMessage {
118
- type: "MEDIA_STATUS";
119
- requestId: number;
120
- sessionId: string;
121
- status: chrome.cast.media.Media[];
118
+ type: 'MEDIA_STATUS';
119
+ requestId: number;
120
+ sessionId: string;
121
+ status: chrome.cast.media.Media[];
122
122
  }
123
123
  export type PresentationConnectionMessages = PresentationConnectionMessageReceiverAction | PresentationConnectionMessageSession | PresentationConnectionMessageV2Message;
124
124
  export {};
@@ -1,25 +1,25 @@
1
- import { ChromecastState } from "../../player/types";
2
- import type { IError, IValueSubject, ISubject } from "@vkontakte/videoplayer-shared";
3
- import type { IChromecastConnection } from "../ChromecastProvider/ChromecastInitializer/types";
4
- import { ChromecastPresentationApiConnector } from "./ChromecastPresentationApiConnector";
5
- import type { IChromecastPresentationApiInitializer } from "./types";
6
- import type { IParams } from "../ChromecastProvider/ChromecastInitializer/types";
1
+ import { ChromecastState } from '../../player/types';
2
+ import { IError, IValueSubject, ISubject } from '@vkontakte/videoplayer-shared';
3
+ import { IChromecastConnection } from '../ChromecastProvider/ChromecastInitializer/types';
4
+ import { ChromecastPresentationApiConnector } from './ChromecastPresentationApiConnector';
5
+ import { IChromecastPresentationApiInitializer } from './types';
6
+ import { IParams } from '../ChromecastProvider/ChromecastInitializer/types';
7
7
  export declare class ChromecastPresentationApiInitializer implements IChromecastPresentationApiInitializer {
8
- private readonly subscription;
9
- private readonly log;
10
- contentId?: string | undefined;
11
- readonly connection$: IValueSubject<IChromecastConnection | undefined>;
12
- readonly castState$: IValueSubject<ChromecastState>;
13
- readonly errorEvent$: ISubject<IError>;
14
- readonly chromecastConnector: ChromecastPresentationApiConnector | undefined;
15
- static isSupported(): boolean;
16
- constructor(params: IParams);
17
- private subscribe;
18
- connect(): void;
19
- disconnect(): void;
20
- stopMedia(): Promise<void>;
21
- toggleConnection(): void;
22
- setVolume(_volume: number): void;
23
- setMuted(_muted: boolean): void;
24
- destroy(): void;
8
+ private readonly subscription;
9
+ private readonly log;
10
+ contentId?: string | undefined;
11
+ readonly connection$: IValueSubject<IChromecastConnection | undefined>;
12
+ readonly castState$: IValueSubject<ChromecastState>;
13
+ readonly errorEvent$: ISubject<IError>;
14
+ readonly chromecastConnector: ChromecastPresentationApiConnector | undefined;
15
+ static isSupported(): boolean;
16
+ constructor(params: IParams);
17
+ private subscribe;
18
+ connect(): void;
19
+ disconnect(): void;
20
+ stopMedia(): Promise<void>;
21
+ toggleConnection(): void;
22
+ setVolume(_volume: number): void;
23
+ setMuted(_muted: boolean): void;
24
+ destroy(): void;
25
25
  }
@@ -1,36 +1,36 @@
1
- import type { IProvider } from "../types";
2
- import type { IParams } from "./types";
1
+ import { IProvider } from '../types';
2
+ import { IParams } from './types';
3
3
  export declare class ChromecastPresentationApiProvider implements IProvider {
4
- private readonly subscription;
5
- private readonly log;
6
- private readonly params;
7
- private readonly sessionId$;
8
- private readonly mediaSessionId$;
9
- private readonly contentId$;
10
- private readonly progressTicker;
11
- private readonly isMobile;
12
- private readonly mobileVolumeState;
13
- private media;
14
- private lastRequestedVolume;
15
- constructor(params: IParams);
16
- private subscribe;
17
- private handleMessage;
18
- /**
19
- * ключевая проблема хромкаста - синхронизировать состояния плеера, потому что
20
- * устройством может управлять не только текущая вкладка браузера, но и любая
21
- * другая как вкладка, так и устройство. поэтому мы считаем, что если доехали
22
- * до этапа инициализации провадера, то форсим именно нашу медийку с нашим уникальным
23
- * айдишником.
24
- */
25
- private loadMedia;
26
- private stop;
27
- private play;
28
- private pause;
29
- private seek;
30
- private setVolume;
31
- private syncPlaybackState;
32
- private syncPlayback;
33
- private syncMediaState;
34
- private syncVolumeState;
35
- destroy(): void;
4
+ private readonly subscription;
5
+ private readonly log;
6
+ private readonly params;
7
+ private readonly sessionId$;
8
+ private readonly mediaSessionId$;
9
+ private readonly contentId$;
10
+ private readonly progressTicker;
11
+ private readonly isMobile;
12
+ private readonly mobileVolumeState;
13
+ private media;
14
+ private lastRequestedVolume;
15
+ constructor(params: IParams);
16
+ private subscribe;
17
+ private handleMessage;
18
+ /**
19
+ * ключевая проблема хромкаста - синхронизировать состояния плеера, потому что
20
+ * устройством может управлять не только текущая вкладка браузера, но и любая
21
+ * другая как вкладка, так и устройство. поэтому мы считаем, что если доехали
22
+ * до этапа инициализации провадера, то форсим именно нашу медийку с нашим уникальным
23
+ * айдишником.
24
+ */
25
+ private loadMedia;
26
+ private stop;
27
+ private play;
28
+ private pause;
29
+ private seek;
30
+ private setVolume;
31
+ private syncPlaybackState;
32
+ private syncPlayback;
33
+ private syncMediaState;
34
+ private syncVolumeState;
35
+ destroy(): void;
36
36
  }
@@ -1,11 +1,11 @@
1
- import type { IParams } from "./types";
1
+ import { IParams } from './types';
2
2
  export declare class ProgressTicker {
3
- private readonly params;
4
- private interval;
5
- private startVideoPosition;
6
- private startTs;
7
- constructor(params: Pick<IParams, "output">);
8
- start(from?: number): void;
9
- pause(): void;
10
- destroy(): void;
3
+ private readonly params;
4
+ private interval;
5
+ private startVideoPosition;
6
+ private startTs;
7
+ constructor(params: Pick<IParams, 'output'>);
8
+ start(from?: number): void;
9
+ pause(): void;
10
+ destroy(): void;
11
11
  }
@@ -1,3 +1,3 @@
1
- export { ChromecastPresentationApiProvider } from "./ChromecastPresentationApiProvider";
2
- export { ChromecastPresentationApiConnector } from "./ChromecastPresentationApiConnector";
3
- export { ChromecastPresentationApiInitializer } from "./ChromecastPresentationApiInitializer";
1
+ export { ChromecastPresentationApiProvider } from './ChromecastPresentationApiProvider';
2
+ export { ChromecastPresentationApiConnector } from './ChromecastPresentationApiConnector';
3
+ export { ChromecastPresentationApiInitializer } from './ChromecastPresentationApiInitializer';
@@ -1,49 +1,49 @@
1
- import type { IChromecastInitializer } from "../ChromecastProvider/ChromecastInitializer/types";
2
- import type { IParams as IParamsChromecastProvider } from "../ChromecastProvider/types";
3
- import type { ChromecastPresentationApiConnector } from "./ChromecastPresentationApiConnector";
1
+ import { IChromecastInitializer } from '../ChromecastProvider/ChromecastInitializer/types';
2
+ import type { IParams as IParamsChromecastProvider } from '../ChromecastProvider/types';
3
+ import { ChromecastPresentationApiConnector } from './ChromecastPresentationApiConnector';
4
4
  export declare enum ProviderState {
5
- STOPPED = "stopped",
6
- READY = "ready",
7
- PLAYING = "playing",
8
- PAUSED = "paused"
5
+ STOPPED = "stopped",
6
+ READY = "ready",
7
+ PLAYING = "playing",
8
+ PAUSED = "paused"
9
9
  }
10
10
  export declare enum PlayerState {
11
- IDLE = "IDLE",
12
- PLAYING = "PLAYING",
13
- PAUSED = "PAUSED",
14
- BUFFERING = "BUFFERING"
11
+ IDLE = "IDLE",
12
+ PLAYING = "PLAYING",
13
+ PAUSED = "PAUSED",
14
+ BUFFERING = "BUFFERING"
15
15
  }
16
16
  export interface IChromecastPresentationApiInitializer extends IChromecastInitializer {
17
- chromecastConnector?: ChromecastPresentationApiConnector;
17
+ chromecastConnector?: ChromecastPresentationApiConnector;
18
18
  }
19
- export interface IParams extends Omit<IParamsChromecastProvider, "connection"> {
20
- chromecastConnector: ChromecastPresentationApiConnector;
19
+ export interface IParams extends Omit<IParamsChromecastProvider, 'connection' | 'skipVideoElVolumeSync'> {
20
+ chromecastConnector: ChromecastPresentationApiConnector;
21
21
  }
22
22
  /**
23
- * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.DefaultActionPolicy
24
- */
23
+ * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.DefaultActionPolicy
24
+ */
25
25
  export declare enum DefaultActionPolicy {
26
- CREATE_SESSION = "create_session",
27
- CAST_THIS_TAB = "cast_this_tab"
26
+ CREATE_SESSION = "create_session",
27
+ CAST_THIS_TAB = "cast_this_tab"
28
28
  }
29
29
  /**
30
- * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.AutoJoinPolicy
31
- */
30
+ * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.AutoJoinPolicy
31
+ */
32
32
  export declare enum AutoJoinPolicy {
33
- CUSTOM_CONTROLLER_SCOPED = "custom_controller_scoped",
34
- TAB_AND_ORIGIN_SCOPED = "tab_and_origin_scoped",
35
- ORIGIN_SCOPED = "origin_scoped",
36
- PAGE_SCOPED = "page_scoped"
33
+ CUSTOM_CONTROLLER_SCOPED = "custom_controller_scoped",
34
+ TAB_AND_ORIGIN_SCOPED = "tab_and_origin_scoped",
35
+ ORIGIN_SCOPED = "origin_scoped",
36
+ PAGE_SCOPED = "page_scoped"
37
37
  }
38
38
  /**
39
- * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.IdleReason
40
- */
39
+ * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.IdleReason
40
+ */
41
41
  export declare enum IdleReason {
42
- CANCELLED = "CANCELLED",
43
- INTERRUPTED = "INTERRUPTED",
44
- FINISHED = "FINISHED",
45
- ERROR = "ERROR"
42
+ CANCELLED = "CANCELLED",
43
+ INTERRUPTED = "INTERRUPTED",
44
+ FINISHED = "FINISHED",
45
+ ERROR = "ERROR"
46
46
  }
47
47
  export declare enum BroadcastChannelEventName {
48
- Connection = "connection"
48
+ Connection = "connection"
49
49
  }
@@ -1,4 +1,4 @@
1
- import type { IChromecastConnection } from "../ChromecastProvider/ChromecastInitializer/types";
1
+ import { IChromecastConnection } from '../ChromecastProvider/ChromecastInitializer/types';
2
2
  export declare const createFakeChromecastConnection: (friendlyName: string) => IChromecastConnection;
3
3
  /** скопировал из сдк гугла */
4
4
  export declare const createId: () => string;
@@ -1,24 +1,24 @@
1
- import type { ISubject, IValueSubject, IError } from "@vkontakte/videoplayer-shared";
2
- import { ChromecastState } from "../../../player/types";
3
- import type { IChromecastConnection, IChromecastInitializer, IParams } from "./types";
1
+ import { ISubject, IValueSubject, IError } from '@vkontakte/videoplayer-shared';
2
+ import { ChromecastState } from '../../../player/types';
3
+ import { IChromecastConnection, IChromecastInitializer, IParams } from './types';
4
4
  export declare class ChromecastInitializer implements IChromecastInitializer {
5
- readonly connection$: IValueSubject<IChromecastConnection | undefined>;
6
- readonly castState$: IValueSubject<ChromecastState>;
7
- readonly errorEvent$: ISubject<IError>;
8
- contentId?: string;
9
- private readonly realCastState$;
10
- private readonly subscription;
11
- private readonly log;
12
- private readonly params;
13
- private isDestroyed;
14
- constructor(params: IParams);
15
- connect(): void;
16
- disconnect(): void;
17
- stopMedia(): Promise<void>;
18
- toggleConnection(): void;
19
- setVolume(volume: number): void;
20
- setMuted(muted: boolean): void;
21
- destroy(): void;
22
- private initListeners;
23
- private initializeCastApi;
5
+ readonly connection$: IValueSubject<IChromecastConnection | undefined>;
6
+ readonly castState$: IValueSubject<ChromecastState>;
7
+ readonly errorEvent$: ISubject<IError>;
8
+ contentId?: string;
9
+ private readonly realCastState$;
10
+ private readonly subscription;
11
+ private readonly log;
12
+ private readonly params;
13
+ private isDestroyed;
14
+ constructor(params: IParams);
15
+ connect(): void;
16
+ disconnect(): void;
17
+ stopMedia(): Promise<void>;
18
+ toggleConnection(): void;
19
+ setVolume(volume: number): void;
20
+ setMuted(muted: boolean): void;
21
+ destroy(): void;
22
+ private initListeners;
23
+ private initializeCastApi;
24
24
  }
@@ -1,28 +1,28 @@
1
- import type { IObservable, IValueObservable, IError, ILogger } from "@vkontakte/videoplayer-shared";
2
- import type { ChromecastState } from "../../../player/types";
1
+ import { IObservable, IValueObservable, IError, ILogger } from '@vkontakte/videoplayer-shared';
2
+ import { ChromecastState } from '../../../player/types';
3
3
  export interface IChromecastInitializer {
4
- connect(): void;
5
- disconnect(): void;
6
- stopMedia(): Promise<void>;
7
- toggleConnection(): void;
8
- setVolume(volume: number): void;
9
- setMuted(muted: boolean): void;
10
- destroy(): void;
11
- contentId?: string;
12
- connection$: IValueObservable<IChromecastConnection | undefined>;
13
- castState$: IValueObservable<ChromecastState>;
14
- errorEvent$: IObservable<IError>;
4
+ connect(): void;
5
+ disconnect(): void;
6
+ stopMedia(): Promise<void>;
7
+ toggleConnection(): void;
8
+ setVolume(volume: number): void;
9
+ setMuted(muted: boolean): void;
10
+ destroy(): void;
11
+ contentId?: string;
12
+ connection$: IValueObservable<IChromecastConnection | undefined>;
13
+ castState$: IValueObservable<ChromecastState>;
14
+ errorEvent$: IObservable<IError>;
15
15
  }
16
16
  export interface IChromecastConnection {
17
- remotePlayer: cast.framework.RemotePlayer;
18
- remotePlayerController: cast.framework.RemotePlayerController;
19
- session: cast.framework.CastSession;
20
- castDevice: chrome.cast.Receiver;
17
+ remotePlayer: cast.framework.RemotePlayer;
18
+ remotePlayerController: cast.framework.RemotePlayerController;
19
+ session: cast.framework.CastSession;
20
+ castDevice: chrome.cast.Receiver;
21
21
  }
22
22
  export interface IParams {
23
- receiverApplicationId?: string;
24
- isDisabled?: boolean;
25
- dependencies: {
26
- logger: ILogger;
27
- };
23
+ receiverApplicationId?: string;
24
+ isDisabled?: boolean;
25
+ dependencies: {
26
+ logger: ILogger;
27
+ };
28
28
  }