mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avformat/aadec: Simplify cleanup after read_header failure
by setting the FF_FMT_INIT_CLEANUP flag. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
f7fb09cb00
commit
b09b166829
@ -175,10 +175,8 @@ static int aa_read_header(AVFormatContext *s)
|
||||
|
||||
/* decoder setup */
|
||||
st = avformat_new_stream(s, NULL);
|
||||
if (!st) {
|
||||
av_freep(&c->tea_ctx);
|
||||
if (!st)
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
|
||||
if (!strcmp(codec_name, "mp332")) {
|
||||
st->codecpar->codec_id = AV_CODEC_ID_MP3;
|
||||
@ -230,10 +228,8 @@ static int aa_read_header(AVFormatContext *s)
|
||||
avio_skip(pb, 4 + chapter_size);
|
||||
if (!avpriv_new_chapter(s, chapter_idx, st->time_base,
|
||||
chapter_pos * TIMEPREC,
|
||||
(chapter_pos + chapter_size) * TIMEPREC, NULL)) {
|
||||
av_freep(&c->tea_ctx);
|
||||
(chapter_pos + chapter_size) * TIMEPREC, NULL))
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
}
|
||||
|
||||
st->duration = (largest_size - CHAPTER_HEADER_SIZE * s->nb_chapters) * TIMEPREC;
|
||||
@ -418,4 +414,5 @@ const AVInputFormat ff_aa_demuxer = {
|
||||
.read_seek = aa_read_seek,
|
||||
.read_close = aa_read_close,
|
||||
.flags = AVFMT_NO_BYTE_SEEK | AVFMT_NOGENSEARCH,
|
||||
.flags_internal = FF_FMT_INIT_CLEANUP,
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user