diff --git a/lib/webrtc/player.ex b/lib/webrtc/player.ex index 98bb6db..a0e06ff 100644 --- a/lib/webrtc/player.ex +++ b/lib/webrtc/player.ex @@ -177,7 +177,7 @@ defmodule Boombox.Live.Player do {:noreply, socket - |> push_event("webrtc_signaling", message)} + |> push_event("webrtc_signaling-#{socket.assigns.player.id}", message)} end @impl true diff --git a/player_demo.exs b/player_demo.exs index 6adf312..16ba55b 100644 --- a/player_demo.exs +++ b/player_demo.exs @@ -103,7 +103,6 @@ defmodule Example.HomeLive do this.pc = new RTCPeerConnection({ iceServers: iceServers }); this.el.srcObject = new MediaStream() - // todo: get element by player id, different for every player this.pc.ontrack = (event) => { console.log("NEW TRACK", this.el) this.el.srcObject.addTrack(event.track); @@ -115,14 +114,13 @@ defmodule Example.HomeLive do this.pushEventTo(this.el, "webrtc_signaling", message); }; - // todo: event name ("webrtc_signaling") should be suffixed with the component id - this.handleEvent("webrtc_signaling", async (event) => { + const eventName = "webrtc_signaling-" + this.el.id + this.handleEvent(eventName, async (event) => { console.log("NEW SIGNALING MESSAGE", event) const { type, data } = event; - switch (type) { case "sdp_offer": console.log("Received SDP offer:", data);