Mercurial > libavcodec.hg
comparison aac_ac3_parser.c @ 6643:4d04fcb5e1e4 libavcodec
Add new_frame_start and need_next_header.
based on a patch by Bartlomiej
author | michael |
---|---|
date | Sat, 19 Apr 2008 01:59:55 +0000 |
parents | 866b9ade048c |
children | 1d9eb7c09f98 |
comparison
equal
deleted
inserted
replaced
6642:866b9ade048c | 6643:4d04fcb5e1e4 |
---|---|
29 const uint8_t *buf, int buf_size) | 29 const uint8_t *buf, int buf_size) |
30 { | 30 { |
31 AACAC3ParseContext *s = s1->priv_data; | 31 AACAC3ParseContext *s = s1->priv_data; |
32 ParseContext *pc = &s->pc; | 32 ParseContext *pc = &s->pc; |
33 int len, i; | 33 int len, i; |
34 int new_frame_start; | |
34 | 35 |
35 i=END_NOT_FOUND; | 36 i=END_NOT_FOUND; |
36 if(s->remaining_size <= buf_size){ | 37 if(s->remaining_size <= buf_size){ |
37 if(s->remaining_size){ | 38 if(s->remaining_size){ |
38 i= s->remaining_size; | 39 i= s->remaining_size; |
39 s->remaining_size = 0; | 40 s->remaining_size = 0; |
40 }else{ //we need a header first | 41 }else{ //we need a header first |
41 len=0; | 42 len=0; |
42 for(i=s->remaining_size; i<buf_size; i++){ | 43 for(i=s->remaining_size; i<buf_size; i++){ |
43 s->state = (s->state<<8) + buf[i]; | 44 s->state = (s->state<<8) + buf[i]; |
44 if((len=s->sync(s->state, s))) | 45 if((len=s->sync(s->state, s, &s->need_next_header, &new_frame_start))) |
45 break; | 46 break; |
46 } | 47 } |
47 if(len<=0){ | 48 if(len<=0){ |
48 i=END_NOT_FOUND; | 49 i=END_NOT_FOUND; |
49 }else{ | 50 }else{ |