1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-19 00:35:06 +00:00
serenity/Userland/Libraries/LibAudio/ConnectionFromClient.h
kleines Filmröllchen cb0e95c928 LibAudio+Everywhere: Rename Audio::Buffer -> Audio::LegacyBuffer
With the following change in how we send audio, the old Buffer type is
not really needed anymore. However, moving WavLoader to the new system
is a bit more involved and out of the scope of this PR. Therefore, we
need to keep Buffer around, but to make it clear that it's the old
buffer type which will be removed soon, we rename it to LegacyBuffer.
Most of the users will be gone after the next commit anyways.
2022-04-21 13:55:00 +02:00

40 lines
1.2 KiB
C++

/*
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AudioServer/AudioClientEndpoint.h>
#include <AudioServer/AudioServerEndpoint.h>
#include <LibIPC/ConnectionToServer.h>
namespace Audio {
class LegacyBuffer;
class ConnectionFromClient final
: public IPC::ConnectionToServer<AudioClientEndpoint, AudioServerEndpoint>
, public AudioClientEndpoint {
IPC_CLIENT_CONNECTION(ConnectionFromClient, "/tmp/portal/audio")
public:
void enqueue(LegacyBuffer const&);
bool try_enqueue(LegacyBuffer const&);
void async_enqueue(LegacyBuffer const&);
Function<void(i32 buffer_id)> on_finish_playing_buffer;
Function<void(bool muted)> on_main_mix_muted_state_change;
Function<void(double volume)> on_main_mix_volume_change;
Function<void(double volume)> on_client_volume_change;
private:
ConnectionFromClient(NonnullOwnPtr<Core::Stream::LocalSocket>);
virtual void finished_playing_buffer(i32) override;
virtual void main_mix_muted_state_changed(bool) override;
virtual void main_mix_volume_changed(double) override;
virtual void client_volume_changed(double) override;
};
}