dca_parser: don't overwrite the sample rate, it may not be correct
authorHendrik Leppkes <h.leppkes@gmail.com>
Wed, 30 Sep 2015 11:09:01 +0000 (13:09 +0200)
committerHendrik Leppkes <h.leppkes@gmail.com>
Tue, 20 Oct 2015 11:02:18 +0000 (13:02 +0200)
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.

Fixes ticket #4397

libavcodec/dca_parser.c

index 337a99d..70e64a8 100644 (file)
@@ -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;