Skip to main content
Version: 4.1

3.2.0

Features & Improvements​

  • Google Meet WebRTC Audio & Mic Routing Overhaul (useMeetClient.js):
    • Resolved multi-client voice silence issue where participants speaking into their microphones could not be heard by other clients in the conference room.
    • Routed pristine, native microphone audio tracks (rawAudioTrack from navigator.mediaDevices.getUserMedia) directly to the WebRTC publisher RTCPeerConnection, restoring hardware Acoustic Echo Cancellation (AEC), Noise Suppression (NS), Automatic Gain Control (AGC), and 48kHz Opus encoding with in-band FEC.
    • Decoupled Voice Activity Detection (VAD / active speaker detection) from the WebRTC media pipeline: VAD now operates as a non-intrusive AnalyserNode tap, completely avoiding synthetic Web Audio MediaStreamDestination node silencing and browser AudioContext suspension issues.
    • Fixed transceiver lookup in attachTrackToPub to properly find and reuse existing transceivers for audio and video rather than adding redundant transceivers upon unmute.
  • Dedicated Persistent Remote Audio Player Pool (MeetingRoom.jsx):
    • Implemented <RemoteAudioPlayer> pool mounted permanently inside the meeting container, ensuring uninterrupted, continuous audio playback for all remote participants regardless of stage switching, grid re-rendering, or tile minimizing.
    • Added global user gesture autoplay unblocker on window (click, touchstart, keydown) that automatically resumes any paused <audio> or <video> elements and AudioContexts blocked by strict browser autoplay policies.
  • Muted Visual Video Elements (VideoTile.jsx):
    • Configured video elements with muted={true} so they exclusively render visual frames, eliminating duplicate audio playback, volume doubling, or sound echo conflicts with the dedicated audio player.
  • Migration & Update Automation (3.2.0): Created version/3.2.0/UPDATE.sh script to automate service reloads, Webmail asset refresh, and system synchronization.
Was this helpful?