element-hq / element-hq/element-x-android

Call audio becomes muffled after an incoming cellular call and often does not recover

Open
#7,610 0 comments 0 reactions 0 assignees View on GitHub
T-Defect
Dominant language
Kotlin
Stars
2.4k
Forks
624
Avg merge
1d 14h
Merged PRs (30d)
149

Description

### Steps to reproduce

1. Start a voice call in Element X Android between two users.
2. The audio is initially clear and the other participant can be heard at a normal volume.
3. While the Element X call is still active, the Android user receives an incoming regular cellular phone call.
4. After the incoming cellular call appears, continue the Element X call.
5. Observe the audio of the Android participant.

### Outcome

#### What did you expect?

After the incoming cellular call is dismissed or ends, the Element X call audio should return to the same volume and quality as before.

#### What happened instead?

As soon as the Android participant receives an incoming cellular call, their voice in the Element X call becomes noticeably quieter/muffled.

In many cases, the audio does not return to its previous volume/quality even after the cellular call has ended or been dismissed.

It looks like the audio routing, audio focus, microphone mode, or another Android audio setting may not always be restored correctly after an incoming cellular call.

I am not sure whether the issue is caused by Element X or by Android audio routing, but the behaviour seems reproducible and can be tested further if needed.

### Your phone model

_No response_

### Operating system version

_No response_

### Application version and app store

_No response_

### Homeserver

_No response_

### Will you send logs?

No

### Will you submit a Pull Request?

No

Contributor guide

Open the contributing guide

Research direction

No source file, test, phone model, OS version, or app version is named. Start by reproducing an Element X Android call interrupted by an incoming cellular call, then inspect how audio focus, routing, and microphone state are restored afterward. Done means the Element X call returns to its original volume and quality after the cellular call ends or is dismissed.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
audio-video-rtc, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.