@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.3.0 → 0.3.2

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 (172) hide show
  1. package/dist/commonjs/AFK/AFKController.js +109 -109
  2. package/dist/commonjs/Config/Config.js +559 -559
  3. package/dist/commonjs/Config/SettingBase.js +98 -98
  4. package/dist/commonjs/Config/SettingFlag.js +49 -49
  5. package/dist/commonjs/Config/SettingNumber.js +83 -83
  6. package/dist/commonjs/Config/SettingOption.js +84 -84
  7. package/dist/commonjs/Config/SettingText.js +42 -42
  8. package/dist/commonjs/DataChannel/DataChannelController.js +106 -106
  9. package/dist/commonjs/DataChannel/DataChannelLatencyTestController.js +94 -94
  10. package/dist/commonjs/DataChannel/DataChannelLatencyTestResults.js +18 -18
  11. package/dist/commonjs/DataChannel/DataChannelSender.js +43 -43
  12. package/dist/commonjs/DataChannel/InitialSettings.js +41 -41
  13. package/dist/commonjs/DataChannel/LatencyTestResults.js +60 -60
  14. package/dist/commonjs/FreezeFrame/FreezeFrame.js +93 -93
  15. package/dist/commonjs/FreezeFrame/FreezeFrameController.js +95 -95
  16. package/dist/commonjs/Inputs/GamepadController.js +188 -188
  17. package/dist/commonjs/Inputs/GamepadTypes.js +21 -21
  18. package/dist/commonjs/Inputs/IInputController.js +2 -2
  19. package/dist/commonjs/Inputs/InputClassesFactory.js +96 -96
  20. package/dist/commonjs/Inputs/KeyCodes.js +112 -112
  21. package/dist/commonjs/Inputs/KeyboardController.js +137 -137
  22. package/dist/commonjs/Inputs/MouseButtons.js +28 -28
  23. package/dist/commonjs/Inputs/MouseController.js +97 -97
  24. package/dist/commonjs/Inputs/MouseControllerHovering.js +93 -93
  25. package/dist/commonjs/Inputs/MouseControllerLocked.js +153 -153
  26. package/dist/commonjs/Inputs/SpecialKeyCodes.js +19 -19
  27. package/dist/commonjs/Inputs/TouchController.js +123 -123
  28. package/dist/commonjs/Inputs/TouchController.js.map +1 -1
  29. package/dist/commonjs/Inputs/TouchControllerFake.js +91 -91
  30. package/dist/commonjs/Inputs/XRGamepadController.js +124 -124
  31. package/dist/commonjs/PeerConnectionController/AggregatedStats.js +252 -252
  32. package/dist/commonjs/PeerConnectionController/CandidatePairStats.js +10 -10
  33. package/dist/commonjs/PeerConnectionController/CandidateStat.js +10 -10
  34. package/dist/commonjs/PeerConnectionController/CodecStats.js +10 -10
  35. package/dist/commonjs/PeerConnectionController/DataChannelStats.js +10 -10
  36. package/dist/commonjs/PeerConnectionController/InboundRTPStats.js +22 -22
  37. package/dist/commonjs/PeerConnectionController/InboundTrackStats.js +10 -10
  38. package/dist/commonjs/PeerConnectionController/OutBoundRTPStats.js +16 -16
  39. package/dist/commonjs/PeerConnectionController/PeerConnectionController.js +584 -584
  40. package/dist/commonjs/PeerConnectionController/SessionStats.js +10 -10
  41. package/dist/commonjs/PeerConnectionController/StreamStats.js +10 -10
  42. package/dist/commonjs/PixelStreaming/PixelStreaming.js +607 -607
  43. package/dist/commonjs/UI/OnScreenKeyboard.js +82 -82
  44. package/dist/commonjs/UeInstanceMessage/ResponseController.js +38 -38
  45. package/dist/commonjs/UeInstanceMessage/SendMessageController.js +120 -120
  46. package/dist/commonjs/UeInstanceMessage/StreamMessageController.js +210 -210
  47. package/dist/commonjs/UeInstanceMessage/ToStreamerMessagesController.js +49 -49
  48. package/dist/commonjs/Util/EventEmitter.js +386 -386
  49. package/dist/commonjs/Util/FileUtil.js +108 -108
  50. package/dist/commonjs/Util/IURLSearchParams.js +25 -25
  51. package/dist/commonjs/Util/InputCoordTranslator.js +49 -49
  52. package/dist/commonjs/Util/RTCUtils.js +40 -40
  53. package/dist/commonjs/VideoPlayer/StreamController.js +67 -67
  54. package/dist/commonjs/VideoPlayer/VideoPlayer.js +177 -177
  55. package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js +1221 -1221
  56. package/dist/commonjs/WebXR/WebXRController.js +335 -335
  57. package/dist/commonjs/pixelstreamingfrontend.js +70 -70
  58. package/dist/esm/AFK/AFKController.js +105 -105
  59. package/dist/esm/Config/Config.js +551 -551
  60. package/dist/esm/Config/SettingBase.js +94 -94
  61. package/dist/esm/Config/SettingFlag.js +45 -45
  62. package/dist/esm/Config/SettingNumber.js +79 -79
  63. package/dist/esm/Config/SettingOption.js +80 -80
  64. package/dist/esm/Config/SettingText.js +38 -38
  65. package/dist/esm/DataChannel/DataChannelController.js +102 -102
  66. package/dist/esm/DataChannel/DataChannelLatencyTestController.js +90 -90
  67. package/dist/esm/DataChannel/DataChannelLatencyTestResults.js +14 -14
  68. package/dist/esm/DataChannel/DataChannelSender.js +39 -39
  69. package/dist/esm/DataChannel/InitialSettings.js +34 -34
  70. package/dist/esm/DataChannel/LatencyTestResults.js +56 -56
  71. package/dist/esm/FreezeFrame/FreezeFrame.js +89 -89
  72. package/dist/esm/FreezeFrame/FreezeFrameController.js +91 -91
  73. package/dist/esm/Inputs/GamepadController.js +184 -184
  74. package/dist/esm/Inputs/GamepadTypes.js +17 -17
  75. package/dist/esm/Inputs/IInputController.js +1 -1
  76. package/dist/esm/Inputs/InputClassesFactory.js +91 -91
  77. package/dist/esm/Inputs/KeyCodes.js +109 -109
  78. package/dist/esm/Inputs/KeyboardController.js +133 -133
  79. package/dist/esm/Inputs/MouseButtons.js +23 -23
  80. package/dist/esm/Inputs/MouseController.js +93 -93
  81. package/dist/esm/Inputs/MouseControllerHovering.js +89 -89
  82. package/dist/esm/Inputs/MouseControllerLocked.js +149 -149
  83. package/dist/esm/Inputs/SpecialKeyCodes.js +15 -15
  84. package/dist/esm/Inputs/TouchController.js +119 -119
  85. package/dist/esm/Inputs/TouchController.js.map +1 -1
  86. package/dist/esm/Inputs/TouchControllerFake.js +87 -87
  87. package/dist/esm/Inputs/XRGamepadController.js +120 -120
  88. package/dist/esm/PeerConnectionController/AggregatedStats.js +248 -248
  89. package/dist/esm/PeerConnectionController/CandidatePairStats.js +6 -6
  90. package/dist/esm/PeerConnectionController/CandidateStat.js +6 -6
  91. package/dist/esm/PeerConnectionController/CodecStats.js +6 -6
  92. package/dist/esm/PeerConnectionController/DataChannelStats.js +6 -6
  93. package/dist/esm/PeerConnectionController/InboundRTPStats.js +16 -16
  94. package/dist/esm/PeerConnectionController/InboundTrackStats.js +6 -6
  95. package/dist/esm/PeerConnectionController/OutBoundRTPStats.js +11 -11
  96. package/dist/esm/PeerConnectionController/PeerConnectionController.js +580 -580
  97. package/dist/esm/PeerConnectionController/SessionStats.js +6 -6
  98. package/dist/esm/PeerConnectionController/StreamStats.js +6 -6
  99. package/dist/esm/PixelStreaming/PixelStreaming.js +603 -603
  100. package/dist/esm/UI/OnScreenKeyboard.js +78 -78
  101. package/dist/esm/UeInstanceMessage/ResponseController.js +34 -34
  102. package/dist/esm/UeInstanceMessage/SendMessageController.js +116 -116
  103. package/dist/esm/UeInstanceMessage/StreamMessageController.js +205 -205
  104. package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js +45 -45
  105. package/dist/esm/Util/EventEmitter.js +345 -345
  106. package/dist/esm/Util/FileUtil.js +103 -103
  107. package/dist/esm/Util/IURLSearchParams.js +21 -21
  108. package/dist/esm/Util/InputCoordTranslator.js +45 -45
  109. package/dist/esm/Util/RTCUtils.js +36 -36
  110. package/dist/esm/VideoPlayer/StreamController.js +63 -63
  111. package/dist/esm/VideoPlayer/VideoPlayer.js +173 -173
  112. package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js +1217 -1217
  113. package/dist/esm/WebXR/WebXRController.js +331 -331
  114. package/dist/esm/pixelstreamingfrontend.js +24 -24
  115. package/dist/types/AFK/AFKController.d.ts +38 -38
  116. package/dist/types/Config/Config.d.ts +220 -220
  117. package/dist/types/Config/SettingBase.d.ts +43 -43
  118. package/dist/types/Config/SettingFlag.d.ts +24 -24
  119. package/dist/types/Config/SettingNumber.d.ts +41 -41
  120. package/dist/types/Config/SettingOption.d.ts +41 -41
  121. package/dist/types/Config/SettingText.d.ts +21 -21
  122. package/dist/types/DataChannel/DataChannelController.d.ts +59 -59
  123. package/dist/types/DataChannel/DataChannelLatencyTestController.d.ts +25 -25
  124. package/dist/types/DataChannel/DataChannelLatencyTestResults.d.ts +46 -46
  125. package/dist/types/DataChannel/DataChannelSender.d.ts +21 -21
  126. package/dist/types/DataChannel/InitialSettings.d.ts +44 -44
  127. package/dist/types/DataChannel/LatencyTestResults.d.ts +31 -31
  128. package/dist/types/FreezeFrame/FreezeFrame.d.ts +36 -36
  129. package/dist/types/FreezeFrame/FreezeFrameController.d.ts +37 -37
  130. package/dist/types/Inputs/GamepadController.d.ts +61 -61
  131. package/dist/types/Inputs/GamepadTypes.d.ts +15 -15
  132. package/dist/types/Inputs/IInputController.d.ts +16 -16
  133. package/dist/types/Inputs/InputClassesFactory.d.ts +53 -53
  134. package/dist/types/Inputs/KeyCodes.d.ts +5 -5
  135. package/dist/types/Inputs/KeyboardController.d.ts +34 -34
  136. package/dist/types/Inputs/MouseButtons.d.ts +22 -22
  137. package/dist/types/Inputs/MouseController.d.ts +40 -40
  138. package/dist/types/Inputs/MouseControllerHovering.d.ts +26 -26
  139. package/dist/types/Inputs/MouseControllerLocked.d.ts +31 -31
  140. package/dist/types/Inputs/SpecialKeyCodes.d.ts +14 -14
  141. package/dist/types/Inputs/TouchController.d.ts +28 -28
  142. package/dist/types/Inputs/TouchControllerFake.d.ts +29 -29
  143. package/dist/types/Inputs/XRGamepadController.d.ts +15 -15
  144. package/dist/types/PeerConnectionController/AggregatedStats.d.ts +82 -82
  145. package/dist/types/PeerConnectionController/CandidatePairStats.d.ts +22 -22
  146. package/dist/types/PeerConnectionController/CandidateStat.d.ts +13 -13
  147. package/dist/types/PeerConnectionController/CodecStats.d.ts +14 -14
  148. package/dist/types/PeerConnectionController/DataChannelStats.d.ts +15 -15
  149. package/dist/types/PeerConnectionController/InboundRTPStats.d.ts +141 -141
  150. package/dist/types/PeerConnectionController/InboundTrackStats.d.ts +32 -32
  151. package/dist/types/PeerConnectionController/OutBoundRTPStats.d.ts +23 -23
  152. package/dist/types/PeerConnectionController/PeerConnectionController.d.ts +143 -143
  153. package/dist/types/PeerConnectionController/SessionStats.d.ts +8 -8
  154. package/dist/types/PeerConnectionController/StreamStats.d.ts +9 -9
  155. package/dist/types/PixelStreaming/PixelStreaming.d.ts +271 -271
  156. package/dist/types/UI/OnScreenKeyboard.d.ts +30 -30
  157. package/dist/types/UeInstanceMessage/ResponseController.d.ts +19 -19
  158. package/dist/types/UeInstanceMessage/SendMessageController.d.ts +18 -18
  159. package/dist/types/UeInstanceMessage/StreamMessageController.d.ts +29 -29
  160. package/dist/types/UeInstanceMessage/ToStreamerMessagesController.d.ts +32 -32
  161. package/dist/types/Util/EventEmitter.d.ts +429 -429
  162. package/dist/types/Util/FileUtil.d.ts +32 -32
  163. package/dist/types/Util/IURLSearchParams.d.ts +9 -9
  164. package/dist/types/Util/InputCoordTranslator.d.ts +29 -29
  165. package/dist/types/Util/RTCUtils.d.ts +8 -8
  166. package/dist/types/VideoPlayer/StreamController.d.ts +22 -22
  167. package/dist/types/VideoPlayer/VideoPlayer.d.ts +78 -78
  168. package/dist/types/WebRtcPlayer/WebRtcPlayerController.d.ts +379 -379
  169. package/dist/types/WebXR/WebXRController.d.ts +42 -42
  170. package/dist/types/pixelstreamingfrontend.d.ts +23 -23
  171. package/package.json +45 -45
  172. package/src/Inputs/TouchController.ts +3 -3
@@ -1,32 +1,32 @@
1
- /**
2
- * Utility function for populate file information from byte buffers.
3
- */
4
- export declare class FileUtil {
5
- /**
6
- * Processes a files extension when received over data channel
7
- * @param view - the file extension data
8
- */
9
- static setExtensionFromBytes(view: Uint8Array, file: FileTemplate): void;
10
- /**
11
- * Processes a files mime type when received over data channel
12
- * @param view - the file mime type data
13
- */
14
- static setMimeTypeFromBytes(view: Uint8Array, file: FileTemplate): void;
15
- /**
16
- * Processes a files contents when received over data channel
17
- * @param view - the file contents data
18
- */
19
- static setContentsFromBytes(view: Uint8Array, file: FileTemplate): void;
20
- }
21
- /**
22
- * A class that represents a template for a downloaded file
23
- */
24
- export declare class FileTemplate {
25
- mimetype: string;
26
- extension: string;
27
- receiving: boolean;
28
- size: number;
29
- data: Array<Uint8Array>;
30
- valid: boolean;
31
- timestampStart: number;
32
- }
1
+ /**
2
+ * Utility function for populate file information from byte buffers.
3
+ */
4
+ export declare class FileUtil {
5
+ /**
6
+ * Processes a files extension when received over data channel
7
+ * @param view - the file extension data
8
+ */
9
+ static setExtensionFromBytes(view: Uint8Array, file: FileTemplate): void;
10
+ /**
11
+ * Processes a files mime type when received over data channel
12
+ * @param view - the file mime type data
13
+ */
14
+ static setMimeTypeFromBytes(view: Uint8Array, file: FileTemplate): void;
15
+ /**
16
+ * Processes a files contents when received over data channel
17
+ * @param view - the file contents data
18
+ */
19
+ static setContentsFromBytes(view: Uint8Array, file: FileTemplate): void;
20
+ }
21
+ /**
22
+ * A class that represents a template for a downloaded file
23
+ */
24
+ export declare class FileTemplate {
25
+ mimetype: string;
26
+ extension: string;
27
+ receiving: boolean;
28
+ size: number;
29
+ data: Array<Uint8Array>;
30
+ valid: boolean;
31
+ timestampStart: number;
32
+ }
@@ -1,9 +1,9 @@
1
- /**
2
- * A case insensitive, partial implementation of URLSearchParams
3
- */
4
- export declare class IURLSearchParams {
5
- _urlParams: Record<string, string>;
6
- constructor(search: string);
7
- has(name: string): boolean;
8
- get(name: string): string | null;
9
- }
1
+ /**
2
+ * A case insensitive, partial implementation of URLSearchParams
3
+ */
4
+ export declare class IURLSearchParams {
5
+ _urlParams: Record<string, string>;
6
+ constructor(search: string);
7
+ has(name: string): boolean;
8
+ get(name: string): string | null;
9
+ }
@@ -1,29 +1,29 @@
1
- export interface RectSize {
2
- width: number;
3
- height: number;
4
- }
5
- export interface TranslatedCoordUnsigned {
6
- inRange: boolean;
7
- x: number;
8
- y: number;
9
- }
10
- export interface TranslatedCoordSigned {
11
- x: number;
12
- y: number;
13
- }
14
- export interface UntranslatedCoordUnsigned {
15
- x: number;
16
- y: number;
17
- }
18
- /**
19
- * Converts coordinates from element relative coordinates to values normalized within the value range of a short (and back again)
20
- */
21
- export declare class InputCoordTranslator {
22
- playerSize: RectSize;
23
- ratio: number;
24
- playerIsLarger: boolean;
25
- reconfigure(playerSize: RectSize, videoSize: RectSize): void;
26
- translateUnsigned(x: number, y: number): TranslatedCoordUnsigned;
27
- translateSigned(x: number, y: number): TranslatedCoordSigned;
28
- untranslateUnsigned(x: number, y: number): UntranslatedCoordUnsigned;
29
- }
1
+ export interface RectSize {
2
+ width: number;
3
+ height: number;
4
+ }
5
+ export interface TranslatedCoordUnsigned {
6
+ inRange: boolean;
7
+ x: number;
8
+ y: number;
9
+ }
10
+ export interface TranslatedCoordSigned {
11
+ x: number;
12
+ y: number;
13
+ }
14
+ export interface UntranslatedCoordUnsigned {
15
+ x: number;
16
+ y: number;
17
+ }
18
+ /**
19
+ * Converts coordinates from element relative coordinates to values normalized within the value range of a short (and back again)
20
+ */
21
+ export declare class InputCoordTranslator {
22
+ playerSize: RectSize;
23
+ ratio: number;
24
+ playerIsLarger: boolean;
25
+ reconfigure(playerSize: RectSize, videoSize: RectSize): void;
26
+ translateUnsigned(x: number, y: number): TranslatedCoordUnsigned;
27
+ translateSigned(x: number, y: number): TranslatedCoordSigned;
28
+ untranslateUnsigned(x: number, y: number): UntranslatedCoordUnsigned;
29
+ }
@@ -1,8 +1,8 @@
1
- export declare class RTCUtils {
2
- static isVideoTransceiver(transceiver: RTCRtpTransceiver | undefined): boolean;
3
- static canTransceiverReceiveVideo(transceiver: RTCRtpTransceiver | undefined): boolean;
4
- static canTransceiverSendVideo(transceiver: RTCRtpTransceiver | undefined): boolean;
5
- static isAudioTransceiver(transceiver: RTCRtpTransceiver | undefined): boolean;
6
- static canTransceiverReceiveAudio(transceiver: RTCRtpTransceiver | undefined): boolean;
7
- static canTransceiverSendAudio(transceiver: RTCRtpTransceiver | undefined): boolean;
8
- }
1
+ export declare class RTCUtils {
2
+ static isVideoTransceiver(transceiver: RTCRtpTransceiver | undefined): boolean;
3
+ static canTransceiverReceiveVideo(transceiver: RTCRtpTransceiver | undefined): boolean;
4
+ static canTransceiverSendVideo(transceiver: RTCRtpTransceiver | undefined): boolean;
5
+ static isAudioTransceiver(transceiver: RTCRtpTransceiver | undefined): boolean;
6
+ static canTransceiverReceiveAudio(transceiver: RTCRtpTransceiver | undefined): boolean;
7
+ static canTransceiverSendAudio(transceiver: RTCRtpTransceiver | undefined): boolean;
8
+ }
@@ -1,22 +1,22 @@
1
- import { VideoPlayer } from './VideoPlayer';
2
- /**
3
- * Video Player Controller handles the creation of the video HTML element and all handlers
4
- */
5
- export declare class StreamController {
6
- videoElementProvider: VideoPlayer;
7
- audioElement: HTMLAudioElement;
8
- /**
9
- * @param videoElementProvider Video Player instance
10
- */
11
- constructor(videoElementProvider: VideoPlayer);
12
- /**
13
- * Handles when the Peer connection has a track event
14
- * @param rtcTrackEvent - RTC Track Event
15
- */
16
- handleOnTrack(rtcTrackEvent: RTCTrackEvent): void;
17
- /**
18
- * Creates the audio device when receiving an RTCTrackEvent with the kind of "audio"
19
- * @param audioMediaStream - Audio Media stream track
20
- */
21
- CreateAudioTrack(audioMediaStream: MediaStream): void;
22
- }
1
+ import { VideoPlayer } from './VideoPlayer';
2
+ /**
3
+ * Video Player Controller handles the creation of the video HTML element and all handlers
4
+ */
5
+ export declare class StreamController {
6
+ videoElementProvider: VideoPlayer;
7
+ audioElement: HTMLAudioElement;
8
+ /**
9
+ * @param videoElementProvider Video Player instance
10
+ */
11
+ constructor(videoElementProvider: VideoPlayer);
12
+ /**
13
+ * Handles when the Peer connection has a track event
14
+ * @param rtcTrackEvent - RTC Track Event
15
+ */
16
+ handleOnTrack(rtcTrackEvent: RTCTrackEvent): void;
17
+ /**
18
+ * Creates the audio device when receiving an RTCTrackEvent with the kind of "audio"
19
+ * @param audioMediaStream - Audio Media stream track
20
+ */
21
+ CreateAudioTrack(audioMediaStream: MediaStream): void;
22
+ }
@@ -1,78 +1,78 @@
1
- import { Config } from '../Config/Config';
2
- /**
3
- * Extra types for the HTMLElement
4
- */
5
- declare global {
6
- interface HTMLElement {
7
- mozRequestPointerLock?(): void;
8
- }
9
- }
10
- /**
11
- * The video player html element
12
- */
13
- export declare class VideoPlayer {
14
- private config;
15
- private videoElement;
16
- private audioElement?;
17
- private orientationChangeTimeout;
18
- private lastTimeResized;
19
- onMatchViewportResolutionCallback: (width: number, height: number) => void;
20
- onResizePlayerCallback: () => void;
21
- resizeTimeoutHandle: number;
22
- /**
23
- * @param videoElementParent the html div the the video player will be injected into
24
- * @param config the applications configuration. We're interested in the startVideoMuted flag
25
- */
26
- constructor(videoElementParent: HTMLElement, config: Config);
27
- setAudioElement(audioElement: HTMLAudioElement): void;
28
- /**
29
- * Sets up the video element with any application config and plays the video element.
30
- * @returns A promise for if playing the video was successful or not.
31
- */
32
- play(): Promise<void>;
33
- /**
34
- * @returns True if the video element is paused.
35
- */
36
- isPaused(): boolean;
37
- /**
38
- * @returns - whether the video element is playing.
39
- */
40
- isVideoReady(): boolean;
41
- /**
42
- * @returns True if the video element has a valid video source (srcObject).
43
- */
44
- hasVideoSource(): boolean;
45
- /**
46
- * Get the current context of the html video element
47
- * @returns - the current context of the video element
48
- */
49
- getVideoElement(): HTMLVideoElement;
50
- /**
51
- * Get the current context of the html video elements parent
52
- * @returns - the current context of the video elements parent
53
- */
54
- getVideoParentElement(): HTMLElement;
55
- /**
56
- * Set the Video Elements src object tracks to enable
57
- * @param enabled - Enable Tracks on the Src Object
58
- */
59
- setVideoEnabled(enabled: boolean): void;
60
- /**
61
- * An override for when the video has been initialized with a srcObject
62
- */
63
- onVideoInitialized(): void;
64
- /**
65
- * On the orientation change of a window clear the timeout
66
- */
67
- onOrientationChange(): void;
68
- /**
69
- * Resizes the player style based on the window height and width
70
- * @returns - nil if requirements are satisfied
71
- */
72
- resizePlayerStyle(): void;
73
- /**
74
- * Resizes the player element to fill the parent element
75
- */
76
- resizePlayerStyleToFillParentElement(): void;
77
- updateVideoStreamSize(): void;
78
- }
1
+ import { Config } from '../Config/Config';
2
+ /**
3
+ * Extra types for the HTMLElement
4
+ */
5
+ declare global {
6
+ interface HTMLElement {
7
+ mozRequestPointerLock?(): void;
8
+ }
9
+ }
10
+ /**
11
+ * The video player html element
12
+ */
13
+ export declare class VideoPlayer {
14
+ private config;
15
+ private videoElement;
16
+ private audioElement?;
17
+ private orientationChangeTimeout;
18
+ private lastTimeResized;
19
+ onMatchViewportResolutionCallback: (width: number, height: number) => void;
20
+ onResizePlayerCallback: () => void;
21
+ resizeTimeoutHandle: number;
22
+ /**
23
+ * @param videoElementParent the html div the the video player will be injected into
24
+ * @param config the applications configuration. We're interested in the startVideoMuted flag
25
+ */
26
+ constructor(videoElementParent: HTMLElement, config: Config);
27
+ setAudioElement(audioElement: HTMLAudioElement): void;
28
+ /**
29
+ * Sets up the video element with any application config and plays the video element.
30
+ * @returns A promise for if playing the video was successful or not.
31
+ */
32
+ play(): Promise<void>;
33
+ /**
34
+ * @returns True if the video element is paused.
35
+ */
36
+ isPaused(): boolean;
37
+ /**
38
+ * @returns - whether the video element is playing.
39
+ */
40
+ isVideoReady(): boolean;
41
+ /**
42
+ * @returns True if the video element has a valid video source (srcObject).
43
+ */
44
+ hasVideoSource(): boolean;
45
+ /**
46
+ * Get the current context of the html video element
47
+ * @returns - the current context of the video element
48
+ */
49
+ getVideoElement(): HTMLVideoElement;
50
+ /**
51
+ * Get the current context of the html video elements parent
52
+ * @returns - the current context of the video elements parent
53
+ */
54
+ getVideoParentElement(): HTMLElement;
55
+ /**
56
+ * Set the Video Elements src object tracks to enable
57
+ * @param enabled - Enable Tracks on the Src Object
58
+ */
59
+ setVideoEnabled(enabled: boolean): void;
60
+ /**
61
+ * An override for when the video has been initialized with a srcObject
62
+ */
63
+ onVideoInitialized(): void;
64
+ /**
65
+ * On the orientation change of a window clear the timeout
66
+ */
67
+ onOrientationChange(): void;
68
+ /**
69
+ * Resizes the player style based on the window height and width
70
+ * @returns - nil if requirements are satisfied
71
+ */
72
+ resizePlayerStyle(): void;
73
+ /**
74
+ * Resizes the player element to fill the parent element
75
+ */
76
+ resizePlayerStyleToFillParentElement(): void;
77
+ updateVideoStreamSize(): void;
78
+ }