diff options
author | Leah Rowe <leah@libreboot.org> | 2023-06-05 00:45:05 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2023-06-05 00:46:41 +0100 |
commit | 118bb19ff84b013954b3032e93c7fb0fc926b15e (patch) | |
tree | e51e1d0057d0ab5b798476e3a4606fbc7985dc8f /util | |
parent | af36cc7f93e797c73192e1cfd55b27d508aa87fa (diff) |
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 <leah@libreboot.org>
Diffstat (limited to 'util')
-rw-r--r-- | util/spkmodem_recv/spkmodem-recv.c | 12 |
1 files 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(); } |