Read QuickTime version 1 audio fields in broken mov files.
authorCarl Eugen Hoyos <cehoyos@ag.or.at>
Thu, 15 Nov 2012 13:38:19 +0000 (14:38 +0100)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Thu, 15 Nov 2012 13:38:19 +0000 (14:38 +0100)
Matrox XMIO capture boards write files with major brand "JUNK"
and compatible brand "qt  " that contain QuickTime version 1
audio fields.

Fixes ticket #1881.

libavformat/mov.c

index 01c9413..73077ee 100644 (file)
@@ -1397,7 +1397,8 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries)
 
             //Read QT version 1 fields. In version 0 these do not exist.
             av_dlog(c->fc, "version =%d, isom =%d\n",version,c->isom);
-            if (!c->isom) {
+            if (!c->isom ||
+                strstr(av_dict_get(c->fc->metadata, "compatible_brands", NULL, AV_DICT_MATCH_CASE)->value, "qt  ")) {
                 if (version==1) {
                     sc->samples_per_frame = avio_rb32(pb);
                     avio_rb32(pb); /* bytes per packet */