Simplified the patch somewhat. Description follows: In many older QuickTime files, the audio format, or "fourcc", is 0x00000000 (AV_CODEC_ID_NONE). The QuickTime File Format Specification states the following regarding this situation:
"This format descriptor should not be used, but may be found in some files. Samples are assumed to be stored in either 'raw ' or 'twos' format, depending on the sample size field in the sound description." MPlayer handles this logic by itself, but FFmpeg/FFplay currently does not. Mats -- Mats Peterson http://matsp888.no-ip.org/~mats/
>From 60e5a75c192e867d039933cf1d06595f90a5da98 Mon Sep 17 00:00:00 2001 From: Mats Peterson <matsp...@yahoo.com> Date: Tue, 5 Jan 2016 06:24:23 +0100 Subject: [PATCH v2] lavf/mov: Audio and AV_CODEC_ID_NONE Simplified the patch somewhat. Description follows: In many older QuickTime files, the audio format, or "fourcc", is 0x00000000 (AV_CODEC_ID_NONE). The QuickTime File Format Specification states the following regarding this situation: "This format descriptor should not be used, but may be found in some files. Samples are assumed to be stored in either 'raw ' or 'twos' format, depending on the sample size field in the sound description." MPlayer handles this logic by itself, but FFmpeg/FFplay currently does not. Mats --- libavformat/mov.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index 78081ce..3232cac 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1882,6 +1882,12 @@ static void mov_parse_stsd_audio(MOVContext *c, AVIOContext *pb, st->codec->codec_id == AV_CODEC_ID_PCM_S16BE ? AV_CODEC_ID_PCM_S32BE : AV_CODEC_ID_PCM_S32LE; break; + case AV_CODEC_ID_NONE: + if (st->codec->bits_per_coded_sample == 8) + st->codec->codec_id = mov_codec_id(st, MKTAG('r','a','w',' ')); + else if (st->codec->bits_per_coded_sample == 16) + st->codec->codec_id = mov_codec_id(st, MKTAG('t','w','o','s')); + break; /* set values for old format before stsd version 1 appeared */ case AV_CODEC_ID_MACE3: sc->samples_per_frame = 6; -- 1.7.10.4
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel