From 11828b8885cc1d87ffc7b1b4bbe642ce9720b194 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 30 Nov 2011 21:17:57 +0100 Subject: [PATCH] nellymoserdec: Use sidedata to support mid stream sample rate changes. Signed-off-by: Michael Niedermayer --- libavcodec/nellymoserdec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/nellymoserdec.c b/libavcodec/nellymoserdec.c index cd054826f1..cf73121ef8 100644 --- a/libavcodec/nellymoserdec.c +++ b/libavcodec/nellymoserdec.c @@ -149,6 +149,7 @@ static int decode_tag(AVCodecContext * avctx, void *data, int *data_size, AVPacket *avpkt) { const uint8_t *buf = avpkt->data; + const uint8_t *side=av_packet_get_side_data(avpkt, 'F', NULL); int buf_size = avpkt->size; NellyMoserDecodeContext *s = avctx->priv_data; int data_max = *data_size; @@ -179,6 +180,8 @@ static int decode_tag(AVCodecContext * avctx, * 22050 Hz - 4 * 44100 Hz - 8 */ + if(side && blocks>1 && avctx->sample_rate%11025==0 && (1<<((side[0]>>2)&3)) == blocks) + avctx->sample_rate= 11025*(blocks/2); for (i=0 ; isample_fmt == SAMPLE_FMT_FLT) {