Use aligned PCM samples in headless radio integration fixture

This commit is contained in:
evgeny committed 2026-10-26 09:08:42 +01:00
1 parent ceaf71caf8
commit 9201d8c4f7
1 file changed
+3 -2
+3 -2
View File
@@ -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;