@@ -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");
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(-)