summaryrefslogtreecommitdiff
path: root/libavcodec/aac_ac3_parser.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2008-04-19 02:28:24 +0000
committerMichael Niedermayer <michaelni@gmx.at>2008-04-19 02:28:24 +0000
commit8629e7562d73feea8b840e1ec11a79e9ae1558f8 (patch)
treedacce391de8adf3518e056777c6362cbd3fd17b1 /libavcodec/aac_ac3_parser.c
parent133ac890fbe48b2989a257eb58bfc0b3690ee054 (diff)
part 1 of EAC3 support
Originally committed as revision 12896 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/aac_ac3_parser.c')
-rw-r--r--libavcodec/aac_ac3_parser.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/aac_ac3_parser.c b/libavcodec/aac_ac3_parser.c
index 8d7e20c516..ad8f04e757 100644
--- a/libavcodec/aac_ac3_parser.c
+++ b/libavcodec/aac_ac3_parser.c
@@ -33,9 +33,10 @@ int ff_aac_ac3_parse(AVCodecParserContext *s1,
int len, i;
int new_frame_start;
+get_next:
i=END_NOT_FOUND;
if(s->remaining_size <= buf_size){
- if(s->remaining_size){
+ if(s->remaining_size && !s->need_next_header){
i= s->remaining_size;
s->remaining_size = 0;
}else{ //we need a header first
@@ -50,6 +51,8 @@ int ff_aac_ac3_parse(AVCodecParserContext *s1,
}else{
i-= s->header_size -1;
s->remaining_size = len + i;
+ if(!new_frame_start)
+ goto get_next;
}
}
}