Bug 268725 - www/chromium: Microsoft Teams now refuses to use some webcams made by Logitech
Summary: www/chromium: Microsoft Teams now refuses to use some webcams made by Logitech
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-chromium (Nobody)
URL:
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2023-01-02 19:06 UTC by Marek Zarychta
Modified: 2023-05-03 11:00 UTC (History)
3 users (show)

See Also:
bugzilla: maintainer-feedback? (chromium)


Attachments
Screenshot: preparing to switch on (38.02 KB, image/png)
2023-01-04 00:47 UTC, Graham Perrin
no flags Details
Screenshot: switched on (274.04 KB, image/png)
2023-01-04 00:55 UTC, Graham Perrin
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marek Zarychta 2023-01-02 19:06:51 UTC
I have not tried teleconferencing on Microsoft Teams for a few months, but it worked fine the last time I checked. Now the webcam is not detected, but using a webcam for a conference in another web app with Chromium, for example Nextcloud Talk, works fine. In Microsoft Teams selecting the webcam instead of the device, one can see [object Object] item like in the image below[1]. That's probably side-effect of some changes on Teams side, but under other OSes, the webcam is still supported. 

[1] https://i.imgur.com/y7GfHQ7.png
Comment 1 Graham Perrin freebsd_committer freebsd_triage 2023-01-04 00:47:55 UTC
Created attachment 239244 [details]
Screenshot: preparing to switch on

(In reply to Marek Zarychta from comment #0)

> … webcam is not detected, …

Not reproducible here. 

In a channel:

1. Meet menu
2. Meet now
3. switch on

----

% pkg info -x chromium 
chromium-108.0.5359.124
% freebsd-version -kru ; uname -aKU
14.0-CURRENT
14.0-CURRENT
14.0-CURRENT
FreeBSD mowa219-gjp4-8570p-freebsd 14.0-CURRENT FreeBSD 14.0-CURRENT #28 main-n259865-b079ca8593ed-dirty: Tue Dec 27 15:57:33 GMT 2022     grahamperrin@mowa219-gjp4-8570p-freebsd:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG amd64 1400077 1400077
% pkg -vv | grep -e url -e enabled -e priority
    url             : "http://pkg0.bme.freebsd.org/FreeBSD:14:amd64/latest",
    enabled         : yes,
    priority        : 4,
    url             : "https://alpha.pkgbase.live/current/FreeBSD:14:amd64/latest",
    enabled         : no,
    priority        : 0,
    url             : "file:///usr/local/poudriere/data/packages/main-default",
    enabled         : yes,
    priority        : 3
%
Comment 2 Graham Perrin freebsd_committer freebsd_triage 2023-01-04 00:55:46 UTC
Created attachment 239245 [details]
Screenshot: switched on

A traditional biscuit barrel in front of the camera, because I'm shy, somewhat old-fashioned, and prone to nibbling after midnight. 

Chromium here works with the webcam that's integral to an HP EliteBook 8570p. Probed after quitting Chromium: <https://bsd-hardware.info/?probe=17f5e2e3d2>.

----

Marek, which version of www/chromium, exactly? 

Which version of FreeBSD, exactly? 

Packages from quarterly or latest?
Comment 3 Marcin Cieślak 2023-03-28 11:06:58 UTC
I have the same (this was also true from my previous 107.0.5304.110)


> pkg info -x chromium && freebsd-version -kru ; uname -aKU && pkg -vv | grep -e url -e enabled -e priority
chromium-111.0.5563.64_1
14.0-CURRENT
14.0-CURRENT
14.0-CURRENT
FreeBSD radziecki 14.0-CURRENT FreeBSD 14.0-CURRENT #6 main-ea6d1692666: Tue Mar 21 08:50:53 CET 2023     saper@radziecki:/big/obj/usr/src/amd64.amd64/sys/VAIO amd64 1400083 1400083
    url             : "pkg+http://pkg.FreeBSD.org/FreeBSD:14:amd64/latest",
    enabled         : yes,
    priority        : 0,
    url             : "pkg+http://dist.6speed.de/eleven64-default",
    enabled         : no,
    priority        : 1,
    url             : "pkg+http://dist.6speed.de/eleven64-chromium",
    enabled         : no,
    priority        : 1,

What definitely should be noted here is the webcam:

ugen7.9: <vendor 0x046d product 0x0991> at usbus7, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)


It also has an audio interface "pcm3: <USB audio> (rec)"
> sudo webcamd -d 7.9
webcamd 78872 - - Attached to ugen7.9[0]
webcamd 78872 - - Creating /dev/video0
webcamd 78872 - - Creating /dev/video1

(also did "chown myuser /dev/video*")

The webcam gets detected by various apps, only not by Teams.

The LED starts to turn on when starting a Teams call. 

Works fine with https://webtamtests.com/ in another tab.
Comment 4 Marcin Cieślak 2023-03-28 11:26:33 UTC
Also tried the following from the developer console of where Teams were open:

function gotMedia(mediaStream) {
    const mediaStreamTrack = mediaStream.getVideoTracks()[0];
    const imageCapture = new ImageCapture(mediaStreamTrack);
    console.log(imageCapture);
}
navigator.mediaDevices.getUserMedia({video: true})
    .then(gotMedia)
    .catch(error => console.error('getUserMedia() error:', error));
Promise {<pending>}

ImageCapture {track: MediaStreamTrack}
track: MediaStreamTrackcontent
Hint: ""enabled: 
trueid: "25b1e53b-e0ca-4315-883d-04c315c0a44e"
kind: "video"
label: ""
muted: false
oncapturehandlechange: null
onended: null
onmute: null
onunmute: null
readyState: "live"

(plus some object prototypes)
Comment 5 Marek Zarychta 2023-03-28 17:45:39 UTC
(In reply to Marcin Cieślak from comment #4)

Thanks for the report, Marcin. The webcam on MS Teams doesn't work for me only on my home desktop, it works fine on my laptop and workstation at @work, so to reproduce one needs probably a specific model of the webcam. So far, the only similarity I found is the webcam being detected as nameless too:
  
ugen5.2: <vendor 0x046d product 0x09a5> at usbus5
Comment 6 Marcin Cieślak 2023-03-28 19:24:59 UTC
Maybe it's just that no-name thing and lack of a proper label? Do other webcams have the label returned by that little piece of Javascript?

(0x046d is Logitech, by the way)
Comment 7 Marcin Cieślak 2023-03-29 07:28:47 UTC
Everyone: can you install ffmpeg with V4L enabled (should be the default) and check what compression formats are supported for working/non working cameras?

Not working "Logitech Quickcam Pro for Notebooks":

ugen7.2: <vendor 0x046d product 0x0991> at usbus7, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)


[video4linux2,v4l2 @ 0x85a90d000] Compressed:       mjpeg :          Motion-JPEG : 160x120 176x144 320x240 352x288 640x480 800x600 960x720
[video4linux2,v4l2 @ 0x85a90d000] Raw       :     yuyv422 :           YUYV 4:2:2 : 160x120 176x144 320x240 352x288 640x480 800x600 960x720 1600x1200
Comment 8 Marek Zarychta 2023-03-29 07:38:03 UTC
When I checked for the last time, the webcam worked or rather started to work and be usable after choosing some background effects, so it's probably not a codec issue.
Comment 9 Marcin Cieślak 2023-03-29 07:51:07 UTC
(In reply to Marcin Cieślak from comment #7)
Forgot to add the command to check:

ffmpeg -f v4l2 -list_formats all -i /dev/video0
Comment 10 Marcin Cieślak 2023-03-29 07:53:01 UTC
(In reply to Marek Zarychta from comment #8)

I don't even get that far. "Your camera is turned off" the black window says and the controls are disabled.
Comment 11 Marek Zarychta 2023-03-29 19:41:04 UTC
(In reply to Marcin Cieślak from comment #10)
No worries. Please join the meeting, then try to change the background effect - it will enable the webcam.
Comment 12 Marcin Cieślak 2023-03-29 23:11:25 UTC
Doesn't seem to help. When I select device setup I can see "[object Object]", but trying to enable the webcam during the meeting brings one rectangular dark window with nothing inside (except for the close icon).
Comment 13 Marcin Cieślak 2023-05-03 11:00:45 UTC
I have now installed Dell WB7022 which seems to report its proper name and it works in Teams...