# HG changeset patch # User michael # Date 1208572104 0 # Node ID 1d9eb7c09f98ee2820c1e2b18fec7e74d1f96d85 # Parent 4d04fcb5e1e4e0ec81f94acc4043d35309b745c6 part 1 of EAC3 support diff -r 4d04fcb5e1e4 -r 1d9eb7c09f98 aac_ac3_parser.c --- a/aac_ac3_parser.c Sat Apr 19 01:59:55 2008 +0000 +++ b/aac_ac3_parser.c Sat Apr 19 02:28:24 2008 +0000 @@ -33,9 +33,10 @@ 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 @@ }else{ i-= s->header_size -1; s->remaining_size = len + i; + if(!new_frame_start) + goto get_next; } } }