Skip to content
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

💡 Ideas to improve "I can not hear $person" situations #13884

Open
nickvergessen opened this issue Nov 27, 2024 · 2 comments
Open

💡 Ideas to improve "I can not hear $person" situations #13884

nickvergessen opened this issue Nov 27, 2024 · 2 comments
Assignees
Labels
1. to develop bug feature: call 📹 Voice and video calls feature: frontend 🖌️ "Web UI" client feature: WebRTC 🚡 WebRTC connection between browsers and/or mobile clients

Comments

@nickvergessen
Copy link
Member

nickvergessen commented Nov 27, 2024

How to use GitHub

  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce

In bigger calls it happens regularly that users don't hear someone else and speak over them with "I can not hear $person" or "Is someone talking?"

💡 Ideas

  1. @danxuliu had the idea to check for stalled connections and try to reconnect to them
  2. @nickvergessen had the idea to improve the situation by checking the data-channel messages for "X is speaking". When we receive such a message but did not receive any bytes on the stream, we should log this, try an automatic reconnect and as a last resort show a message to the user. @danxuliu mentioned that it could be possible that this situation would never trigger, if the data-channel is paused/stalled in the same way, but it's worth a try anyway.
  3. @danxuliu had the idea of checking the received bytes when the audio or video is enabled. Unlike the speaking message the audio/video enabled state is also transmitted through signaling messages (except in Android, although that will be fixed soon), so even if the peer connection was stalled the state should still be received through the signaling connection, and it would be possible to check the received bytes from the inbound-rtp stat of the peer connection (which only increases if audio and video are enabled, but not if they are disabled, so it can be used only when it is known that the media is enabled). However, this would require careful testing, as at least in the past inbound-rtp stat was not fully reliable (its values may not be updated for several seconds, which is why the connection warning is currently applied only to the publisher connection).
@nickvergessen nickvergessen added 1. to develop bug feature: call 📹 Voice and video calls feature: frontend 🖌️ "Web UI" client feature: WebRTC 🚡 WebRTC connection between browsers and/or mobile clients labels Nov 27, 2024
@nickvergessen nickvergessen added this to the 🌠 Next RC (30) milestone Nov 27, 2024
@github-project-automation github-project-automation bot moved this to 🧭 Planning evaluation (don't pick) in 💬 Talk team Nov 27, 2024
@nickvergessen nickvergessen moved this from 🧭 Planning evaluation (don't pick) to 🆕 New to evalutate in 💬 Talk team Nov 27, 2024
@nickvergessen
Copy link
Member Author

  • In the media settings / connection dialog, give feedback if the microphone is working or not
  • Restore the popover which showed when speaking while muted. Needs to be dismissable so people in a noisy environment can get rid of it triggering accidentally
  • When screensharing, show info line "Sharing screen to other participants" as confirmation

@nickvergessen
Copy link
Member Author

Todos for @danxuliu

  • Check for stalled connections and try to reconnect to them
  • If receive data-channel messages "X is speaking" and no audio-stream data is received:
    1. Log to the console as error
  • If receive signaling messages "audio-on" or "video-on" and no stream data is received:
    1. Log to the console as error
    2. Reconnect the respective stream

@nickvergessen nickvergessen moved this from 🆕 New to evalutate to 📄 To do (~10 entries) in 💬 Talk team Dec 18, 2024
@jancborchardt jancborchardt moved this to 🏗️ At engineering in 🖍 Design team Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop bug feature: call 📹 Voice and video calls feature: frontend 🖌️ "Web UI" client feature: WebRTC 🚡 WebRTC connection between browsers and/or mobile clients
Projects
Status: 📄 To do (~10 entries)
Status: 🏗️ At engineering
Development

No branches or pull requests

2 participants