Support decoding 32bit pcm audio in mov.
authorCarl Eugen Hoyos <cehoyos@ag.or.at>
Thu, 2 Oct 2014 08:04:13 +0000 (10:04 +0200)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Thu, 2 Oct 2014 08:04:43 +0000 (10:04 +0200)
Such files are written by Convergent Design's Odyssey 7Q recorder.

libavformat/mov.c

index ae48c02..8070b4d 100644 (file)
@@ -1422,6 +1422,10 @@ static void mov_parse_stsd_audio(MOVContext *c, AVIOContext *pb,
             st->codec->codec_id =
                 st->codec->codec_id == AV_CODEC_ID_PCM_S16BE ?
                 AV_CODEC_ID_PCM_S24BE : AV_CODEC_ID_PCM_S24LE;
+        else if (st->codec->bits_per_coded_sample == 32)
+             st->codec->codec_id =
+                st->codec->codec_id == AV_CODEC_ID_PCM_S16BE ?
+                AV_CODEC_ID_PCM_S32BE : AV_CODEC_ID_PCM_S32LE;
         break;
     /* set values for old format before stsd version 1 appeared */
     case AV_CODEC_ID_MACE3: