diff options
| author | dec05eba <dec05eba@protonmail.com> | 2026-08-06 12:56:48 +0200 |
|---|---|---|
| committer | dec05eba <dec05eba@protonmail.com> | 2026-08-06 12:56:48 +0200 |
| commit | 5db30f3fb99545524fc80f87ecc488972aec1711 (patch) | |
| tree | 3dc370e559af78d73a78bf6370f3d02a5e572395 /src/recorder/recorder.c | |
| parent | 3a1ce0e17f209702095aaa86fedeb74400b3d039 (diff) | |
Clear replay data in replay save thread to not block the main capture thread
Diffstat (limited to 'src/recorder/recorder.c')
| -rw-r--r-- | src/recorder/recorder.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/recorder/recorder.c b/src/recorder/recorder.c index 3f1331f..949ed99 100644 --- a/src/recorder/recorder.c +++ b/src/recorder/recorder.c @@ -752,15 +752,9 @@ static void recorder_poll_replay_save(gsr_recorder *self) { atomic_store(&self->save_replay_seconds, 0); const int restart_replay_request = atomic_exchange(&self->save_replay_restart_replay, GSR_RESTART_REPLAY_USE_OPTION); const bool restart_replay = restart_replay_request == GSR_RESTART_REPLAY_USE_OPTION ? self->settings.restart_replay_on_save : restart_replay_request == GSR_RESTART_REPLAY_ENABLE; - const bool replay_start_result = gsr_replay_save_start(&self->replay_save, self->video_codec_context, GSR_VIDEO_STREAM_INDEX, &self->audio_capture, &self->encoder, &self->settings, self->file_extension, self->hdr, self->video_sources, current_save_replay_seconds); + const bool replay_start_result = gsr_replay_save_start(&self->replay_save, self->video_codec_context, GSR_VIDEO_STREAM_INDEX, &self->audio_capture, &self->encoder, &self->settings, self->file_extension, self->hdr, self->video_sources, current_save_replay_seconds, restart_replay && current_save_replay_seconds == GSR_SAVE_REPLAY_SECONDS_FULL); if(!replay_start_result && self->callbacks.replay_saved) self->callbacks.replay_saved(NULL, self->callbacks.userdata); - - if(restart_replay && current_save_replay_seconds == GSR_SAVE_REPLAY_SECONDS_FULL) { - pthread_mutex_lock(&self->encoder.replay_mutex); - gsr_replay_buffer_clear(self->encoder.replay_buffer); - pthread_mutex_unlock(&self->encoder.replay_mutex); - } } } |
