[SCM] libav/experimental: honor stsd v1 first, fix mace surge-2-8-MAC3.mov, beware of mulaw, alaw
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 16:14:04 UTC 2013
The following commit has been merged in the experimental branch:
commit 501f162fdee4118b5503b3a686c871c3f885a760
Author: Baptiste Coudurier <baptiste.coudurier at gmail.com>
Date: Wed Feb 13 19:26:45 2008 +0000
honor stsd v1 first, fix mace surge-2-8-MAC3.mov, beware of mulaw,alaw
Originally committed as revision 11928 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 27a4e47..5fd41f5 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1386,11 +1386,9 @@ static void mov_build_index(MOVContext *mov, AVStream *st)
i + 1 == sc->sample_to_chunk[stsc_index + 1].first)
stsc_index++;
chunk_samples = sc->sample_to_chunk[stsc_index].count;
- /* get chunk size */
- if (sc->sample_size > 1 || st->codec->bits_per_sample == 8)
- chunk_size = chunk_samples * sc->sample_size;
- else if (sc->samples_per_frame > 0 &&
- (chunk_samples * sc->bytes_per_frame % sc->samples_per_frame == 0)) {
+ /* get chunk size, beware of alaw/ulaw/mace */
+ if (sc->samples_per_frame > 0 &&
+ (chunk_samples * sc->bytes_per_frame % sc->samples_per_frame == 0)) {
if (sc->samples_per_frame < 1024)
chunk_size = chunk_samples * sc->bytes_per_frame / sc->samples_per_frame;
else {
@@ -1398,6 +1396,8 @@ static void mov_build_index(MOVContext *mov, AVStream *st)
frames = chunk_samples / sc->samples_per_frame;
chunk_samples = sc->samples_per_frame;
}
+ } else if (sc->sample_size > 1 || st->codec->bits_per_sample == 8) {
+ chunk_size = chunk_samples * sc->sample_size;
} else {
av_log(mov->fc, AV_LOG_ERROR, "could not determine chunk size, report problem\n");
goto out;
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list