From f6013d094d190f9c6ebff620601dfe93c952f1f9 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Wed, 21 Jan 2026 18:29:41 +0100 Subject: [PATCH] Lock around get packet data --- src/main.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 049f4b3..efebca3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1342,8 +1342,11 @@ static void save_replay_async(AVCodecContext *video_codec_context, int video_str for(;;) { AVPacket *replay_packet = gsr_replay_buffer_iterator_get_packet(cloned_replay_buffer, replay_iterator); uint8_t *replay_packet_data = NULL; - if(replay_packet) + if(replay_packet) { + pthread_mutex_lock(&encoder->replay_mutex); replay_packet_data = gsr_replay_buffer_iterator_get_packet_data(cloned_replay_buffer, replay_iterator); + pthread_mutex_unlock(&encoder->replay_mutex); + } if(!replay_packet) { fprintf(stderr, "gsr error: save_replay_async: no replay packet\n");