[Impact]
On Dell platform with Microdia Integrated webcam, the Cheese preview is stuck on jammy. The gst-launch-1.0 command suggested by gst-device-monitor-1.0 can reproduce it too.
[Test Plan]
1. Install Jammy on the hardware issue reported, and hardware didn't report the issue to avoid the regression
hardware list:
a. 0bda:58ff Realtek Semiconductor Corp. Integrated_Webcam_HD
b. 0c45:6747 Microdia Integrated_Webcam_HD
c. 0c45:6a14 Microdia Integrated_Webcam_HD
d. 1bcf:28d0 Sunplus Innovation Technology Inc. Integrated_Webcam_5M
e. 04f2:b76b Chicony Electronics Co., Ltd HP HD Camera
f. 0408:545a Quanta Computer, Inc. HP 5MP Camera
g. 0408:5483 Quanta Computer, Inc. HP HD Camera
h. 174f:2459 Syntek Integrated Camera (ThinkBook 14 Gen 4)
i. 5986:116d Acer, Inc Integrated Camera (ThinkCentre Neo 50a)
j. 0bda:5556 Realtek Semiconductor Corp. Integrated_Webcam_FHD
2. try to install the updated pipewire packages (= 0.3.48-1ubuntu2)
3. $ sudo reboot
4. Check if gst-launch-1.0 work
a. $ gst-device-monitor-1.0 Video/Source to get caps and suggest gst-launch-1.0 command
b. $ gst-launch-1.0 pipewiresrc path=<id> ! <cap> ! decodebin ! videoconvert ! glimagesink
c. Check if the result ok
5. Check the screencast function by pressing 'prt sc'
a. the screenshot of all screen/selected region should work good
b. the screenrecord of all screen/selected region should work good
6. Check that video recording in gnome-shell works
- use Ctrl+Shift+Alt+R to start a recording, stop it from the indicator, verify that there is a new entry in ~/Video
7. Check that screen sharing is working
- go to settings, screen sharing and enable the feature
- try to connect using rdp/vnc from another client
do those steps under wayland and unset X
[Where problems could occur]
The patches try to dequeue the shared buffer, instead of pool buffer to prevent the pool buffer being corrupted. it might cause some camera preview failed if shared buffer is corrupted.
It is in upstream from 0.3.52 to 0.3.56, and there is no regression found,
so the risk is low.
[Other Info]
Upstream commits:
https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/7cc509b117a6db66c395fb56ac4f17fb8cbd0c92
https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a1f33a99df5756c3dedd68f5ba2690819098d14f
apport information