From a20e79bbb5639f08fbec19755e5ef9c6f2596600 Mon Sep 17 00:00:00 2001 From: Gregor Richards Date: Fri, 16 Dec 2016 09:52:53 -0500 Subject: [PATCH] Server needs double the buffer frames since two connected clients could be ahead and behind by the max frames --- network/netplay/netplay_init.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/network/netplay/netplay_init.c b/network/netplay/netplay_init.c index 4c9dd0ce84..ceb7b7eb01 100644 --- a/network/netplay/netplay_init.c +++ b/network/netplay/netplay_init.c @@ -376,6 +376,11 @@ static bool netplay_init_buffers(netplay_t *netplay) /* Enough to get ahead or behind by MAX_STALL_FRAMES frames */ netplay->buffer_size = NETPLAY_MAX_STALL_FRAMES + 1; + /* If we're the server, we need enough to get ahead AND behind by + * MAX_STALL_FRAMES frame */ + if (netplay->is_server) + netplay->buffer_size *= 2; + netplay->buffer = (struct delta_frame*)calloc(netplay->buffer_size, sizeof(*netplay->buffer));