aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2026-01-21 18:29:41 +0100
committerdec05eba <dec05eba@protonmail.com>2026-01-21 18:29:41 +0100
commitf6013d094d190f9c6ebff620601dfe93c952f1f9 (patch)
tree9fbb4dfd131ae6508d7af59ef0fc0ba6f38d2edc /src/main.cpp
parent45daccff8420a783e847879f20785b8c38675b18 (diff)
Lock around get packet data
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp5
1 files changed, 4 insertions, 1 deletions
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");