mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 02:47:35 +00:00
AudioServer: Add a 'self_muted' state to each client connection
This new state will allow us to ignore muted clients when computing the 'output mix' in the Mixer.
This commit is contained in:
parent
ce5f5f543f
commit
bb747c471f
3 changed files with 18 additions and 0 deletions
|
@ -5,6 +5,8 @@ endpoint AudioServer
|
|||
// Mixer functions
|
||||
set_main_mix_muted(bool muted) => ()
|
||||
is_main_mix_muted() => (bool muted)
|
||||
set_self_muted(bool muted) => ()
|
||||
is_self_muted() => (bool muted)
|
||||
get_main_mix_volume() => (double volume)
|
||||
set_main_mix_volume(double volume) => ()
|
||||
get_self_volume() => (double volume)
|
||||
|
|
|
@ -149,4 +149,18 @@ void ClientConnection::set_main_mix_muted(bool muted)
|
|||
{
|
||||
m_mixer.set_muted(muted);
|
||||
}
|
||||
|
||||
Messages::AudioServer::IsSelfMutedResponse ClientConnection::is_self_muted()
|
||||
{
|
||||
if (m_queue)
|
||||
return m_queue->is_muted();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void ClientConnection::set_self_muted(bool muted)
|
||||
{
|
||||
if (m_queue)
|
||||
m_queue->set_muted(muted);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -49,6 +49,8 @@ private:
|
|||
virtual Messages::AudioServer::GetPlayingBufferResponse get_playing_buffer() override;
|
||||
virtual Messages::AudioServer::IsMainMixMutedResponse is_main_mix_muted() override;
|
||||
virtual void set_main_mix_muted(bool) override;
|
||||
virtual Messages::AudioServer::IsSelfMutedResponse is_self_muted() override;
|
||||
virtual void set_self_muted(bool) override;
|
||||
virtual void set_sample_rate(u32 sample_rate) override;
|
||||
virtual Messages::AudioServer::GetSampleRateResponse get_sample_rate() override;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue