static void allocate_buffers(ALACContext *alac)
{
int chan;
- for (chan = 0; chan < MAX_CHANNELS; chan++) {
+ for (chan = 0; chan < alac->numchannels; chan++) {
alac->predicterror_buffer[chan] =
av_malloc(alac->setinfo_max_samples_per_frame * 4);
bytestream_get_be32(&ptr); /* bitrate ? */
bytestream_get_be32(&ptr); /* samplerate */
- allocate_buffers(alac);
-
return 0;
}
return AVERROR_PATCHWELCOME;
}
+ allocate_buffers(alac);
+
return 0;
}
ALACContext *alac = avctx->priv_data;
int chan;
- for (chan = 0; chan < MAX_CHANNELS; chan++) {
+ for (chan = 0; chan < alac->numchannels; chan++) {
av_freep(&alac->predicterror_buffer[chan]);
av_freep(&alac->outputsamples_buffer[chan]);
av_freep(&alac->wasted_bits_buffer[chan]);