change ff_ac3_parse_header() to take a GetBitContext instead of const char*

Originally committed as revision 12922 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Bartlomiej Wolowiec
2008-04-22 11:14:01 +00:00
parent 0ec1eb6906
commit 55736cfbd2
5 changed files with 56 additions and 64 deletions

View File

@@ -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))