mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-07-03 14:36:45 +08:00
dca: Set data_size outside block loop.
Originally committed as revision 15021 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@ -1183,12 +1183,11 @@ static int dca_decode_frame(AVCodecContext * avctx,
|
|||||||
|
|
||||||
if(*data_size < (s->sample_blocks / 8) * 256 * sizeof(int16_t) * channels)
|
if(*data_size < (s->sample_blocks / 8) * 256 * sizeof(int16_t) * channels)
|
||||||
return -1;
|
return -1;
|
||||||
*data_size = 0;
|
*data_size = 256 / 8 * s->sample_blocks * sizeof(int16_t) * channels;
|
||||||
for (i = 0; i < (s->sample_blocks / 8); i++) {
|
for (i = 0; i < (s->sample_blocks / 8); i++) {
|
||||||
dca_decode_block(s);
|
dca_decode_block(s);
|
||||||
s->dsp.float_to_int16_interleave(samples, s->samples_chanptr, 256, channels);
|
s->dsp.float_to_int16_interleave(samples, s->samples_chanptr, 256, channels);
|
||||||
samples += 256 * channels;
|
samples += 256 * channels;
|
||||||
*data_size += 256 * sizeof(int16_t) * channels;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return buf_size;
|
return buf_size;
|
||||||
|
Reference in New Issue
Block a user