summary refs log tree commit diff
path: root/webrtc/src/opcodes/Speaking.ts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--webrtc/src/opcodes/Speaking.ts25
1 files changed, 20 insertions, 5 deletions
diff --git a/webrtc/src/opcodes/Speaking.ts b/webrtc/src/opcodes/Speaking.ts

index 861a7c3d..e2227040 100644 --- a/webrtc/src/opcodes/Speaking.ts +++ b/webrtc/src/opcodes/Speaking.ts
@@ -1,7 +1,22 @@ -import { WebSocket } from "@fosscord/gateway"; -import { Payload } from "./index" -import { VoiceOPCodes } from "@fosscord/util"; -import { Server } from "../Server" +import { Payload, Send, WebSocket } from "@fosscord/gateway"; +import { getClients, VoiceOPCodes } from "../util"; -export async function onSpeaking(this: Server, socket: WebSocket, data: Payload) { +// {"speaking":1,"delay":5,"ssrc":2805246727} + +export async function onSpeaking(this: WebSocket, data: Payload) { + if (!this.client) return; + + getClients(this.client.channel_id).forEach((client) => { + if (client === this.client) return; + const ssrc = this.client!.out.tracks.get(client.websocket.user_id); + + Send(client.websocket, { + op: VoiceOPCodes.SPEAKING, + d: { + user_id: client.websocket.user_id, + speaking: data.d.speaking, + ssrc: ssrc?.audio_ssrc || 0 + } + }); + }); } \ No newline at end of file