summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad/bits.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libfaad/bits.c')
-rw-r--r--apps/codecs/libfaad/bits.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/apps/codecs/libfaad/bits.c b/apps/codecs/libfaad/bits.c
index a010e830ed..f1a36235bd 100644
--- a/apps/codecs/libfaad/bits.c
+++ b/apps/codecs/libfaad/bits.c
@@ -33,9 +33,10 @@
33#include "bits.h" 33#include "bits.h"
34 34
35/* Need to be large enough to fit the largest compressed sample in a file. 35/* Need to be large enough to fit the largest compressed sample in a file.
36 * Samples a little larger than 1 KB observed in a 256 kbps file. 36 * Samples were observed to need up to 1500 bytes (400 kbps nero aac).
37 */ 37 */
38uint8_t static_buffer[2048]; 38#define BUFFER_SIZE 2048
39uint8_t static_buffer[BUFFER_SIZE] IBSS_ATTR;
39 40
40/* initialize buffer, call once before first getbits or showbits */ 41/* initialize buffer, call once before first getbits or showbits */
41void faad_initbits(bitfile *ld, const void *_buffer, const uint32_t buffer_size) 42void faad_initbits(bitfile *ld, const void *_buffer, const uint32_t buffer_size)
@@ -47,7 +48,7 @@ void faad_initbits(bitfile *ld, const void *_buffer, const uint32_t buffer_size)
47 48
48 memset(ld, 0, sizeof(bitfile)); 49 memset(ld, 0, sizeof(bitfile));
49 50
50 if (buffer_size == 0 || _buffer == NULL) 51 if (buffer_size == 0 || _buffer == NULL || (buffer_size+12)>BUFFER_SIZE)
51 { 52 {
52 ld->error = 1; 53 ld->error = 1;
53 ld->no_more_reading = 1; 54 ld->no_more_reading = 1;