move parameters reset after setting stream parameters, will need those infos
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Tue, 26 Feb 2008 14:31:36 +0000 (14:31 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Tue, 26 Feb 2008 14:31:36 +0000 (14:31 +0000)
Originally committed as revision 12229 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mov.c

index f5a7bbf..e0a3346 100644 (file)
@@ -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) {
 
     /* 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();
 #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);
         }
         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++) {
     }
 
     for(i=0; i<s->nb_streams; i++) {