Bartlomiej Wolowiec wrote:
On czwartek, 20 marca 2008, Michael Niedermayer wrote:
On Thu, Mar 20, 2008 at 07:38:06PM +0100, Bartlomiej Wolowiec wrote:
On wtorek, 18 marca 2008, Michael Niedermayer wrote:
The (E)AC-3 AVParser should split the (E)AC-3 stream so that the chunks of data send to the decoder (ac3_decode_frame) are complete and contain all channels. So ac3_decode_frame() would receive as input several "ac3 frames" if some channels are stored in future frames. Hi, Recently I had some free time, so I've tried to work on the parser. I encountered one problem: ff_aac_ac3_parse function in aac_ac3_parser.c needs to know stream_type. As an interface to read data about the stream it uses What stream_type ? I dont understand you. ac3_sync() could just return the sum of the len of both frames (so all channels are available) or am i missing something?
No, it isn't that simple: ac3_sync is given a buffer, which has only header_size bytes. So it isn't able to read headers of following frames and it doesn't know if they're an extension of current frame....
Exactly. That's probably going to require reworking the parser a bit. I can look through and give some suggestions if you want. But feel free to propose any changes to the parser that would fit what you need to do. -Justin