Mercurial > libavcodec.hg
comparison ac3_parser.c @ 6539:04763b6fd4f0 libavcodec
removal of stream_type in AACAC3ParseContext and adding AACAC3FrameFlag
author | bwolowiec |
---|---|
date | Fri, 28 Mar 2008 19:59:58 +0000 |
parents | 5d9fe8d17643 |
children | b0d44aec1ec0 |
comparison
equal
deleted
inserted
replaced
6538:b8f886bce6f5 | 6539:04763b6fd4f0 |
---|---|
121 } | 121 } |
122 | 122 |
123 return 0; | 123 return 0; |
124 } | 124 } |
125 | 125 |
126 static int ac3_sync(AACAC3ParseContext *hdr_info) | 126 static int ac3_sync(AACAC3ParseContext *hdr_info, AACAC3FrameFlag *flag) |
127 { | 127 { |
128 int err; | 128 int err; |
129 AC3HeaderInfo hdr; | 129 AC3HeaderInfo hdr; |
130 | 130 |
131 err = ff_ac3_parse_header(hdr_info->inbuf, &hdr); | 131 err = ff_ac3_parse_header(hdr_info->inbuf, &hdr); |
135 | 135 |
136 hdr_info->sample_rate = hdr.sample_rate; | 136 hdr_info->sample_rate = hdr.sample_rate; |
137 hdr_info->bit_rate = hdr.bit_rate; | 137 hdr_info->bit_rate = hdr.bit_rate; |
138 hdr_info->channels = hdr.channels; | 138 hdr_info->channels = hdr.channels; |
139 hdr_info->samples = AC3_FRAME_SIZE; | 139 hdr_info->samples = AC3_FRAME_SIZE; |
140 | |
141 switch(hdr.stream_type){ | |
142 case EAC3_STREAM_TYPE_INDEPENDENT: | |
143 *flag = FRAME_START; | |
144 break; | |
145 case EAC3_STREAM_TYPE_DEPENDENT: | |
146 *flag = FRAME_CONTINUATION; | |
147 break; | |
148 case EAC3_STREAM_TYPE_AC3_CONVERT: | |
149 *flag = FRAME_COMPLETE; | |
150 break; | |
151 } | |
140 return hdr.frame_size; | 152 return hdr.frame_size; |
141 } | 153 } |
142 | 154 |
143 static av_cold int ac3_parse_init(AVCodecParserContext *s1) | 155 static av_cold int ac3_parse_init(AVCodecParserContext *s1) |
144 { | 156 { |