From 15176579cb71224c529c1a35ac771cd13192737a Mon Sep 17 00:00:00 2001 From: dec05eba Date: Wed, 23 Apr 2025 19:11:58 +0200 Subject: Fix replay saving freeze, unable to save replay if audio is not provided --- src/main.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 84541df..73af76d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1270,13 +1270,13 @@ static void save_replay_async(AVCodecContext *video_codec_context, int video_str } const size_t audio_start_index = gsr_replay_buffer_find_keyframe(replay_buffer, video_start_index, video_stream_index, true); - if(audio_start_index == (size_t)-1) { - fprintf(stderr, "gsr error: failed to save replay: failed to find an audio keyframe. perhaps replay was saved too fast, before anything has been recorded\n"); - return; - } + // if(audio_start_index == (size_t)-1) { + // fprintf(stderr, "gsr error: failed to save replay: failed to find an audio keyframe. perhaps replay was saved too fast, before anything has been recorded\n"); + // return; + // } const int64_t video_pts_offset = gsr_replay_buffer_get_packet_at_index(replay_buffer, video_start_index)->packet.pts; - const int64_t audio_pts_offset = gsr_replay_buffer_get_packet_at_index(replay_buffer, audio_start_index)->packet.pts; + const int64_t audio_pts_offset = audio_start_index == (size_t)-1 ? 0 : gsr_replay_buffer_get_packet_at_index(replay_buffer, audio_start_index)->packet.pts; gsr_replay_buffer cloned_replay_buffer; if(!gsr_replay_buffer_clone(replay_buffer, &cloned_replay_buffer)) { -- cgit v1.2.3-70-g09d2