[FFmpeg-devel] [PATCH] dca_parser: don't overwrite the sample rate, it may not be correct

Hendrik Leppkes h.leppkes at gmail.com
Wed Sep 30 13:55:26 CEST 2015


On Wed, Sep 30, 2015 at 1:16 PM, wm4 <nfxjfg at googlemail.com> wrote:
> On Wed, 30 Sep 2015 13:09:01 +0200
> Hendrik Leppkes <h.leppkes at gmail.com> wrote:
>
>> The parser only reads the dca core sample rate, which is limited to a
>> maximum of 48000 Hz, while X96 and HD extensions can increase the sample
>> rate up to 192000 Hz.
>>
>> This change prevents the parser and decoder fighting over the sample rate,
>> potentially confusing user applications. This also fixes sample rate
>> display of >48000Hz files with ffmpeg/ffprobe when using libdcadec.
>> ---
>>  libavcodec/dca_parser.c | 1 -
>>  1 file changed, 1 deletion(-)
>>
>> diff --git a/libavcodec/dca_parser.c b/libavcodec/dca_parser.c
>> index 337a99d..70e64a8 100644
>> --- a/libavcodec/dca_parser.c
>> +++ b/libavcodec/dca_parser.c
>> @@ -166,7 +166,6 @@ static int dca_parse(AVCodecParserContext *s, AVCodecContext *avctx,
>>      /* read the duration and sample rate from the frame header */
>>      if (!dca_parse_params(buf, buf_size, &duration, &sample_rate, &pc1->framesize)) {
>>          s->duration        = duration;
>> -        avctx->sample_rate = sample_rate;
>>      } else
>>          s->duration = 0;
>>
>
> So in which situations do decoder and parser share the AVCodecContext
> at all? In libavformat?

Yes, and it results in probing reporting the wrong sample rate right now.

- Hendrik


More information about the ffmpeg-devel mailing list