[FFmpeg-devel] [PATCH]lavc/alac: Export samplerate

Carl Eugen Hoyos cehoyos at ag.or.at
Mon Jan 30 12:06:33 EET 2017


Hi!

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

Please comment, Carl Eugen
-------------- next part --------------
From c3a4a0ca8a5ce07cabb339f0288e6b1223dda1b0 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <cehoyos at 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(-)

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");
-- 
1.7.10.4



More information about the ffmpeg-devel mailing list