feat: mode écoute seule pour les server audio users (Master par groupe)

Un participant serveur peut être configuré sans publier de micro —
il reçoit le mix du groupe et le sort sur un canal physique.
- ServerAudioUser: flag publish (défaut true), sendAudio no-op si false
- AudioBridgeManager: canPublish LiveKit selon flag, input_channel null si écoute
- AudioBridge: passe publish à ServerAudioUser, log adapté
- Electron UI: checkbox "Écoute seule" dans add/edit, badges 🎤/👂 dans table
- main.js IPC: persist publish + input_channel null en écoute
This commit is contained in:
2026-07-03 17:13:58 +02:00
parent 06cb6a7dd1
commit b0f7d294d8
6 changed files with 114 additions and 23 deletions
+6 -2
View File
@@ -66,10 +66,12 @@ class AudioBridgeManager extends EventEmitter {
}
);
const publish = user.publish !== false;
token.addGrant({
room: groupId,
roomJoin: true,
canPublish: true,
canPublish: publish,
canSubscribe: true,
canPublishData: true
});
@@ -77,12 +79,14 @@ class AudioBridgeManager extends EventEmitter {
const jwt = await token.toJwt();
const outputChannel = user.output_channel ?? user.outputChannel;
const rawInputChannel = user.input_channel ?? user.inputChannel;
serverAudioUsers.push({
name: user.name,
groupId,
inputChannel: user.input_channel ?? user.inputChannel ?? 0,
inputChannel: rawInputChannel !== null && rawInputChannel !== undefined ? rawInputChannel : null,
outputChannel: outputChannel !== null && outputChannel !== undefined ? outputChannel : null,
publish,
token: jwt
});