Skip to content

Camera live picture cannot be selected in Firefox on Linux #17543

Description

@ComputerSnail

What happened?

Hi, we have the problem that the webcam video is not working in Firefox on Linux (Debian), while it works perfectly on the same systems when using Chromium browser. One affected system is a Lenovo Thinkpad T14 Gen3 on Debian Linux oldstable, running the ESR Firefox from the Debian package repository.

When you start or join a meeting, you are asked for camera and microphone permissions, which works fine. But then in the meeting you only see the first capital letter of your name in a blue circle filling the screen. In the toolbar at the bottom of the window, you can choose the camera button: You can open the camera menu and actually SEE the live webcam video as a small thumbnail! But you can't pick the camera video to be used as your Jitsi input source.

Image

The browser console shows this error message:
[app:tracks] <gc/</<>: Failed to create local tracks Array [ "video" ] TypeError: can't access property "ideal", t.height is undefined jo JitsiLocalTrack.ts:194

Could it be a problem with Firefox expecting more/other data for the JavaScript getUserMedia(...) API? https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia

The problem might be related to #10682 but clearing cookies and cache do not help.

Platform

  • Chrome (or Chromium based)
  • Firefox
  • Safari
  • Other desktop browser
  • Android browser
  • iOS browser
  • Electron app
  • Android mobile app
  • iOS mobile app
  • Custom app using a mobile SDK

Browser / app / sdk version

Debian Firefox ESR 140.12.0esr-1~deb12u1

Relevant log output

2026-06-24T09:09:36.290Z [DEBUG] [app:base-conference] <eee>:  Wake lock released Logger.js:158:27
2026-06-24T09:09:37.778Z [DEBUG] [app:base-conference] <Q9/<>:  Wake lock created. Logger.js:158:27
2026-06-24T09:10:07.763Z [DEBUG] [app:tracks] <gc/<>:  (TIME) loadEffects() start=237444, end=237456, time=12 Logger.js:158:27
2026-06-24T09:10:07.764Z [INFO] [rtc:RTCUtils] <624/obtainAudioAndVideoPermissions/o<>:  Got media constraints:  {"video":{"frameRate":{"max":30,"min":15}},"audio":false} Logger.js:158:27
2026-06-24T09:10:08.185Z [INFO] [rtc:RTCUtils] <624/_getUserMedia/</<>:  onUserMediaSuccess Logger.js:158:27
2026-06-24T09:10:08.187Z [ERROR] [app:tracks] <gc/</<>:  Failed to create local tracks
Array [ "video" ]
 TypeError: can't access property "ideal", t.height is undefined
    jo JitsiLocalTrack.ts:194
    Ja RTC.js:67
    Ja RTC.js:49
    obtainAudioAndVideoPermissions RTC.js:187
    promise callback*obtainAudioAndVideoPermissions RTC.js:187
    createLocalTracks JitsiMeetJS.ts:205
    gc functions.web.ts:56
    promise callback*gc functions.web.ts:50
    XD actions.any.ts:113
    R7 Redux
    <anonymous> middleware.ts:20
    <anonymous> middleware.ts:194
    <anonymous> middleware.ts:19
    <anonymous> middleware.ts:14
    <anonymous> middleware.web.ts:23
    <anonymous> middleware.any.ts:40
    <anonymous> middleware.ts:38
    <anonymous> middleware.ts:80
    <anonymous> middleware.ts:60
    <anonymous> middleware.ts:72
    <anonymous> middleware.ts:43
    <anonymous> middleware.ts:267
    <anonymous> middleware.ts:28
    <anonymous> middleware.ts:155
    <anonymous> middleware.ts:7
    <anonymous> middleware.ts:37
    <anonymous> middleware.ts:22
    <anonymous> middleware.ts:101
    <anonymous> middleware.ts:66
    <anonymous> middleware.ts:50
    <anonymous> middleware.web.ts:35
    <anonymous> middleware.web.ts:19
    <anonymous> middleware.any.ts:52
    <anonymous> middleware.ts:60
    <anonymous> middleware.web.ts:273
    <anonymous> middleware.ts:67
    <anonymous> middleware.ts:21
Logger.js:158:27
    i Logger.js:158
    gc functions.web.ts:71
    (Async: promise callback)
    gc functions.web.ts:70
    (Async: promise callback)
    gc functions.web.ts:50
    XD actions.any.ts:113
    R7 Redux
    <anonym> middleware.ts:20
    <anonym> middleware.ts:194
    <anonym> middleware.ts:19
    <anonym> middleware.ts:14
    <anonym> middleware.web.ts:23
    <anonym> middleware.any.ts:40
    <anonym> middleware.ts:38
    <anonym> middleware.ts:80
    <anonym> middleware.ts:60
    <anonym> middleware.ts:72
    <anonym> middleware.ts:43
    <anonym> middleware.ts:267
    <anonym> middleware.ts:28
    <anonym> middleware.ts:155
    <anonym> middleware.ts:7
    <anonym> middleware.ts:37
    <anonym> middleware.ts:22
    <anonym> middleware.ts:101
    <anonym> middleware.ts:66
    <anonym> middleware.ts:50
    <anonym> middleware.web.ts:35
    <anonym> middleware.web.ts:19
    <anonym> middleware.any.ts:52
    <anonym> middleware.ts:60
    <anonym> middleware.web.ts:273
    <anonym> middleware.ts:67
    <anonym> middleware.ts:21

Reproducibility

  • The problem is reproducible on meet.jit.si

More details?

root@vmjitsi ~ # dpkg -l | grep jitsi
ii  jitsi-meet                        2.0.11031-1                          all          WebRTC JavaScript video conferences
ii  jitsi-meet-prosody                1.0.9268-1                           all          Prosody configuration for Jitsi Meet
ii  jitsi-meet-turnserver             1.0.9268-1                           all          Configures coturn to be used with Jitsi Meet
ii  jitsi-meet-web                    1.0.9268-1                           all          WebRTC JavaScript video conferences
ii  jitsi-meet-web-config             1.0.9268-1                           all          Configuration for web serving of Jitsi Meet
ii  jitsi-videobridge2                2.3-295-g8d5c0037b-1                 all          WebRTC compatible Selective Forwarding Unit (SFU)
ii  lua-basexx                        0.4.1-jitsi1                         all          baseXX encoding/decoding library for Lua
ii  lua-cjson:amd64                   2.1.0.10-jitsi1                      amd64        JSON parser/encoder for Lua

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions