From f296563e5f41ca0d34675a99b2abe9c41a28bc39 Mon Sep 17 00:00:00 2001
From: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Date: Tue, 26 Feb 2008 14:31:36 +0000
Subject: [PATCH] move parameters reset after setting stream parameters, will
 need those infos

Originally committed as revision 12229 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/mov.c | 45 ++++++++++++++++++++++++---------------------
 1 file changed, 24 insertions(+), 21 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index f5a7bbf06e4..e0a3346482c 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -805,27 +805,6 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
 
     /* special codec parameters handling */
     switch (st->codec->codec_id) {
-#ifdef CONFIG_H261_DECODER
-    case CODEC_ID_H261:
-#endif
-#ifdef CONFIG_H263_DECODER
-    case CODEC_ID_H263:
-#endif
-#ifdef CONFIG_MPEG4_DECODER
-    case CODEC_ID_MPEG4:
-#endif
-        st->codec->width= 0; /* let decoder init width/height */
-        st->codec->height= 0;
-        break;
-#ifdef CONFIG_LIBFAAD
-    case CODEC_ID_AAC:
-#endif
-#ifdef CONFIG_VORBIS_DECODER
-    case CODEC_ID_VORBIS:
-#endif
-    case CODEC_ID_MP3ON4:
-        st->codec->sample_rate= 0; /* let decoder init parameters properly */
-        break;
 #ifdef CONFIG_DV_DEMUXER
     case CODEC_ID_DVAUDIO:
         c->dv_fctx = av_alloc_format_context();
@@ -1472,6 +1451,30 @@ static int mov_read_header(AVFormatContext *s, AVFormatParameters *ap)
         }
         sc->ffindex = i;
         mov_build_index(mov, st);
+
+        switch (st->codec->codec_id) {
+#ifdef CONFIG_H261_DECODER
+        case CODEC_ID_H261:
+#endif
+#ifdef CONFIG_H263_DECODER
+        case CODEC_ID_H263:
+#endif
+#ifdef CONFIG_MPEG4_DECODER
+        case CODEC_ID_MPEG4:
+#endif
+            st->codec->width= 0; /* let decoder init width/height */
+            st->codec->height= 0;
+            break;
+#ifdef CONFIG_LIBFAAD
+        case CODEC_ID_AAC:
+#endif
+#ifdef CONFIG_VORBIS_DECODER
+        case CODEC_ID_VORBIS:
+#endif
+        case CODEC_ID_MP3ON4:
+            st->codec->sample_rate= 0; /* let decoder init parameters properly */
+            break;
+        }
     }
 
     for(i=0; i<s->nb_streams; i++) {
-- 
GitLab