delay execute till after stream ready (#143)

This commit is contained in:
Kurt Hutten
2023-06-23 14:19:15 +10:00
committed by GitHub
parent fb3c34d5f3
commit 3510abfcb9
6 changed files with 43 additions and 27 deletions

View File

@ -90,7 +90,13 @@ export class EngineCommandManager {
onClickCallback: (selection: SelectionsArgs) => void = () => {}
onCursorsSelectedCallback: (selections: CursorSelectionsArgs) => void =
() => {}
constructor(setMediaStream: (stream: MediaStream) => void) {
constructor({
setMediaStream,
setIsStreamReady,
}: {
setMediaStream: (stream: MediaStream) => void
setIsStreamReady: (isStreamReady: boolean) => void
}) {
const url = 'wss://api.dev.kittycad.io/ws/modeling/commands'
this.socket = new WebSocket(url)
this.pc = new RTCPeerConnection()
@ -178,6 +184,7 @@ export class EngineCommandManager {
this.lossyDataChannel = event.channel
console.log('accepted lossy data channel', event.channel.label)
this.lossyDataChannel.addEventListener('open', (event) => {
setIsStreamReady(true)
console.log('lossy data channel opened', event)
})
this.lossyDataChannel.addEventListener('close', (event) => {