summaryrefslogtreecommitdiff
path: root/libavformat/aiff.c
diff options
context:
space:
mode:
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-05-15 22:47:40 +0000
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-05-15 22:47:40 +0000
commit3f60afad28eccc1d3e2bf55e537583b361ebdf2e (patch)
treedd4d7f8d164ef7cc62fb34046cb705464f19d206 /libavformat/aiff.c
parent0a1bd250d1507636b6ee3cc6dd1553b02292b6e5 (diff)
try to demux even if codec is not recognized, should demux M1F1-float32C-AFsp.aif and fix #454
Originally committed as revision 13171 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/aiff.c')
-rw-r--r--libavformat/aiff.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libavformat/aiff.c b/libavformat/aiff.c
index b9ebce5cc5..55c47dd0ad 100644
--- a/libavformat/aiff.c
+++ b/libavformat/aiff.c
@@ -366,7 +366,7 @@ static int aiff_read_header(AVFormatContext *s,
offset = get_be32(pb); /* Offset of sound data */
get_be32(pb); /* BlockSize... don't care */
offset += url_ftell(pb); /* Compute absolute data offset */
- if (st->codec->codec_id) /* Assume COMM already parsed */
+ if (st->codec->block_align) /* Assume COMM already parsed */
goto got_sound;
if (url_is_streamed(pb)) {
av_log(s, AV_LOG_ERROR, "file is not seekable\n");
@@ -390,8 +390,10 @@ static int aiff_read_header(AVFormatContext *s,
}
}
- /* End of loop and didn't get sound */
- return AVERROR_INVALIDDATA;
+ if (!st->codec->block_align) {
+ av_log(s, AV_LOG_ERROR, "could not find COMM tag\n");
+ return -1;
+ }
got_sound:
/* Now positioned, get the sound data start and end */