Merge pull request #110515 from DeeJayLSP/qoa-oob

Add one padding frame to QOA buffer for short streams
This commit is contained in:
Thaddeus Crews 2025-09-16 09:48:57 -05:00
commit fe5b8fc3f6
No known key found for this signature in database
GPG key ID: 8C6E5FEB5FC03CCC

View file

@ -616,7 +616,7 @@ Ref<AudioStreamPlayback> AudioStreamWAV::instantiate_playback() {
uint32_t ffp = qoa_decode_header(data.ptr(), data_bytes, &sample->qoa.desc);
ERR_FAIL_COND_V(ffp != 8, Ref<AudioStreamPlaybackWAV>());
sample->qoa.frame_len = qoa_max_frame_size(&sample->qoa.desc);
int samples_len = (sample->qoa.desc.samples > QOA_FRAME_LEN ? QOA_FRAME_LEN : sample->qoa.desc.samples);
int samples_len = sample->qoa.desc.samples > QOA_FRAME_LEN ? QOA_FRAME_LEN : (sample->qoa.desc.samples + 1);
int dec_len = sample->qoa.desc.channels * samples_len;
sample->qoa.dec.resize(dec_len);
}