From 9201d8c4f775a68a33c1bbbc783dd05c6c8e9688 Mon Sep 17 00:00:00 2001 From: evgeny Date: Mon, 26 Oct 2026 08:42:03 +0100 Subject: [PATCH] Use aligned PCM samples in headless radio integration fixture --- tests/test_radio_headless.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/test_radio_headless.c b/tests/test_radio_headless.c index 364f16f0..f3708f5b 100644 --- a/tests/test_radio_headless.c +++ b/tests/test_radio_headless.c @@ -281,7 +281,7 @@ static int hr_has_nonzero_pcm(struct hr_conn* c) { uint16_t flen = (uint16_t)(((uint8_t)buf[i + 9] << 8) | (uint8_t)buf[i + 10]); if (flen != RADIO_AUDIO_PCM_FRAME_BYTES) continue; if (i + RADIO_AUDIO_HDR_SIZE + flen > len) break; - const int16_t* pcm = (const int16_t*)(buf + i + RADIO_AUDIO_HDR_SIZE); + int16_t pcm[960]; memcpy(pcm, buf + i + RADIO_AUDIO_HDR_SIZE, sizeof(pcm)); for (int k = 0; k < 960; k++) if (pcm[k] != 0) return 1; } return 0; @@ -361,7 +361,8 @@ static void hr_tick(void* arg) { frm[0] = RADIO_AUDIO_FRAME; memcpy(frm + 1, &gid, 8); frm[9] = (uint8_t)(RADIO_AUDIO_PCM_FRAME_BYTES >> 8); frm[10] = (uint8_t)(RADIO_AUDIO_PCM_FRAME_BYTES & 0xFF); - for (int k = 0; k < 960; k++) ((int16_t*)(frm + RADIO_AUDIO_HDR_SIZE))[k] = 1000; + int16_t pcm[960]; for (int k = 0; k < 960; k++) pcm[k] = 1000; + memcpy(frm + RADIO_AUDIO_HDR_SIZE, pcm, sizeof(pcm)); hr_send(&t->aud[IDX_A], frm, sizeof(frm)); ptt[0] = RADIO_AUDIO_PTT_STOP;