Map session to gamepads
This commit is contained in:
parent
e0721aa104
commit
92f51622cc
7 changed files with 139 additions and 94 deletions
|
|
@ -167,6 +167,7 @@ struct broadcast_ctx_t {
|
|||
|
||||
struct session_t {
|
||||
config_t config;
|
||||
std::shared_ptr<input::input_t> input;
|
||||
|
||||
std::thread audioThread;
|
||||
std::thread videoThread;
|
||||
|
|
@ -202,7 +203,6 @@ struct session_t {
|
|||
int start_broadcast(broadcast_ctx_t &ctx);
|
||||
void end_broadcast(broadcast_ctx_t &ctx);
|
||||
|
||||
std::shared_ptr<input::input_t> input;
|
||||
|
||||
static auto broadcast = safe::make_shared<broadcast_ctx_t>(start_broadcast, end_broadcast);
|
||||
safe::signal_t broadcast_shutdown_event;
|
||||
|
|
@ -453,7 +453,7 @@ void controlBroadcastThread(safe::signal_t *shutdown_event, control_server_t *se
|
|||
}
|
||||
|
||||
input::print(plaintext.data());
|
||||
input::passthrough(input, std::move(plaintext));
|
||||
input::passthrough(session->input, std::move(plaintext));
|
||||
});
|
||||
|
||||
while(!shutdown_event->peek()) {
|
||||
|
|
@ -855,6 +855,8 @@ void join(session_t &session) {
|
|||
}
|
||||
|
||||
void start(session_t &session, const std::string &addr_string) {
|
||||
session.input = input::alloc();
|
||||
|
||||
session.broadcast_ref = broadcast.ref();
|
||||
session.broadcast_ref->control_server.emplace_addr_to_session(addr_string, session);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue