Pipewiresrc: Embedding cursor in the stream buffers can cause weird flashing issues
Version, Distribution, Desktop Environment:
- libpipewire 0.3.32
- Fedora 34 Workstation
- GNOME 40.3
Description of Problem:
When you choose to embed the cursor in stream buffers (An option in screencast desktop portal), it could cause flashing everytime you move the cursor/mouse.
How Reproducible:
Always
Steps to Reproduce:
- Create a session through xdg-desktop-portal's screencast
- Make sure to set cursor mode as embedded in select sources, and multiple to true
- Select a single window
- Create a gst pipeline as following: pipewiresrc -> videoconvert -> vp8enc -> webmmux -> filesink
- Set the fd and node_id to pipewiresrc
- Set state to playing
Actual Results:
The video flashes every time the cursor moves.
Expected Results:
The video should stay as it is, even the cursor moves
pw-dump -N > file
(As Attachment Please):
Additional Info Eg. Everytime the cursor moves, GST_DEBUG=3
outputs this:
0:00:14.290156588 2 0x7f007008b000 ERROR default video-frame.c:181:gst_video_frame_map_id: invalid buffer size 0 < 7056000
0:00:14.290210462 2 0x7f007008b000 WARN videofilter gstvideofilter.c:292:gst_video_filter_transform:<videoconvert1> warning: invalid video buffer received