[client] audio: provide option to prevent volume level sync

This commit is contained in:
Geoffrey McRae 2023-04-16 19:10:04 +10:00
parent 9759b5aa8f
commit 4f4cf2be7d
3 changed files with 13 additions and 2 deletions

View File

@ -432,7 +432,8 @@ void audio_playbackStop(void)
void audio_playbackVolume(int channels, const uint16_t volume[]) void audio_playbackVolume(int channels, const uint16_t volume[])
{ {
if (!audio.audioDev || !audio.audioDev->playback.volume) if (!audio.audioDev || !audio.audioDev->playback.volume ||
!g_params.audioSyncVolume)
return; return;
// store the values so we can restore the state if the stream is restarted // store the values so we can restore the state if the stream is restarted
@ -887,7 +888,8 @@ void audio_recordToggleKeybind(int sc, void * opaque)
void audio_recordVolume(int channels, const uint16_t volume[]) void audio_recordVolume(int channels, const uint16_t volume[])
{ {
if (!audio.audioDev || !audio.audioDev->record.volume) if (!audio.audioDev || !audio.audioDev->record.volume ||
!g_params.audioSyncVolume)
return; return;
// store the values so we can restore the state if the stream is restarted // store the values so we can restore the state if the stream is restarted

View File

@ -517,6 +517,13 @@ static struct Option options[] =
.type = OPTION_TYPE_BOOL, .type = OPTION_TYPE_BOOL,
.value.x_bool = true .value.x_bool = true
}, },
{
.module = "audio",
.name = "syncVolume",
.description = "Synchronize the volume level with the guest",
.type = OPTION_TYPE_BOOL,
.value.x_bool = true
},
{0} {0}
}; };
@ -710,6 +717,7 @@ bool config_load(int argc, char * argv[])
g_params.audioPeriodSize = option_get_int("audio", "periodSize"); g_params.audioPeriodSize = option_get_int("audio", "periodSize");
g_params.audioBufferLatency = option_get_int("audio", "bufferLatency"); g_params.audioBufferLatency = option_get_int("audio", "bufferLatency");
g_params.micShowIndicator = option_get_bool("audio", "micShowIndicator"); g_params.micShowIndicator = option_get_bool("audio", "micShowIndicator");
g_params.audioSyncVolume = option_get_bool("audio", "syncVolume");
return true; return true;
} }

View File

@ -221,6 +221,7 @@ struct AppParams
int audioBufferLatency; int audioBufferLatency;
bool micShowIndicator; bool micShowIndicator;
enum MicDefaultState micDefaultState; enum MicDefaultState micDefaultState;
bool audioSyncVolume;
}; };
struct CBRequest struct CBRequest