summaryrefslogtreecommitdiffstats
path: root/libfaad2/specrec.c
diff options
context:
space:
mode:
Diffstat (limited to 'libfaad2/specrec.c')
-rw-r--r--libfaad2/specrec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libfaad2/specrec.c b/libfaad2/specrec.c
index 1119dd3b53..d4d600916f 100644
--- a/libfaad2/specrec.c
+++ b/libfaad2/specrec.c
@@ -847,7 +847,8 @@ uint8_t reconstruct_single_channel(NeAACDecHandle hDecoder, ic_stream *ics,
output_channels = 1;
#endif
- if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] < output_channels) {
+ if (hDecoder->element_alloced[hDecoder->fr_ch_ele] == 0 ||
+ hDecoder->element_output_channels[hDecoder->fr_ch_ele] < output_channels) {
hDecoder->element_output_channels[hDecoder->fr_ch_ele] = output_channels;
retval = allocate_single_channel(hDecoder, sce->channel, output_channels);
if (retval > 0)