[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