From 58f1057f015f0dab4624faf40d6af3dd69398f35 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Sat, 3 Jun 2023 15:09:46 +0200 Subject: [PATCH] Fix recorder waiting when stream disabled In the recorder, if the video or audio stream is disabled, do not wait for its initialization (it will never happen) to process the header. In that case, this caused the whole content to be buffered in memory, and written only on exit. --- app/src/recorder.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/recorder.c b/app/src/recorder.c index adb1059d..204bf835 100644 --- a/app/src/recorder.c +++ b/app/src/recorder.c @@ -178,9 +178,10 @@ static bool sc_recorder_process_header(struct sc_recorder *recorder) { sc_mutex_lock(&recorder->mutex); - while (!recorder->stopped && (!recorder->video_init - || !recorder->audio_init - || sc_recorder_has_empty_queues(recorder))) { + while (!recorder->stopped && + ((recorder->video && !recorder->video_init) + || (recorder->audio && !recorder->audio_init) + || sc_recorder_has_empty_queues(recorder))) { sc_cond_wait(&recorder->cond, &recorder->mutex); }