16#include <unordered_map>
31 bool init(std::string_view recordingDeviceName = {});
39 [[nodiscard]]
const std::vector<SpeakingState>&
speaking() const noexcept {
return speaking_; }
Network client identifier component for multiplayer entities.
Shared ECS registry type alias for the game engine.
entt::registry Registry
Shared ECS registry type alias.
Definition Registry.hpp:11
SDL recording plus Opus encoding for push-to-talk voice chat.
Thin RAII wrappers around the Opus encoder and decoder used by voice chat.
Small bounded sequence buffer for unreliable voice frames.
Bounded Opus voice-frame packet helpers.
TCP stream client — sends input to the server and receives state updates.
Definition Client.hpp:69
Client-side sound effects system.
Definition SfxSystem.hpp:50
Definition VoiceCapture.hpp:16
Definition VoiceChatSystem.hpp:23
std::vector< SpeakingState > speaking_
Definition VoiceChatSystem.hpp:56
std::vector< net::voice::ServerVoiceFrame > pendingFrames_
Definition VoiceChatSystem.hpp:57
std::mutex pendingMutex_
Definition VoiceChatSystem.hpp:58
const std::vector< SpeakingState > & speaking() const noexcept
Definition VoiceChatSystem.hpp:39
void quit()
Definition VoiceChatSystem.cpp:25
bool transmitting() const noexcept
Definition VoiceChatSystem.hpp:38
void drainSpeaker(ClientId speaker, RemoteSpeaker &remote, const Registry ®istry, SfxSystem &sfx)
Definition VoiceChatSystem.cpp:106
void setPushToTalk(bool active)
Definition VoiceChatSystem.cpp:35
void setRecordingDeviceName(std::string_view name)
Definition VoiceChatSystem.cpp:40
bool init(std::string_view recordingDeviceName={})
Definition VoiceChatSystem.cpp:16
bool lookupSpeakerTransform(const Registry ®istry, ClientId speaker, glm::vec3 &position, glm::vec3 &velocity) const
Definition VoiceChatSystem.cpp:88
void update(float dt, Client &client, const Registry ®istry, SfxSystem &sfx)
Definition VoiceChatSystem.cpp:55
void enqueueFrame(const net::voice::ServerVoiceFrame &frame)
Definition VoiceChatSystem.cpp:47
bool captureInitialized_
Definition VoiceChatSystem.hpp:59
std::unordered_map< int, RemoteSpeaker > speakers_
Definition VoiceChatSystem.hpp:55
VoiceCapture capture_
Definition VoiceChatSystem.hpp:54
bool captureReady() const noexcept
Definition VoiceChatSystem.hpp:37
Definition VoiceCodec.hpp:36
Definition VoiceJitterBuffer.hpp:12
Associates an entity with a connected network client.
Definition ClientId.hpp:10
Definition VoiceChatSystem.hpp:43
bool decoderReady
Definition VoiceChatSystem.hpp:47
float speakingTimer
Definition VoiceChatSystem.hpp:46
VoiceJitterBuffer jitter
Definition VoiceChatSystem.hpp:45
VoiceDecoder decoder
Definition VoiceChatSystem.hpp:44
Definition VoiceChatSystem.hpp:26
ClientId speaker
Definition VoiceChatSystem.hpp:27
float remainingSeconds
Definition VoiceChatSystem.hpp:28
Definition VoiceProtocol.hpp:36