Vencord / Vesktop

Vesktop is a custom Discord App aiming to give you better performance and improve linux support
GNU General Public License v3.0
4.44k stars 198 forks source link

[Bug] Vencord still streams audio when changing monitor and disabling audio without restarting stream #842

Open kode54 opened 2 months ago

kode54 commented 2 months ago

Discord Account

kode54

Operating System

Arch Linux

Linux Only ~ Desktop Environment

Wayfire

Package Type

AUR vesktop-bin

What happens when the bug or crash occurs?

When streaming my desktop, I can enable audio capture of an application, which then triggers two desktop selection popups with xdg-desktop-portal, but begins audio capture. However, if I use the desktop selector to disable audio capture by leaving it at the default setting of "None", it continues to capture audio until the stream is ended.

What is the expected behaviour?

The stream should switch audio sources when commanded to, or disable audio if possible.

How do you recreate this bug or crash?

  1. Start a video call
  2. Start a desktop stream at any supported resolution, with no audio
  3. Switch the stream source to include an application's audio
  4. Attempt to switch the stream source to None for audio without restarting the stream

Debug Logs

There was no crash. I can supply a log if it will help reproduce the issue.

Request Agreement

kode54 commented 2 months ago

I have determined that it's slightly different from what I originally posted.

It doesn't have anything to do with restarting the stream or not. Instead, it has to do with the audio source selector remembering what was last selected. It will still stay on the last app source selected, but upon opening the dialog again, the visible selection will always say "None". I have to manually select something else, such as the current selection, then select "None" again, to disable audio streaming.

(Minor aside, but at least under wlroots compositors, using any audio source other than "None", it will launch the xdg-desktop-portal-wlr screen selector a second time before beginning the video stream.)