Use aligned PCM samples in headless radio integration fixture
This commit is contained in:
1 parent
ceaf71caf8
commit
9201d8c4f7
1 file changed
+3
-2
@@ -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;
|
||||
|
||||
Reference in new issue
Block a user