-
Notifications
You must be signed in to change notification settings - Fork 144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Aggressive echos during conference calls (mostly on iOS) #227
Comments
@papmodern can you provide an sample clip of the echo that you are seeing? Which version of flutter SDK are you using? |
This is the sample clips you asked. In the first one participants try to mute the mic to prevent the echo. RPReplay_Final1672135868.MP4In this one, we kept the mic open to show it reaches worse situation RPReplay_Final1672138424.MP4Participants are in different places. None of them are using headphone. Versions: P.S |
Thank you for the detailed info. we'll investigate. |
hey @papmodern, are the participating phones in the same room (or close together)? If not, maybe the category of the AudioSession is not set to |
Good call on checking if it's VoiceChat or VideoChat. @papmodern do you explicitly set the AudioSession category? or are you using defaults? |
Hey @davidzhao @cloudwebrtc But it doesn't provide flutter example code. I couldn't find any related function or property in dart api reference |
Hello @cloudwebrtc |
Also the issue with inconsistency in enabling/disabling audio track, mentioned by @papmodern, may by related to this issue since I've experienced the same problem while connecting to a room with iphone and not being able to publish my audio stream. Only several reconnections helped. Interestingly the delay between room connection and audio publishing helped (audio is published after few hundred milliseconds). This issue is reproducible with the example app in this repository. P.S.: livekit server version is of the latest verison and is passing all the tests |
@Parfyonator thank you for the additional details. To be clear, are you seeing this when running on iOS with Flutter-web? i.e. in Safari? It seems that @papmodern is seeing it with a Flutter-native app on iOS. |
@davidzhao No, I'm using Flutter-native. But the error logs provided in the mentioned issue are very similar to mine. And the issue behavior is the same. That's why I've mentioned it. |
Hi @davidzhao @cloudwebrtc. I'm not sure if it would help in any way but I was trying different versions of livekit client. The last version I've tested was
|
@davidzhao Can you please share us any details about the issue? Is the source of the problem clear? |
@papmodern we need to investigate. It's not clear where the issue is originating from. |
@davidzhao @cloudwebrtc, hi. Were you able to reproduce the issue? Maybe you need some additional info to debug? |
Hi @Parfyonator thanks for the following hint:
I will continue to investigate this one. |
Hi, can you try the livekit_client:
git:
url: https://github.com/livekit/client-sdk-flutter.git
ref: audio-mute-unmute-fixes Make sure to get / upgrade packages after updating pubspec.yaml file. |
@hiroshihorie Hi. UPD: Interestingly, when a user taps on the speaker icon and selects |
@Parfyonator Ok thanks for the info. |
@davidzhao @hiroshihorie @cloudwebrtc So new comments from my side. But the rooms we created after this one, everything returned back to the previous state. Echo came back and mic control was fine. I can only consider you where doing some change on server side during the first room or randomly the room was created with another profile! in our pubspec.lock: We are preparing to publish a new update which already delayed over a month and this inconsistent behavior stops us again. I would appreciate if you make it clear why this inconsistency happens and when we can expect a stable version which fixes voice problems for good. |
@papmodern Hi, I'm working on resolving the issues. It would be great to know if the There is another issue reported regarding speaker/ receiver which I am looking into. |
@hiroshihorie But as @Parfyonator also mentioned, playback source toggles between speaker and ear speaker during mute and unmute the microphone! |
@papmodern Thanks for the feedback, I'm working on the remaining issues. |
Any update? |
hi @papmodern, Can you test the latest main branch? |
@cloudwebrtc @hiroshihorie |
ah, this is confusing, I'll keep checking this issue. |
just reproduced the issue of the inconsistent switch operation for audio output, so, |
This may be a tricky problem, due to the mic privacy indicator fix, when we are in non-PlayAndRecord mode, the sound cannot be switched between the earpiece and the speaker, because the sound can only be output from the speaker in AVAudioSessionCategoryPlayback mode, So there is a trade-off
|
@papmodern |
@cloudwebrtc thanks for the commit. I will add it to our next test build. So is echo problem one of these poor qualities you are mentioning? |
The echo issue should be fixed by @hiroshihorie. |
@cloudwebrtc, would it be feasible to implement Solution 1: "Make the mic indicator light on, even if we have muted the local mic, the advantage is that the sound can still be switched from the earpiece, speaker, and external Bluetooth headset" I would argue that the light's on/off status might not be as disruptive to the user experience as the lack of a crucial function: the ability to switch between the speaker and earpiece. Notably, most video call applications support switching to the earpiece during a call, a feature that significantly enhances user experience. |
We recently moved our voice conference features on LiveKit. In our first test with a group of five people, we realized strong and loud echo happens mostly for iOS users. Obviously all the participants are not using headphone, but we had a perfect consistency with Agora and we changed it because of the unstable flutter plugin and lack of web support.
I tried to turn
echoCancellation
on to fix the issue but nothing changed and it seems the option is already turned on by default.In the documentation it reads
Attempt to use echoCancellation option (if supported by the platform)
. So is there something I need to do to enable it in iOS?I would appreciate if you guide me to fix this issue
P.S
During implementation I found more inconsistence behaviors in other parts which I had to handle with a dirty workaround. I will list them here in case of informing
The text was updated successfully, but these errors were encountered: