diff mbox

[FFmpeg-devel] lavc/alac: Export samplerate

Message ID 201701301106.33424.cehoyos@ag.or.at
State Accepted
Commit 12f7c091e8044a70c8d0d4cca156bf3223c2ad5d
Headers show

Commit Message

Carl Eugen Hoyos Jan. 30, 2017, 10:06 a.m. UTC
Hi!

I suspect attached patch makes using the alac decoder easier with 
non-FFmpeg demuxers.

Please comment, Carl Eugen
From c3a4a0ca8a5ce07cabb339f0288e6b1223dda1b0 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <cehoyos@ag.or.at>
Date: Mon, 30 Jan 2017 11:03:21 +0100
Subject: [PATCH] lavc/alac: Export samplerate.

Fixes ticket #6096.
---
 libavcodec/alac.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Paul B Mahol Jan. 30, 2017, 10:28 a.m. UTC | #1
On 1/30/17, Carl Eugen Hoyos <cehoyos@ag.or.at> wrote:
> Hi!
>
> I suspect attached patch makes using the alac decoder easier with
> non-FFmpeg demuxers.
>
> Please comment, Carl Eugen
>

lgtm
Carl Eugen Hoyos Jan. 31, 2017, 9:50 a.m. UTC | #2
2017-01-30 11:28 GMT+01:00 Paul B Mahol <onemda@gmail.com>:
> On 1/30/17, Carl Eugen Hoyos <cehoyos@ag.or.at> wrote:
>> Hi!
>>
>> I suspect attached patch makes using the alac decoder easier with
>> non-FFmpeg demuxers.
>>
>> Please comment, Carl Eugen
>>
>
> lgtm

Patch applied.

Thank you, Carl Eugen
diff mbox

Patch

diff --git a/libavcodec/alac.c b/libavcodec/alac.c
index b9c3400..8d234ed 100644
--- a/libavcodec/alac.c
+++ b/libavcodec/alac.c
@@ -76,6 +76,7 @@  typedef struct ALACContext {
     uint8_t  rice_history_mult;
     uint8_t  rice_initial_history;
     uint8_t  rice_limit;
+    int      sample_rate;
 
     int extra_bits;     /**< number of extra bits beyond 16-bit */
     int nb_samples;     /**< number of samples in the current frame */
@@ -538,7 +539,7 @@  static int alac_set_info(ALACContext *alac)
     bytestream2_get_be16u(&gb); // maxRun
     bytestream2_get_be32u(&gb); // max coded frame size
     bytestream2_get_be32u(&gb); // average bitrate
-    bytestream2_get_be32u(&gb); // samplerate
+    alac->sample_rate          = bytestream2_get_be32u(&gb);
 
     return 0;
 }
@@ -570,6 +571,7 @@  static av_cold int alac_decode_init(AVCodecContext * avctx)
              return AVERROR_PATCHWELCOME;
     }
     avctx->bits_per_raw_sample = alac->sample_size;
+    avctx->sample_rate         = alac->sample_rate;
 
     if (alac->channels < 1) {
         av_log(avctx, AV_LOG_WARNING, "Invalid channel count\n");