Commit b0bc0eb9 authored by Michael Niedermayer's avatar Michael Niedermayer

pmpdec: read index before creating audio streams

This allows more complete checks
Reviewed-by: 's avatarReimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 50a37f92
......@@ -91,16 +91,6 @@ static int pmp_header(AVFormatContext *s)
avio_skip(pb, 10);
srate = avio_rl32(pb);
channels = avio_rl32(pb) + 1;
for (i = 1; i < pmp->num_streams; i++) {
AVStream *ast = avformat_new_stream(s, NULL);
if (!ast)
return AVERROR(ENOMEM);
ast->codec->codec_type = AVMEDIA_TYPE_AUDIO;
ast->codec->codec_id = audio_codec_id;
ast->codec->channels = channels;
ast->codec->sample_rate = srate;
avpriv_set_pts_info(ast, 32, 1, srate);
}
pos = avio_tell(pb) + 4*index_cnt;
for (i = 0; i < index_cnt; i++) {
int size = avio_rl32(pb);
......@@ -113,6 +103,16 @@ static int pmp_header(AVFormatContext *s)
av_add_index_entry(vst, pos, i, size, 0, flags);
pos += size;
}
for (i = 1; i < pmp->num_streams; i++) {
AVStream *ast = avformat_new_stream(s, NULL);
if (!ast)
return AVERROR(ENOMEM);
ast->codec->codec_type = AVMEDIA_TYPE_AUDIO;
ast->codec->codec_id = audio_codec_id;
ast->codec->channels = channels;
ast->codec->sample_rate = srate;
avpriv_set_pts_info(ast, 32, 1, srate);
}
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment