Bug 482972 - Camera indicator is ineffective and show cameras multiple times.
Summary: Camera indicator is ineffective and show cameras multiple times.
Status: CONFIRMED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Camera Indicator widget (show other bugs)
Version: master
Platform: Arch Linux Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2024-03-09 12:09 UTC by 0BADC0DE
Modified: 2024-11-16 13:24 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Screenshot of the camera indicator while the "WEB CAM"is actually in use. (89.68 KB, image/png)
2024-03-09 12:09 UTC, 0BADC0DE
Details
Camera issue (140.21 KB, image/png)
2024-03-12 15:05 UTC, Shubham Arora
Details

Note You need to log in before you can comment on or make changes to this bug.
Description 0BADC0DE 2024-03-09 12:09:10 UTC
Created attachment 166789 [details]
Screenshot of the camera indicator while the "WEB CAM"is actually in use.

The indicator shows more cameras than actually present and doesn't really show which one is in use.


STEPS TO REPRODUCE
1.  Open a meeting with Google Meet
2.  Enable Camera
3. Check the camera indicator

OBSERVED RESULT
No camera is in use

EXPECTED RESULT
1 camera is in use.

SOFTWARE/OS VERSIONS
Kernel Version : 6.7.9.zen1-1
Plasma Version : 6.0.1-1
KDE Version : 24.02.0-1
Frameworks Version : 5.115.0-1
Qt5 Version : 5.15.12+kde+r10-1
Qt6 Version : 6.6.2-4
Wayland Version : 1.22.0-1
XOrg/Wayland Version : 23.2.4-2
Mesa Version : 1:24.0.2-2
LibVA Version : 2.20.0-1
VDPAU Version : 1.5-2

ADDITIONAL INFORMATION
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 17ef:a391 Lenovo USB3.1 Hub
Bus 002 Device 003: ID 17ef:a387 Lenovo USB-C Dock Ethernet
Bus 002 Device 004: ID 2109:0820 VIA Labs, Inc. VL820 Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 17ef:a392 Lenovo USB2.0 Hub
Bus 003 Device 003: ID 04f2:b684 Chicony Electronics Co., Ltd Chicony USB2.0 Camera # << BUILTIN CAMERA
Bus 003 Device 005: ID 1b3f:1167 Generalplus Technology Inc. WEB CAM # << EXTERNAL USB CAMERA
Bus 003 Device 006: ID 2109:2820 VIA Labs, Inc. VL820 Hub
Bus 003 Device 007: ID 17ef:a395 Lenovo USB2.0 Hub
Bus 003 Device 008: ID 0925:1234 Lakeview Research UPS USB Mon V2.0
Bus 003 Device 009: ID 17ef:a38f Lenovo 40AS
Bus 003 Device 010: ID 17ef:a396 Lenovo ThinkPad USB-C Dock Gen2 USB Audio
Bus 003 Device 011: ID 413c:2113 Dell Computer Corp. KB216 Wired Keyboard
Bus 003 Device 012: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse
Bus 003 Device 013: ID 8087:0029 Intel Corp. AX200 Bluetooth
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Comment 1 Fushan Wen 2024-03-12 14:52:04 UTC
This is not easily solvable because pipewire provides the two cameras from different libraries.
Comment 2 Shubham Arora 2024-03-12 14:57:30 UTC
In that case can we switch to v4l2 (OBS uses this) till pipewire has the correct API because this effectively makes the applet useless. We can maybe have a configuration in applet to switch to pipewire implementation.
Comment 3 Fushan Wen 2024-03-12 15:00:50 UTC
The purpose is to indicate any camera is working, and it serves its purpose faithfully. What do you mean by "useless"?
Comment 4 0BADC0DE 2024-03-12 15:04:45 UTC
If Fushan Wen is right, pipewire is an unreliable source of information.
The widget is using is so it inherits and adds unreliability.
Maybe "useless" is too much. But "not useful at all" seems quite right.
Comment 5 Shubham Arora 2024-03-12 15:05:12 UTC
Created attachment 167043 [details]
Camera issue

It does not serve that purpose. In the attachment I have my camera enabled. Still both items show as suspended. Same if it is disabled.
Comment 6 Fushan Wen 2024-03-12 15:07:20 UTC
Yeah it's a problem for applications that do not use v4l2, and can be worked around by using the v4l2 bridge, other than that I am not aware of an easy solution.
Comment 7 Shubham Arora 2024-03-12 15:09:25 UTC
(In reply to 0BADC0DE from comment #4)
> If Fushan Wen is right, pipewire is an unreliable source of information.
> The widget is using is so it inherits and adds unreliability.
> Maybe "useless" is too much. But "not useful at all" seems quite right.

Yeah, could have phrased it better. I am all for using pipewire here (it is future proof) but I don't know if it provides the API to enable or disable a camera. I also want this applet (with a associated kcm if needed) to be able to adjust hue, saturation brightness etc.
Comment 8 Shubham Arora 2024-03-12 15:11:51 UTC
(In reply to Fushan Wen from comment #6)
> Yeah it's a problem for applications that do not use v4l2, and can be worked
> around by using the v4l2 bridge, other than that I am not aware of an easy
> solution.

I agree, In the current solution the camera indicator is only shown in case the application goes through pipewire. In obs no indicator is shown. Either way it is half a solution.
Comment 9 0BADC0DE 2024-03-12 15:13:10 UTC
(In reply to Shubham Arora from comment #7)
> Yeah, could have phrased it better. I am all for using pipewire here (it is
> future proof) but I don't know if it provides the API to enable or disable a
> camera. I also want this applet (with a associated kcm if needed) to be able
> to adjust hue, saturation brightness etc.

Maybe pipewire **WILL** be future proof. As of now, it not present proof as far as this specific feature is concerned.
Simply we should not use something just because it's there and maybe will work flawlessly in the future.