LizardByte / Sunshine

Self-hosted game stream host for Moonlight.
http://app.lizardbyte.dev/Sunshine/
GNU General Public License v3.0
19.35k stars 940 forks source link

Audio device keeps resetting to Streaming Speakers #2923

Open JordanAnthonyKing opened 3 months ago

JordanAnthonyKing commented 3 months ago

Is there an existing issue for this?

Is your issue described in the documentation?

Is your issue present in the latest beta/pre-release?

None

Describe the Bug

I'd like to have my PC's speakers be the default audio output, with the game audio only going to the streaming speaker device. When I change my output device back to my PC's speakers however it instantly switched back to the streaming speakers. I can manually set each application to come through the PC, but this is annoying.

Expected Behavior

Should be able to change the default audio device while streaming

Additional Context

No response

Host Operating System

Windows

Operating System Version

Win11 23H2

Architecture

64 bit

Sunshine commit or version

0.23.1

Package

Windows - installer

GPU Type

Nvidia

GPU Model

RTX4070 (Mobile)

GPU Driver/Mesa Version

560.70

Capture Method

None

Config

output_name = \\.\DISPLAY70
controller = disabled
keyboard = disabled

Apps

No response

Relevant log output

N/A
cgutman commented 3 months ago

Try setting the Audio Sink option in the A/V tab to "Steam Streaming Speakers"

JordanAnthonyKing commented 3 months ago

I misspoke, I'm using the desktop streaming to stream my second monitor not a game. Setting the audio sink options doesn't change anything, it still resets the device as soon as I change it.

ReenigneArcher commented 3 months ago

I can manually set each application to come through the PC, but this is annoying.

Sunshine doesn't manage application audio, so this is really the only way.

JordanAnthonyKing commented 3 months ago

Sunshine doesn't manage application audio, so this is really the only way.

But why is it resetting the output device of the entire system?

ReenigneArcher commented 3 months ago

By default Sunshine will use Steam streaming speakers while the stream is active, then revert back to the original default speakers when the stream is not active.

This is when "the play audio on host PC" option is disabled.

JordanAnthonyKing commented 3 months ago

This is when "the play audio on host PC" option is disabled.

I don't see this option in the settings?

ReenigneArcher commented 3 months ago

It's in Moonlight clients.

JordanAnthonyKing commented 3 months ago

Enabling that option prevents you from sending sound to each device separately

TheMourningDawn commented 2 months ago

I think I'm having a similar problem. The issue is that I start streaming to another client, and it (as expected) changes my audio device to the "Speakers (Steam streaming speakers)". That's all well and good. But unlike the past, I'm unable to change my audio device through windows to another device. It immediately switches back to the streaming speakers.

I want to use my Arctis 7 headphones for my entire system while I'm streaming. I used to be able to do this. I use the xbox game bar to join Xbox parties while playing games, and that uses the system audio. I'm not using the windows service, but the portable version, as I am using a pre-release version of Sunshine because I want to be able to use the new screen capture mode so that I can access the xbox game bar in my client.

This is what shows in the terminal every time I try to change my audio device and it switches back:

[2024:08:06:22:31:42]: Info: Resetting sink to [virtual-Stereo{0.0.0.00000000}.{f41a72e7-0902-4a5e-b43e-af04064711d8}] after default changed [2024:08:06:22:31:42]: Info: Changed virtual audio sink format to [S32 48000 2.0] [2024:08:06:22:31:42]: Info: Reinitializing audio capture [2024:08:06:22:31:42]: Info: Audio capture format is [F32 48000 2.0] [2024:08:06:22:31:43]: Info: Resetting sink to [virtual-Stereo{0.0.0.00000000}.{f41a72e7-0902-4a5e-b43e-af04064711d8}] after default changed [2024:08:06:22:31:43]: Info: Changed virtual audio sink format to [S32 48000 2.0] [2024:08:06:22:31:43]: Info: Reinitializing audio capture [2024:08:06:22:31:43]: Info: Audio capture format is [F32 48000 2.0]