Don't render audio from participants that aren't meant to be publishing

This commit is contained in:
Robin
2025-09-25 21:29:02 -04:00
parent 4980d8a622
commit 0759f9b27d
4 changed files with 122 additions and 98 deletions

View File

@@ -286,6 +286,8 @@ export const InCallView: FC<InCallViewProps> = ({
() => void toggleRaisedHand(),
);
const allLivekitRooms = useBehavior(vm.allLivekitRooms$);
const participantsByRoom = useBehavior(vm.participantsByRoom$);
const participantCount = useBehavior(vm.participantCount$);
const reconnecting = useBehavior(vm.reconnecting$);
const windowMode = useBehavior(vm.windowMode$);
@@ -739,9 +741,6 @@ export const InCallView: FC<InCallViewProps> = ({
matrixRoom.roomId,
);
const allLivekitRooms = useBehavior(vm.allLivekitRooms$);
const memberships = useBehavior(vm.memberships$);
const buttons: JSX.Element[] = [];
buttons.push(
@@ -862,11 +861,12 @@ export const InCallView: FC<InCallViewProps> = ({
</Text>
)
}
{allLivekitRooms.map((roomItem) => (
{participantsByRoom.map(({ livekitRoom, url, participants }) => (
<LivekitRoomAudioRenderer
key={roomItem.url}
livekitRoom={roomItem.room}
members={memberships}
key={url}
url={url}
livekitRoom={livekitRoom}
participants={participants}
muted={muteAllAudio}
/>
))}