Skip to content

[Bug] Remote participant audio too quiet on loudspeaker until mic is muted/unmuted (ios only) #1295

Description

@mlab817

Description

When a user joins a call with loudspeaker output active and a second
participant joins and starts speaking, the remote audio is heard at very
low volume despite the output device being the loudspeaker (not earpiece).
Toggling mic mute → unmute immediately fixes the volume.

Note: the volume is not "dropping" — the user is alone before step 2 so
there is no baseline to compare against. The problem is that the audio
session is never correctly configured for remote audio playback on
loudspeaker until the mic toggle forces a re-evaluation.

Steps to Reproduce

  1. User A joins a call alone — loudspeaker output is active
  2. User B joins the call and begins speaking
  3. User A hears User B at very low volume (output device is loudspeaker, not earpiece)
  4. User A mutes their mic, then unmutes
  5. Remote audio volume is now correct for loudspeaker output

Expected Behavior

When a remote participant joins and speaks, their audio should be immediately
audible at the correct loudspeaker volume with no intervention required.

Actual Behavior

Remote audio is too quiet on loudspeaker. Muting and unmuting the mic
accidentally corrects this.

Hypothesis

When the call is initialized with no remote participants, the AVAudioSession
may be configured in a mode that doesn't fully assert loudspeaker output
gain for remote audio streams (e.g. missing .defaultToSpeaker option, or
an incorrect mode like AVAudioSessionModeDefault instead of
AVAudioSessionModeVideoChat). When the mic is toggled, the SDK
reconfigures the audio session and correctly sets up output routing and
gain for remote audio.

Environment

  • Platform: iOS
  • Device: iPhone 13, iPhone 15 Pro, iPhone 5
  • iOS version: 26.5.2
  • Flutter: 3.44.6
  • stream_video_flutter: 1.4.1

Workaround

Mute then unmute microphone restores remote audio to the expected volume.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions