diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2012-12-18 23:04:19 +0100 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2012-12-18 23:04:19 +0100 |
commit | 00a62e6776c7b2393b1c6f3be9ae85200bf2bb1e (patch) | |
tree | 0833aae50b05df8495dd2df084b4dd81f71490d4 | |
parent | 9700a7a1dd25651d5b79af8a05ef6f467ec07520 (diff) | |
download | ffmpeg-00a62e6776c7b2393b1c6f3be9ae85200bf2bb1e.tar.gz |
Do not skip three bytes and don't search for extradata in old realaudio files.
Fixes ticket #1557.
-rw-r--r-- | libavformat/rmdec.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c index 2bfa5ceeda..a84fdc67b1 100644 --- a/libavformat/rmdec.c +++ b/libavformat/rmdec.c @@ -196,6 +196,9 @@ static int rm_read_audio_stream_info(AVFormatContext *s, AVIOContext *pb, st->need_parsing = AVSTREAM_PARSE_HEADERS; case AV_CODEC_ID_ATRAC3: case AV_CODEC_ID_SIPR: + if (read_all) { + codecdata_length = 0; + } else { avio_rb16(pb); avio_r8(pb); if (version == 5) avio_r8(pb); @@ -204,6 +207,7 @@ static int rm_read_audio_stream_info(AVFormatContext *s, AVIOContext *pb, av_log(s, AV_LOG_ERROR, "codecdata_length too large\n"); return -1; } + } ast->audio_framesize = st->codec->block_align; if (st->codec->codec_id == AV_CODEC_ID_SIPR) { |