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:
@@ -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
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user