From 282138b4a552c9f346303af0d8faa496bae89aae Mon Sep 17 00:00:00 2001 From: William Belcher Date: Wed, 26 Apr 2023 15:14:57 +1000 Subject: [PATCH 1/3] Make webrtcPlayerController and webXrController protected instead of private. This allows users to extend the base PixelStreaming class and access these member --- Frontend/library/src/PixelStreaming/PixelStreaming.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Frontend/library/src/PixelStreaming/PixelStreaming.ts b/Frontend/library/src/PixelStreaming/PixelStreaming.ts index eaa9da07..6d07728f 100644 --- a/Frontend/library/src/PixelStreaming/PixelStreaming.ts +++ b/Frontend/library/src/PixelStreaming/PixelStreaming.ts @@ -42,8 +42,8 @@ export interface PixelStreamingOverrides { * this will likely be the core of your Pixel Streaming experience in terms of functionality. */ export class PixelStreaming { - private _webRtcController: WebRtcPlayerController; - private _webXrController: WebXRController; + protected _webRtcController: WebRtcPlayerController; + protected _webXrController: WebXRController; /** * Configuration object. You can read or modify config through this object. Whenever * the configuration is changed, the library will emit a `settingsChanged` event. From 05ebc84e0ffe9abfe01ad4383956e59a1affa622 Mon Sep 17 00:00:00 2001 From: William Belcher Date: Wed, 3 May 2023 11:25:17 +1000 Subject: [PATCH 2/3] set shouldReconnect to false is programmatically closing websocket connection --- Frontend/library/src/WebRtcPlayer/WebRtcPlayerController.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Frontend/library/src/WebRtcPlayer/WebRtcPlayerController.ts b/Frontend/library/src/WebRtcPlayer/WebRtcPlayerController.ts index c460c2f3..610c7dab 100644 --- a/Frontend/library/src/WebRtcPlayer/WebRtcPlayerController.ts +++ b/Frontend/library/src/WebRtcPlayer/WebRtcPlayerController.ts @@ -1589,6 +1589,8 @@ export class WebRtcPlayerController { * Close the Connection to the signaling server */ closeSignalingServer() { + // We explicitly called close, therefore we don't want to trigger auto reconnect + this.shouldReconnect = false; this.webSocketController?.close(); } From b6b26a07811e8830cf555363ed14eb8bc39a4434 Mon Sep 17 00:00:00 2001 From: William Belcher Date: Wed, 3 May 2023 11:55:11 +1000 Subject: [PATCH 3/3] update unit tests --- Frontend/library/src/PixelStreaming/PixelStreaming.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Frontend/library/src/PixelStreaming/PixelStreaming.test.ts b/Frontend/library/src/PixelStreaming/PixelStreaming.test.ts index 3bba0fab..323a1f63 100644 --- a/Frontend/library/src/PixelStreaming/PixelStreaming.test.ts +++ b/Frontend/library/src/PixelStreaming/PixelStreaming.test.ts @@ -209,7 +209,7 @@ describe('PixelStreaming', () => { expect(webSocketSpyFunctions.constructorSpy).toHaveBeenCalledTimes(1); expect(webSocketSpyFunctions.closeSpy).not.toHaveBeenCalled(); - pixelStreaming.disconnect(); + pixelStreaming.webSocketController.close(); expect(webSocketSpyFunctions.closeSpy).toHaveBeenCalled();