Huw Davies (@huw) commented about dlls/mmdevapi/session.c:
extern void sessions_lock(void) DECLSPEC_HIDDEN; extern void sessions_unlock(void) DECLSPEC_HIDDEN;
-extern const IAudioClient3Vtbl AudioClient3_Vtbl; +void set_stream_volumes(struct audio_client *This) +{ + struct set_volumes_params params; + + params.stream = This->stream; + params.master_volume = (This->session->mute ? 0.0f : This->session->master_vol); + params.volumes = This->vols; + params.session_volumes = This->session->channel_vols; + + WINE_UNIX_CALL(set_volumes, ¶ms); +} I think it would make more sense to put this in `client.c` since it isn't really anything to do with a session.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2764#note_32225