diff --git a/Ladybird/AudioCodecPluginLadybird.cpp b/Ladybird/AudioCodecPluginLadybird.cpp index 8baf41a9c2..894ccd13f0 100644 --- a/Ladybird/AudioCodecPluginLadybird.cpp +++ b/Ladybird/AudioCodecPluginLadybird.cpp @@ -86,4 +86,9 @@ void AudioCodecPluginLadybird::playback_ended() m_audio_output->suspend(); } +void AudioCodecPluginLadybird::set_volume(double volume) +{ + m_audio_output->setVolume(volume); +} + } diff --git a/Ladybird/AudioCodecPluginLadybird.h b/Ladybird/AudioCodecPluginLadybird.h index bd17f1d778..5519e3fc1b 100644 --- a/Ladybird/AudioCodecPluginLadybird.h +++ b/Ladybird/AudioCodecPluginLadybird.h @@ -31,6 +31,8 @@ public: virtual void pause_playback() override; virtual void playback_ended() override; + virtual void set_volume(double) override; + private: AudioCodecPluginLadybird(NonnullOwnPtr, NonnullOwnPtr); diff --git a/Userland/Libraries/LibWeb/Platform/AudioCodecPlugin.h b/Userland/Libraries/LibWeb/Platform/AudioCodecPlugin.h index 0f759706a0..8626eee61c 100644 --- a/Userland/Libraries/LibWeb/Platform/AudioCodecPlugin.h +++ b/Userland/Libraries/LibWeb/Platform/AudioCodecPlugin.h @@ -30,6 +30,8 @@ public: virtual void pause_playback() = 0; virtual void playback_ended() = 0; + virtual void set_volume(double) = 0; + protected: AudioCodecPlugin(); }; diff --git a/Userland/Services/WebContent/AudioCodecPluginSerenity.cpp b/Userland/Services/WebContent/AudioCodecPluginSerenity.cpp index 0632504a87..5c6d31b951 100644 --- a/Userland/Services/WebContent/AudioCodecPluginSerenity.cpp +++ b/Userland/Services/WebContent/AudioCodecPluginSerenity.cpp @@ -56,4 +56,9 @@ void AudioCodecPluginSerenity::playback_ended() m_connection->async_clear_buffer(); } +void AudioCodecPluginSerenity::set_volume(double volume) +{ + m_connection->async_set_self_volume(volume); +} + } diff --git a/Userland/Services/WebContent/AudioCodecPluginSerenity.h b/Userland/Services/WebContent/AudioCodecPluginSerenity.h index 39bf6a31cb..b188d6a613 100644 --- a/Userland/Services/WebContent/AudioCodecPluginSerenity.h +++ b/Userland/Services/WebContent/AudioCodecPluginSerenity.h @@ -28,6 +28,8 @@ public: virtual void pause_playback() override; virtual void playback_ended() override; + virtual void set_volume(double) override; + private: explicit AudioCodecPluginSerenity(NonnullRefPtr);