WebRTC not working since Firefox 51 on Windows Server 2012R2/Windows 7

UNCONFIRMED
Unassigned

Status

()

Core
WebRTC
P4
normal
Rank:
35
UNCONFIRMED
5 months ago
4 months ago

People

(Reporter: peval27, Unassigned, NeedInfo)

Tracking

51 Branch
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [needinfo to reporter 2107-09-13])

Attachments

(1 attachment)

(Reporter)

Description

5 months ago
User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0
Build ID: 20170814072924

Steps to reproduce:

1. Using Firefox pre-51 or other browser and camera/mic connect to https://appr.tc/  and create a new room
2. On a different Windows 2012R2 PC (or Windows 7) and Firefox 51 or latest (i.e. 54) join the same room.


Actual results:

On the machine with Firefox 51 and Windows 2012R2, the video doesn't appear.


Expected results:

Video call demo.

Updated

5 months ago
Component: Untriaged → WebRTC
Product: Firefox → Core
(Reporter)

Comment 1

5 months ago
Created attachment 8898288 [details]
aboutWebrtc showind WebRTC failure.

10.1.20.155 is the PC with Windows 2012R2 and Firefox 51
Nothing stood out to me in the log, though I didn't look closely.

Does audio work?  Does this combination of machines/browsers work with appear.in?  (https://appear.in/randomroom)

I'd be rather surprised if windows 7 didn't work, so I suspect a problem with the shim JS layer (adapter.js) used by appr.tc not handling some difference between pre-51 and 51+.
Flags: needinfo?(peval27)

Updated

5 months ago
Whiteboard: [needinfo to reporter 2107-08-18]
(Reporter)

Comment 3

5 months ago
(In reply to Randell Jesup [:jesup] from comment #2)

> Does audio work? Does this combination of machines/browsers work with
> appear.in?  (https://appear.in/randomroom)

This is a great question.
It wasn't working on appear.in (I tried yesterday before using appr.tc). Then when you asked about audio, I enabled audio on my machine and this time when joining appear.in Firefox 51 asked access to microphone. Once accepted, video magically worked. 
I think this behaviour is weird since I can see a video conference on appear.in just to share the screen, so without mic/audio.

I am currently using Windows 2012R2 but one of my colleague confirmed on Windows 7.
Flags: needinfo?(peval27)
(Reporter)

Comment 4

5 months ago
(In reply to peval27 from comment #3)

> Then when you asked about audio, I enabled audio on my machine

This is actually the issue. On Windows Server 2012R2 the Windows Audio Service was disabled (I believe it's a default configuration since I didn't disable it). Once enabled, appear.in started working even NOT allowing access to mic/cam.
Hope this helps to understand the issue better.
(In reply to peval27 from comment #3)
> (In reply to Randell Jesup [:jesup] from comment #2)
> 
> > Does audio work? Does this combination of machines/browsers work with
> > appear.in?  (https://appear.in/randomroom)
> 
> This is a great question.
> It wasn't working on appear.in (I tried yesterday before using appr.tc).
> Then when you asked about audio, I enabled audio on my machine and this time
> when joining appear.in Firefox 51 asked access to microphone. Once accepted,
> video magically worked. 

If audio isn't enabled, sites that use audio like appr.tc and appear.in will not work.  Spec is that if you ask for something that isn't available, the entire request fails.  It used to be that we would allow requests like that to get the other type (typically this was someone asking for audio+video on a machine with only audio).  We've taught developers that the spec requires them to try audio-only if audio+video fail.  I believe none of these sites will work (or try to fall back) with a system with just video, though you could code a site to work with it.

> I think this behaviour is weird since I can see a video conference on
> appear.in just to share the screen, so without mic/audio.

I'm not sure how to parse that sentence.
(In reply to peval27 from comment #4)
> (In reply to peval27 from comment #3)
> 
> > Then when you asked about audio, I enabled audio on my machine
> 
> This is actually the issue. On Windows Server 2012R2 the Windows Audio
> Service was disabled (I believe it's a default configuration since I didn't
> disable it). Once enabled, appear.in started working even NOT allowing
> access to mic/cam.
> Hope this helps to understand the issue better.

"appear.in started working even NOT allowing access to mic/cam."

Can you be more detailed?  what does "started working" here mean?  Do you mean it asks for mic/cam access, you select deny, but it captures anyways?  (I hope not.)  Did you ever tell it to remember a permission to use the mic/camera on this (these) sites?

Can you try "Audio/Video" on https://mozilla.github.io/webrtc-landing/gum_test.html  ?  Thanks!
Flags: needinfo?(peval27)
(Reporter)

Comment 7

5 months ago
(In reply to Randell Jesup [:jesup] from comment #6)

> "appear.in started working even NOT allowing access to mic/cam."
> 
> Can you be more detailed?  what does "started working" here mean?  Do you
> mean it asks for mic/cam access, you select deny, but it captures anyways? 
> (I hope not.) 

What I meant is: I was able to see the video (and listen to the audio) from the other guest in the room.

> Did you ever tell it to remember a permission to use the
> mic/camera on this (these) sites?

Nope.

> Can you try "Audio/Video" on
> https://mozilla.github.io/webrtc-landing/gum_test.html  ?  Thanks!

It gives me "NotFoundError: The object can not be found here."
Flags: needinfo?(peval27)
(Reporter)

Comment 8

5 months ago
(In reply to Randell Jesup [:jesup] from comment #5)
> > I think this behaviour is weird since I can see a video conference on
> > appear.in just to share the screen, so without mic/audio.
> 
> I'm not sure how to parse that sentence.

Apologies if it's not clear. I believe that if somebody doesn't have audio on their PC (or cannot enable), it's still useful to have a videoconference to share the screen and maybe in the meantime call each other on standard phone.
Now that you explained me how WebRTC works (i.e. audio+video request fails if audio is not available), the behaviour makes sense.
Ok, this is working as specced.  The app needs to retry without audio if it wants to support that case.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 4 months ago
Resolution: --- → INVALID
(Reporter)

Comment 10

4 months ago
(In reply to Randell Jesup [:jesup] from comment #9)
> Ok, this is working as specced.  The app needs to retry without audio if it
> wants to support that case.

The behaviour is the same if I use only Video in the https://mozilla.github.io/webrtc-landing/gum_test.html
Status: RESOLVED → UNCONFIRMED
Flags: needinfo?(rjesup)
Resolution: INVALID → ---
Ok, if it's failing on video-only on gum_test.html, please:
1) give an exact set of what you did (likely browse to gum_test.html, click Video, then select the video camera and Accept)
2) Please try running it with these env vars: (using Firefox 55 or later, or firefox 52ESR (if so, change to NSPR_LOG_MODULES and NSPR_LOG_FILE):

MOZ_LOG=MediaManager:5,GetUserMedia:5
MOZ_LOG_FILE=%TEMP%\moz.log

(start from a commandline, or go to about:networking and use Logging to set the logfile and module list, and Start Logging)
Note that in (normal) multi-process firefox, you'll get a moz.log and a moz.log.child-NNNN or some such - one per content process.
Then attach the logs here.
3) Detail the OS version, and the camera being used.  Also verify if the camera works in Chrome with https://mozilla.github.io/webrtc-landing/gum_test.html

Thanks
Flags: needinfo?(rjesup) → needinfo?(peval27)
Rank: 35
Priority: -- → P4
Whiteboard: [needinfo to reporter 2107-08-18] → [needinfo to reporter 2107-09-13]
You need to log in before you can comment on or make changes to this bug.