From 118bb19ff84b013954b3032e93c7fb0fc926b15e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 5 Jun 2023 00:45:05 +0100 Subject: [PATCH] util/spkmodem-recv: simplify stdout flush logic when spkmodem-recv doesn't receive anything (via stdout) after a few frames, it's assumed that the console is dead and the buffered output is flushed this logic is assumed superfluous when -u is set Signed-off-by: Leah Rowe --- util/spkmodem_recv/spkmodem-recv.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/util/spkmodem_recv/spkmodem-recv.c b/util/spkmodem_recv/spkmodem-recv.c index 903d6830..d43c27d9 100644 --- a/util/spkmodem_recv/spkmodem-recv.c +++ b/util/spkmodem_recv/spkmodem-recv.c @@ -20,11 +20,10 @@ #define THRESHOLD 500 #define DEBUG 0 -#define FLUSH_TIMEOUT 1 #define ERR() (errno = errno ? errno : ECANCELED) signed short frame[2 * SAMPLES_PER_FRAME], pulse[2 * SAMPLES_PER_FRAME]; -int freq_data, freq_separator, sample_count, ascii_bit = 7; +int flush, freq_data, freq_separator, sample_count, ascii_bit = 7; char ascii = 0; void handle_audio(void); @@ -56,15 +55,12 @@ main(int argc, char *argv[]) void handle_audio(void) { - static int flush_count = 0; - if (sample_count > (3 * SAMPLES_PER_FRAME)) { + if ((flush = (sample_count > (3 * SAMPLES_PER_FRAME)))) { ascii_bit = 7; ascii = sample_count = 0; - ++flush_count; - } - if (flush_count == FLUSH_TIMEOUT) /* TODO: reset flush count? */ if (fflush(stdout) == EOF) err(ERR(), NULL); + } if ((freq_separator <= FREQ_SEP_MIN) || (freq_separator >= FREQ_SEP_MAX) || (freq_data <= FREQ_DATA_MIN) || (freq_data >= FREQ_DATA_MAX)) { fetch_sample(); @@ -73,7 +69,7 @@ handle_audio(void) if (!set_ascii_bit()) print_char(); - sample_count = flush_count = 0; + sample_count = flush = 0; for (int sample = 0; sample < SAMPLES_PER_FRAME; sample++) fetch_sample(); }