[FFmpeg-cvslog] r11386 - trunk/libavcodec/aac_ac3_parser.c
Justin Ruggles
justinruggles
Fri Jan 4 00:31:04 CET 2008
Justin Ruggles wrote:
> jbr wrote:
>> Author: jbr
>> Date: Thu Jan 3 23:41:59 2008
>> New Revision: 11386
>>
>> Log:
>> remove workaround which is no longer needed due to
>> AVCodecContext.request_channels
>>
>> Modified:
>> trunk/libavcodec/aac_ac3_parser.c
>>
>> Modified: trunk/libavcodec/aac_ac3_parser.c
>> ==============================================================================
>> --- trunk/libavcodec/aac_ac3_parser.c (original)
>> +++ trunk/libavcodec/aac_ac3_parser.c Thu Jan 3 23:41:59 2008
>> @@ -60,14 +60,7 @@ int ff_aac_ac3_parse(AVCodecParserContex
>> s->frame_size = len;
>> /* update codec info */
>> avctx->sample_rate = sample_rate;
>> - /* set channels,except if the user explicitly requests 1 or 2 channels, XXX/FIXME this is a bit ugly */
>> - if(avctx->codec_id == CODEC_ID_AC3){
>> - if(avctx->channels!=1 && avctx->channels!=2){
>> - avctx->channels = channels;
>> - }
>> - } else {
>> avctx->channels = channels;
>> - }
>> avctx->bit_rate = bit_rate;
>> avctx->frame_size = samples;
>> }
>
> Should the parser check for request_channels? Right now the value of
> AVCodecContext.channels changes back and forth between the stream value,
> as set by the parser, and the requested value, as set by the decoder.
I might add that it currently has issues when playing multi-channel
audio with ffplay when the display is used. I'm guessing because it is
threaded and not sync'ed up to the parse/decode cycle. It works fine
with ffmpeg and with "ffplay -nodisp".
-Justin
More information about the ffmpeg-cvslog
mailing list