Fix EncodeOpus crash

This commit is contained in:
mid 2025-03-29 10:56:32 +02:00
parent fb3c9d892d
commit 86fe6995ad

View File

@ -22,12 +22,14 @@ static int encodeopus_perform(CHiPubNode *pubn) {
CHiImage *newpcm = CHi_Crawl(&pubn->sinks[0])->data.sample; CHiImage *newpcm = CHi_Crawl(&pubn->sinks[0])->data.sample;
if(n->pcmSamples + newpcm->width > n->pcmCapacity) { if(newpcm) {
n->pcmbuf = realloc(n->pcmbuf, sizeof(*n->pcmbuf) * (n->pcmCapacity = ((n->pcmSamples + newpcm->width + 1023) & ~1023))); if(n->pcmSamples + newpcm->width > n->pcmCapacity) {
} n->pcmbuf = realloc(n->pcmbuf, sizeof(*n->pcmbuf) * (n->pcmCapacity = ((n->pcmSamples + newpcm->width + 1023) & ~1023)));
}
memcpy(&n->pcmbuf[n->pcmSamples], newpcm->data16, sizeof(*n->pcmbuf) * newpcm->width); memcpy(&n->pcmbuf[n->pcmSamples], newpcm->data16, sizeof(*n->pcmbuf) * newpcm->width);
n->pcmSamples += newpcm->width; n->pcmSamples += newpcm->width;
}
CHiBSFrames *frames = malloc(sizeof(*frames)); CHiBSFrames *frames = malloc(sizeof(*frames));
frames->count = 0; frames->count = 0;