Do not skip three bytes and don't search for extradata in old realaudio files.
Fixes ticket #1557.
This commit is contained in:
parent
9700a7a1dd
commit
00a62e6776
@ -196,6 +196,9 @@ static int rm_read_audio_stream_info(AVFormatContext *s, AVIOContext *pb,
|
|||||||
st->need_parsing = AVSTREAM_PARSE_HEADERS;
|
st->need_parsing = AVSTREAM_PARSE_HEADERS;
|
||||||
case AV_CODEC_ID_ATRAC3:
|
case AV_CODEC_ID_ATRAC3:
|
||||||
case AV_CODEC_ID_SIPR:
|
case AV_CODEC_ID_SIPR:
|
||||||
|
if (read_all) {
|
||||||
|
codecdata_length = 0;
|
||||||
|
} else {
|
||||||
avio_rb16(pb); avio_r8(pb);
|
avio_rb16(pb); avio_r8(pb);
|
||||||
if (version == 5)
|
if (version == 5)
|
||||||
avio_r8(pb);
|
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");
|
av_log(s, AV_LOG_ERROR, "codecdata_length too large\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ast->audio_framesize = st->codec->block_align;
|
ast->audio_framesize = st->codec->block_align;
|
||||||
if (st->codec->codec_id == AV_CODEC_ID_SIPR) {
|
if (st->codec->codec_id == AV_CODEC_ID_SIPR) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user