From 203b3f7c3d9711aea479a331741c3b4edc8ce4b8 Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Fri, 29 Mar 2024 08:58:26 -0700 Subject: Use a minimum of 8 bytes for the payload bits. --- src/freedv_fsk.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/freedv_fsk.c b/src/freedv_fsk.c index 69aa8b9..2660ea1 100644 --- a/src/freedv_fsk.c +++ b/src/freedv_fsk.c @@ -123,7 +123,8 @@ void freedv_800xa_open(struct freedv *f) { f->bits_per_codec_frame = codec2_bits_per_frame(f->codec2); f->bits_per_modem_frame = f->n_codec_frames * f->bits_per_codec_frame; - int n_packed_bytes = ceil((f->bits_per_modem_frame + 7.0) / 8.0) + 1; + int n_packed_bytes = ceil((f->bits_per_modem_frame + 7.0) / 8.0) + 1; /* ~3.5 bits per frame, which needs to be rounded up to 4. */ + if (n_packed_bytes < 8) n_packed_bytes = 8; f->tx_payload_bits = MALLOC(n_packed_bytes); assert(f->tx_payload_bits != NULL); f->rx_payload_bits = MALLOC(n_packed_bytes); -- cgit v1.2.3