Needs to be done separately for each element.
---
libavcodec/alac.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavcodec/alac.c b/libavcodec/alac.c
index bb2e836..1756cdf 100644
--- a/libavcodec/alac.c
+++ b/libavcodec/alac.c
@@ -321,16 +321,16 @@ static int decode_element(AVCodecContext *avctx, void
*data, int ch_index,
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
return ret;
}
- if (alac->sample_size > 16) {
- for (ch = 0; ch < channels; ch++)
- alac->output_samples_buffer[ch] = (int32_t
*)alac->frame.extended_data[ch_index + ch];
- }
} else if (output_samples != alac->nb_samples) {
av_log(avctx, AV_LOG_ERROR, "sample count mismatch: %u != %d\n",
output_samples, alac->nb_samples);
return AVERROR_INVALIDDATA;
}
alac->nb_samples = output_samples;
+ if (alac->sample_size > 16) {
+ for (ch = 0; ch < channels; ch++)
+ alac->output_samples_buffer[ch] = (int32_t
*)alac->frame.extended_data[ch_index + ch];
+ }
if (is_compressed) {
int16_t lpc_coefs[2][32];
--
1.7.1
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel