Jitsi-call 03 — echte WebRTC-audio en video in beide richtingen #2535

Closed
opened 2026-10-22 20:09:11 +00:00 by brenno · 0 comments
Owner

Bovenliggend epic: #2532
Afhankelijk van: #2534

Gebruikersdoel

Ik hoor en zie een andere deelnemer en die deelnemer hoort en ziet mij, via de OciDeck-call zelf.

Werk

  • Breid MeetingMediaCore en de dunne WebrtcMediaCore-binding uit met de door de Jitsi-adapter benodigde peer connection, SDP/Jingle/ICE, lokale microfoon/camera, ontvangen tracks en renderer. De bestaande selfTest() is uitsluitend laadtest en telt niet als mediabewijs.
  • Koppel ICE/STUN/TURN/SFU uitsluitend aan de gevalideerde sessiegegevens. Signalling faalt dicht: geen mediaverbinding bij geweigerde preflight/verbinding; leg daadwerkelijke media-egress en E2EE-status eerlijk bloot. Zet WebRTC-logniveau vast om SDP, adressen en sleutelmateriaal niet in gewone logs te krijgen.
  • Mute/unmute en camera aan/uit veranderen de werkelijk verzonden tracks; bronverlies, apparaatwisseling, audio-outputkeuze, echo-onderdrukking en heronderhandeling krijgen een expliciet pad. Map ontvangen tracks naar MeetingParticipant.audio/video en maak hun levenscyclus beschikbaar voor de latere transcriptiebron.

Acceptatie

  • Echte tweepersoonscall heeft hoorbare audio in beide richtingen en zichtbare video waar platform/camera ondersteund; mute en camera uit zijn bij de andere client aantoonbaar effectief.
  • Tests bewijzen dat alleen gevalideerde ICE-bestemmingen uit de actieve sessie worden gebruikt, dat geweigerde signalling geen media opent en dat logs geen secrets/ruwe SDP lekken.
  • Verlies van mic/camera/netwerk, reconnect en leave geven de juiste status en maken tracks, renderer en peer connection vrij.

Code/ontwerp

lib/meetings/meeting_media_core.dart, meeting_media_core_webrtc.dart, meeting_participant.dart; assurance/ketenkeuring-flutter-webrtc.md, SECURITY.md.

**Bovenliggend epic:** [#2532](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2532) **Afhankelijk van:** [#2534](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2534) ## Gebruikersdoel Ik hoor en zie een andere deelnemer en die deelnemer hoort en ziet mij, via de OciDeck-call zelf. ## Werk - Breid `MeetingMediaCore` en de dunne `WebrtcMediaCore`-binding uit met de door de Jitsi-adapter benodigde peer connection, SDP/Jingle/ICE, lokale microfoon/camera, ontvangen tracks en renderer. De bestaande `selfTest()` is uitsluitend laadtest en telt niet als mediabewijs. - Koppel ICE/STUN/TURN/SFU uitsluitend aan de gevalideerde sessiegegevens. Signalling faalt dicht: geen mediaverbinding bij geweigerde preflight/verbinding; leg daadwerkelijke media-egress en E2EE-status eerlijk bloot. Zet WebRTC-logniveau vast om SDP, adressen en sleutelmateriaal niet in gewone logs te krijgen. - Mute/unmute en camera aan/uit veranderen de werkelijk verzonden tracks; bronverlies, apparaatwisseling, audio-outputkeuze, echo-onderdrukking en heronderhandeling krijgen een expliciet pad. Map ontvangen tracks naar `MeetingParticipant.audio/video` en maak hun levenscyclus beschikbaar voor de latere transcriptiebron. ## Acceptatie - [ ] Echte tweepersoonscall heeft hoorbare audio in beide richtingen en zichtbare video waar platform/camera ondersteund; mute en camera uit zijn bij de andere client aantoonbaar effectief. - [ ] Tests bewijzen dat alleen gevalideerde ICE-bestemmingen uit de actieve sessie worden gebruikt, dat geweigerde signalling geen media opent en dat logs geen secrets/ruwe SDP lekken. - [ ] Verlies van mic/camera/netwerk, reconnect en leave geven de juiste status en maken tracks, renderer en peer connection vrij. ## Code/ontwerp `lib/meetings/meeting_media_core.dart`, `meeting_media_core_webrtc.dart`, `meeting_participant.dart`; `assurance/ketenkeuring-flutter-webrtc.md`, `SECURITY.md`.
brenno 2026-10-24 22:38:33 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2535
No description provided.