do not overwrite codec type if already known, fix conflict between 'raw ' fourcc...
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Fri, 3 Nov 2006 16:19:14 +0000 (16:19 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Fri, 3 Nov 2006 16:19:14 +0000 (16:19 +0000)
Originally committed as revision 6890 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mov.c

index df4edc332b546decb991c39c85fe4be6e31a1a06..582d6221d9d80576100651787d6cacea265d7cce 100644 (file)
@@ -803,9 +803,10 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
 
         st->codec->codec_tag = format;
         id = codec_get_id(mov_audio_tags, format);
-        if (id > 0) {
+        if (st->codec->codec_type != CODEC_TYPE_VIDEO && id > 0) {
             st->codec->codec_type = CODEC_TYPE_AUDIO;
-        } else if (format && format != MKTAG('m', 'p', '4', 's')) { /* skip old asf mpeg4 tag */
+        } else if (st->codec->codec_type != CODEC_TYPE_AUDIO && /* do not overwrite codec type */
+                   format && format != MKTAG('m', 'p', '4', 's')) { /* skip old asf mpeg4 tag */
             id = codec_get_id(mov_video_tags, format);
             if (id <= 0)
                 id = codec_get_id(codec_bmp_tags, format);