diff options
Diffstat (limited to 'client-web/source/user/remote.ts')
-rw-r--r-- | client-web/source/user/remote.ts | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/client-web/source/user/remote.ts b/client-web/source/user/remote.ts index 59d811a..8921b04 100644 --- a/client-web/source/user/remote.ts +++ b/client-web/source/user/remote.ts @@ -33,12 +33,12 @@ export class RemoteUser extends User { this.peer.ontrack = ev => { console.log(ev) const t = ev.track - const id = ev.streams[0].id - if (!id) return log({ scope: "media", warn: true }, "got a track without stream") + const id = ev.streams[0]?.id + if (!id) { ev.transceiver.stop(); return log({ scope: "media", warn: true }, "got a track without stream") } const r = this.resources.get(id) - if (!r) return log({ scope: "media", warn: true }, "got an unassociated track") + if (!r) { ev.transceiver.stop(); return log({ scope: "media", warn: true }, "got an unassociated track") } if (r instanceof TrackResource) r.track = new TrackHandle(t); - else log({ scope: "media", warn: true }, "got a track for a resource that should use data channel") + else { ev.transceiver.stop(); return log({ scope: "media", warn: true }, "got a track for a resource that should use data channel") } log("media", `remote track: ${this.display_name}`, t) this.update_stats() } |