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

Other party can't see video once unmuted if you enter a call with video muted #925

Closed
MadLittleMods opened this issue Feb 21, 2023 · 6 comments · Fixed by matrix-org/matrix-js-sdk#3213
Assignees
Labels
O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect Something isn't working: bugs, crashes, hangs, vulnerabilities, or other reported problems Z-Media-Failure Someone's audio or video isn't coming through

Comments

@MadLittleMods
Copy link

MadLittleMods commented Feb 21, 2023

Steps to reproduce

  1. Join call early with voice and video disabled
  2. The other party joins the call
  3. I unmute and enable video to start talking
  4. The other party can hear me but can't see my video. From their perspective, it appears as if I have not enabled video.

Re-joining fixes the problem


Also discussed in an internal room

Outcome

What did you expect?

Voice and video is received by the other party

What happened instead?

The other person can hear me but not see my video.


Here are logs for 3 reproductions. This has been happening consistently for the past 3+ weeks:

Call 2023-02-03 (RVO1KGlKr8iGQYmB):

Call 2023-02-09 (trtLuSF5rj3FZ4jW):

Call 2023-02-19 (5eA0SNcZtEmLHmmy):

Operating system

Looks like we're both using Macbooks with whatever latest version of Chrome (see logs)

Browser information

Chrome (latest)

URL for webapp

https://call.element.io/

Will you send logs?

Yes

@MadLittleMods MadLittleMods added T-Defect Something isn't working: bugs, crashes, hangs, vulnerabilities, or other reported problems S-Major Severely degrades major functionality or product features, with no satisfactory workaround A-Media-Quality Distortions or glitches in audio/video labels Feb 21, 2023
@dbkr
Copy link
Member

dbkr commented Feb 22, 2023

Looks like your client is fairly convinced that the video stream is indeed muted, so must have somehow got out of sync with the UI?

@MadLittleMods
Copy link
Author

MadLittleMods commented Feb 22, 2023

Looks like your client is fairly convinced that the video stream is indeed muted, so must have somehow got out of sync with the UI?

I'm not convinced exactly since I think the button looks enabled on my side and I can for sure see my video going.

As a separate thing in any case, if we can't rely on the state of the app being reflected in the UI, then we should log various things when the debug log dialog is opened like we do in Element for the timeline.

@robintown robintown added O-Uncommon Most users are unlikely to come across this or unexpected workflow Z-Media-Failure Someone's audio or video isn't coming through and removed A-Media-Quality Distortions or glitches in audio/video labels Mar 1, 2023
@dbkr dbkr changed the title Other party is unable to see my video Other party can't see video once unmuted if you enter a call with video muted Mar 9, 2023
@dbkr
Copy link
Member

dbkr commented Mar 9, 2023

As it turns out this is a bug caused by starting the call with video muted and then unmuting.

@dbkr
Copy link
Member

dbkr commented Mar 9, 2023

Looks like the video was indeed quite happily playing in the background, behind the overlay, but the client thought that it was muted. As an extra bonus, you get a different failure mode depending on who calls who in the lowest-lexicographic-userid contest (it starts by negotiating audio only and then neither party can see each other after video unmute).

@MadLittleMods
Copy link
Author

@dbkr Thanks for fixing this!

Are releases ad-hoc? It looks like call.element.io is still using 0.3.4 so I can't test this yet

@robintown
Copy link
Member

Releases are ad-hoc, but it takes some time for us to do QA on them, so we're probably going to wait to get a few other changes in before doing a release

su-ex added a commit to SchildiChat/matrix-js-sdk that referenced this issue Apr 21, 2023
* Allow via_servers property in findPredecessor (update to MSC3946) ([\matrix-org#3240](matrix-org#3240)). Contributed by @andybalaam.
* Fire `closed` event when IndexedDB closes unexpectedly ([\matrix-org#3218](matrix-org#3218)).
* Implement MSC3952: intentional mentions ([\matrix-org#3092](matrix-org#3092)). Fixes element-hq/element-web#24376.
* Send one time key count and unused fallback keys for rust-crypto ([\matrix-org#3215](matrix-org#3215)). Fixes element-hq/element-web#24795. Contributed by @florianduros.
* Improve `processBeaconEvents` hotpath ([\matrix-org#3200](matrix-org#3200)).
* Implement MSC3966: a push rule condition to check if an array contains a value ([\matrix-org#3180](matrix-org#3180)).
* indexddb-local-backend - return the current sync to database promise … ([\matrix-org#3222](matrix-org#3222)). Contributed by @texuf.
* Revert "Add the call object to Call events" ([\matrix-org#3236](matrix-org#3236)).
* Handle group call redaction ([\matrix-org#3231](matrix-org#3231)). Fixes vector-im/voip-internal#128.
* Stop doing O(n^2) work to find event's home (`eventShouldLiveIn`) ([\matrix-org#3227](matrix-org#3227)). Contributed by @jryans.
* Fix bug where video would not unmute if it started muted ([\matrix-org#3213](matrix-org#3213)). Fixes element-hq/element-call#925.
* Fixes to event encryption in the Rust Crypto implementation ([\matrix-org#3202](matrix-org#3202)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect Something isn't working: bugs, crashes, hangs, vulnerabilities, or other reported problems Z-Media-Failure Someone's audio or video isn't coming through
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

3 participants