From caa7ad5dc68a9b287a49f1d34f557274d3feee9c Mon Sep 17 00:00:00 2001
From: Thierry Foucu <tfoucu@gmail.com>
Date: Wed, 3 Nov 2010 20:12:07 +0000
Subject: [PATCH] Fix 16kHz Mono NellyMoser in flv.

Patch by Thierry Foucu, tfoucu gmail

Originally committed as revision 25667 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/flv.h    | 1 +
 libavformat/flvdec.c | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/libavformat/flv.h b/libavformat/flv.h
index 55266a16e34..5d2666d28c1 100644
--- a/libavformat/flv.h
+++ b/libavformat/flv.h
@@ -75,6 +75,7 @@ enum {
     FLV_CODECID_ADPCM                = 1 << FLV_AUDIO_CODECID_OFFSET,
     FLV_CODECID_MP3                  = 2 << FLV_AUDIO_CODECID_OFFSET,
     FLV_CODECID_PCM_LE               = 3 << FLV_AUDIO_CODECID_OFFSET,
+    FLV_CODECID_NELLYMOSER_16KHZ_MONO = 4 << FLV_AUDIO_CODECID_OFFSET,
     FLV_CODECID_NELLYMOSER_8KHZ_MONO = 5 << FLV_AUDIO_CODECID_OFFSET,
     FLV_CODECID_NELLYMOSER           = 6 << FLV_AUDIO_CODECID_OFFSET,
     FLV_CODECID_AAC                  = 10<< FLV_AUDIO_CODECID_OFFSET,
diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 063f9064f56..b3592611e91 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -68,6 +68,12 @@ static void flv_set_audio_codec(AVFormatContext *s, AVStream *astream, int flv_c
         case FLV_CODECID_MP3  : acodec->codec_id = CODEC_ID_MP3      ; astream->need_parsing = AVSTREAM_PARSE_FULL; break;
         case FLV_CODECID_NELLYMOSER_8KHZ_MONO:
             acodec->sample_rate = 8000; //in case metadata does not otherwise declare samplerate
+            acodec->codec_id = CODEC_ID_NELLYMOSER;
+            break;
+        case FLV_CODECID_NELLYMOSER_16KHZ_MONO:
+            acodec->sample_rate = 16000;
+            acodec->codec_id = CODEC_ID_NELLYMOSER;
+            break;
         case FLV_CODECID_NELLYMOSER:
             acodec->codec_id = CODEC_ID_NELLYMOSER;
             break;
-- 
GitLab