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

Black screen in voip call when other side shows their webcam #20584

Open
babolivier opened this issue Jan 16, 2022 · 33 comments
Open

Black screen in voip call when other side shows their webcam #20584

babolivier opened this issue Jan 16, 2022 · 33 comments
Assignees
Labels
A-VoIP O-Occasional Affects or can be seen by some users regularly or most users rarely S-Critical Prevents work, causes data loss and/or has no workaround T-Defect X-Cannot-Reproduce Z-Fixed by Element Call Issues which can be closed when we move to Element Call Z-Rageshake Has attached rageshake (not for log submission process)

Comments

@babolivier
Copy link
Contributor

babolivier commented Jan 16, 2022

Steps to reproduce

  1. Create a voip video call
  2. Black screen instead of camera

Outcome

What did you expect?

The other side's camera shows up

What happened instead?

Black screen shows up

image

There's an error in the javascript console: DOMException: The fetching process for the media resource was aborted by the user agent at the user's request.

Will rageshake, and ask my friend to do it as well.

Operating system

Arch Linux

Browser information

Firefox 96.0

URL for webapp

develop.element.io

Application version

Element version: 85f6c3b-react-18c82d57ae0a-js-16ca09eed811, olm version: 3.2.8

Homeserver

abolivier.bzh

Will you send logs?

Yes

@SimonBrandner
Copy link
Contributor

Is this reproducible? Are they also on Element Web/Desktop?

@SimonBrandner SimonBrandner added A-VoIP S-Major Severely degrades major functionality or product features, with no satisfactory workaround X-Needs-Info This issue is blocked awaiting information from the reporter Z-Rageshake Has attached rageshake (not for log submission process) labels Jan 16, 2022
@babolivier
Copy link
Contributor Author

Not sure how reproducible this is. They're on Element Desktop, and have rageshaken.

@callahad
Copy link

Just had the same occur: @afranke couldn't see my video. I'm using Element Web Nightly on Firefox 96.

@adminibt
Copy link

adminibt commented Jan 17, 2022

Same problem here. We are using Element Desktop 1.9.8 (Windows). This is not reproducible. Is there any way we can help?

@SimonBrandner
Copy link
Contributor

Are all people experiencing this on develop?

Possibly regressed by matrix-org/matrix-js-sdk#2104, CC @dbkr

@lukasIO
Copy link

lukasIO commented Jan 20, 2022

Experiencing the same problem
Version Desktop Element: 1.9.9

@SimonBrandner SimonBrandner added O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience X-Release-Blocker labels Jan 20, 2022
@RiotRobot RiotRobot added this to P1 in Web App Team Jan 20, 2022
@novocaine novocaine added S-Critical Prevents work, causes data loss and/or has no workaround O-Occasional Affects or can be seen by some users regularly or most users rarely and removed O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience S-Major Severely degrades major functionality or product features, with no satisfactory workaround labels Jan 20, 2022
@dbkr
Copy link
Member

dbkr commented Jan 20, 2022

The errors in the rageshake look like ones we get often due to the fact that we pause the media element when changing the feed, so the previous play request just doesn't work and throws that exception, but then we call play again anyway, so I don't think they're relevant. I'm not sure what else it would be though: I can't really see how that change would cause it, and I can't reproduce the bug either.

@dbkr
Copy link
Member

dbkr commented Jan 20, 2022

Oh, but given the range of versions above (1.9.8, 1.9.9, develop, nightly) it doesn't appear specific to develop/nightly, so not a release blocker.

@SimonBrandner
Copy link
Contributor

The errors in the rageshake look like ones we get often due to the fact that we pause the media element when changing the feed, so the previous play request just doesn't work and throws that exception, but then we call play again anyway, so I don't think they're relevant.

Yeah, I don't think those are very relevant either.

I'm not sure what else it would be though: I can't really see how that change would cause it, and

It was more of a long shot, though I wonder what changed that people are seeing this a lot now 🤔

I can't reproduce the bug either.

Neither can I

@lukasIO
Copy link

lukasIO commented Jan 20, 2022

Are there any additional infos that we can provide to help you reproduce this?
It's blocking our daily use on ems.host right now...

@w4tsn
Copy link

w4tsn commented Jan 25, 2022

This is also happening to us on ems.host at the moment. Element version of me and my peer I tested with is 1.9.9, I'm using Desktop on Fedora Linux and my peer is using it on Windows. If my peer switches to Android it works while it reproduces consistently with this peer when using Desktop. Peer is on another home server though. Also happens with other colleagues from same home server but not as consistent. Seems to happen more often when I start a call. When they call me back it usually works (but not today with the peer I test with) 🤷 It does not seem to matter if the peer is on Windows or Linux I think, I've seen this problem with both

@dbkr
Copy link
Member

dbkr commented Jan 27, 2022

I still can't reproduce this with any combination of desktop / chrome / firefox calling each other. If anyone feels confident doing so, I'd like to know if the side with the black screen is receiving video or not, which you can find you by going to (in chrome) chrome://webrtc-internals, finding the right tab for element's browser tab and finding the "Stats graphs for RTCInboundRTPVideoStream_xxxxxxxxxx (inbound-rtp)" (where the x's are some numbers). You should be able to tell fairly easily whether it's getting video (number of packets & frames increasing) or not, eg. here's mine getting video:

Screenshot 2022-01-27 at 11 25 54

If it is getting video, you could try right-clicking the video, choosing 'inspect', then you can refer to that video element as $0 in the console and see if telling it to play manually helps: $0.play():

Screenshot 2022-01-27 at 11 29 10

We can also try to add more debugging to track down what's going on here.

@lukasIO

This comment was marked as off-topic.

@dbkr
Copy link
Member

dbkr commented Jan 27, 2022

OK, if you're not getting any media at all then that's a very different problem and would want a separate issue. I assume for others this is just the video that is missing and the audio is fine both ways (or have I completely mis-interpreted this issue?)

@babolivier
Copy link
Contributor Author

In my case it's indeed only the video that's missing.

@afranke
Copy link
Contributor

afranke commented Jan 27, 2022

Yep, with @callahad I’m getting his voice but not his video.

@dbkr
Copy link
Member

dbkr commented Jan 27, 2022

Just made another call and this time my local video preview was frozen on one side. It's possible this could be the same issue. I could un-freeze it by making a new MediaStream object and adding just the video track from the old stream to the new one, then setting the new stream as the source (ie. making a new stream with no audio track).

@dbkr dbkr self-assigned this Feb 3, 2022
@dbkr
Copy link
Member

dbkr commented Feb 4, 2022

Have added logging in matrix-org/matrix-react-sdk#7721 to try & catch this: once that's merged, please continue sending bug reports whenever you see this bug.

@novocaine
Copy link
Contributor

We haven't received reports of this for a few days - are people still experiencing it?

@SimonBrandner
Copy link
Contributor

Probably a long shot but matrix-org/matrix-js-sdk#2157 could have had some effect?

@ara4n
Copy link
Member

ara4n commented Feb 10, 2022

This could be the same bug which is causing grey tiles in matrix-video-chat (element-hq/element-call#211)

@adminibt
Copy link

We still have this problem. Using Element Desktop 1.10.1.

@t3chguy
Copy link
Member

t3chguy commented Feb 11, 2022

matrix-org/matrix-js-sdk#2157 is not included in 1.10.1 given it only merged 3 days ago.

@novocaine
Copy link
Contributor

@lukasIO are you still experiencing this?

@lukasIO
Copy link

lukasIO commented Feb 16, 2022

Since (more or less) two days the issues have stopped showing up for me 🎉

@SimonBrandner
Copy link
Contributor

Is anyone else seeing this, or can we close this now?

@novocaine
Copy link
Contributor

Let's close it for now, can re-open if someone is still experiencing it

Web App Team automation moved this from P1 to In Test Feb 17, 2022
@afranke
Copy link
Contributor

afranke commented Apr 20, 2022

It just happened again to me with @jsparber (he could see me, but I only saw a black screen instead of their image).

@babolivier
Copy link
Contributor Author

Just had this issue with @MatMaul, we're both rageshaking

image

@kittykat kittykat reopened this Aug 11, 2022
@dbkr
Copy link
Member

dbkr commented Aug 11, 2022

Again, nothing particularly informative in these logs unfortunately. Any particular things you're doing when experiencing this?

@babolivier
Copy link
Contributor Author

babolivier commented Aug 11, 2022

Again, nothing particularly informative in these logs unfortunately. Any particular things you're doing when experiencing this?

Nope, just started a video call. I had a few calls with Mathieu in the past few weeks and they worked fine, but I was using a different connection, so it's probably related to some broadband providers' network configs (though Jitsi didn't have this issue). We tried terminating the call and have him call me (I initiated the first call) and the issue was still there.

@dbkr
Copy link
Member

dbkr commented Aug 11, 2022

Hmm, network config is unlikely to make one stream work where the others were fine (unless it's a really, really low-bandwidth connection). If you are able to inspect the streams with webrtc-internals as above that could provide inspiration, or if there's a certain reliable way of reproducing it.

I'm going to remove the regression label as this was added when we thought it might be regressed by a certain PR, but it looks like it's not that simple.

@dbkr dbkr removed the X-Regression label Aug 11, 2022
@kittykat kittykat added the Z-Fixed by Element Call Issues which can be closed when we move to Element Call label Oct 3, 2022
@xBelladonna
Copy link

xBelladonna commented Jan 1, 2023

I have been experiencing this issue and perhaps a related one, but it may be the same thing. I call regularly with my friend and their webcam often starts black, but they have several cameras and toggling between them seems to fix the issue for the duration of the call. In addition, I also seem to experience the same problem, but I have no additional cameras. However, toggling the audio input device away from default and back again seems to do the trick oddly enough! Both of us see the same thing on our respective local machines: a 1:1 black square where our video previews should be, and receiving black frames from the other. I thought I'd comment here before opening a new issue both since it's possibly the same issue and also possibly fixed by Element Call. If it is indeed new, I can open another issue.

@MadLittleMods MadLittleMods removed the X-Needs-Info This issue is blocked awaiting information from the reporter label Mar 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-VoIP O-Occasional Affects or can be seen by some users regularly or most users rarely S-Critical Prevents work, causes data loss and/or has no workaround T-Defect X-Cannot-Reproduce Z-Fixed by Element Call Issues which can be closed when we move to Element Call Z-Rageshake Has attached rageshake (not for log submission process)
Projects
None yet
Development

No branches or pull requests