summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/raw.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavformat/raw.c b/libavformat/raw.c
index 5c188dc92b..2f7a32e673 100644
--- a/libavformat/raw.c
+++ b/libavformat/raw.c
@@ -23,6 +23,7 @@
#include "ac3_parser.h"
#include "raw.h"
#include "crc.h"
+#include "bitstream.h"
#ifdef CONFIG_MUXERS
/* simple formats */
@@ -419,6 +420,7 @@ static int ac3_probe(AVProbeData *p)
int max_frames, first_frames = 0, frames;
uint8_t *buf, *buf2, *end;
AC3HeaderInfo hdr;
+ GetBitContext gbc;
max_frames = 0;
buf = p->buf;
@@ -428,7 +430,8 @@ static int ac3_probe(AVProbeData *p)
buf2 = buf;
for(frames = 0; buf2 < end; frames++) {
- if(ff_ac3_parse_header(buf2, &hdr) < 0)
+ init_get_bits(&gbc, buf2, 54);
+ if(ff_ac3_parse_header(&gbc, &hdr) < 0)
break;
if(buf2 + hdr.frame_size > end ||
av_crc(av_crc_get_table(AV_CRC_16_ANSI), 0, buf2 + 2, hdr.frame_size - 2))