mirror of
https://github.com/badaix/snapcast.git
synced 2025-07-24 11:57:37 +02:00
Make controller async, add client Mixer settings
Controller uses the asio io_context and thus uses one thread less. This also fixes a lot of thread sanitizer issues.
This commit is contained in:
parent
4ce69d4bfb
commit
9bb1c4a041
22 changed files with 838 additions and 711 deletions
|
@ -34,19 +34,33 @@ struct ClientSettings
|
|||
shared
|
||||
};
|
||||
|
||||
struct ServerSettings
|
||||
struct Mixer
|
||||
{
|
||||
enum class Mode
|
||||
{
|
||||
hardware,
|
||||
software,
|
||||
script
|
||||
};
|
||||
|
||||
Mode mode{Mode::software};
|
||||
std::string parameter{""};
|
||||
};
|
||||
|
||||
struct Server
|
||||
{
|
||||
std::string host{""};
|
||||
size_t port{1704};
|
||||
};
|
||||
|
||||
struct PlayerSettings
|
||||
struct Player
|
||||
{
|
||||
std::string player_name{""};
|
||||
int latency{0};
|
||||
PcmDevice pcm_device;
|
||||
SampleFormat sample_format;
|
||||
SharingMode sharing_mode{SharingMode::shared};
|
||||
Mixer mixer;
|
||||
};
|
||||
|
||||
struct Logging
|
||||
|
@ -58,8 +72,8 @@ struct ClientSettings
|
|||
size_t instance{1};
|
||||
std::string host_id;
|
||||
|
||||
ServerSettings server;
|
||||
PlayerSettings player;
|
||||
Server server;
|
||||
Player player;
|
||||
Logging logging;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue