changeset 6210:da46dcc05d4a libavformat

Use ext sample from mpeg4audio config if set with AAC SBR
author bcoudurier
date Thu, 01 Jul 2010 22:31:31 +0000
parents 71862ed5b874
children 6f6ecca6904a
files flvdec.c mov.c
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/flvdec.c	Thu Jul 01 20:15:49 2010 +0000
+++ b/flvdec.c	Thu Jul 01 22:31:31 2010 +0000
@@ -414,7 +414,10 @@
                 ff_mpeg4audio_get_config(&cfg, st->codec->extradata,
                                          st->codec->extradata_size);
                 st->codec->channels = cfg.channels;
-                st->codec->sample_rate = cfg.sample_rate;
+                if (cfg.ext_sample_rate)
+                    st->codec->sample_rate = cfg.ext_sample_rate;
+                else
+                    st->codec->sample_rate = cfg.sample_rate;
                 dprintf(s, "mp4a config channels %d sample rate %d\n",
                         st->codec->channels, st->codec->sample_rate);
             }
--- a/mov.c	Thu Jul 01 20:15:49 2010 +0000
+++ b/mov.c	Thu Jul 01 22:31:31 2010 +0000
@@ -535,8 +535,10 @@
                 st->codec->channels = cfg.channels;
                 if (cfg.object_type == 29 && cfg.sampling_index < 3) // old mp3on4
                     st->codec->sample_rate = ff_mpa_freq_tab[cfg.sampling_index];
+                else if (cfg.ext_sample_rate)
+                    st->codec->sample_rate = cfg.ext_sample_rate;
                 else
-                    st->codec->sample_rate = cfg.sample_rate; // ext sample rate ?
+                    st->codec->sample_rate = cfg.sample_rate;
                 dprintf(fc, "mp4a config channels %d obj %d ext obj %d "
                         "sample rate %d ext sample rate %d\n", st->codec->channels,
                         cfg.object_type, cfg.ext_object_type,