avformat/paf: 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
							
								
									f12cdf8954
								
							
						
					
					
						commit
						d2574262a5
					
				@ -172,22 +172,20 @@ static int read_header(AVFormatContext *s)
 | 
			
		||||
        !p->blocks_offset_table ||
 | 
			
		||||
        !p->video_frame         ||
 | 
			
		||||
        !p->audio_frame         ||
 | 
			
		||||
        !p->temp_audio_frame) {
 | 
			
		||||
        ret = AVERROR(ENOMEM);
 | 
			
		||||
        goto fail;
 | 
			
		||||
    }
 | 
			
		||||
        !p->temp_audio_frame)
 | 
			
		||||
        return AVERROR(ENOMEM);
 | 
			
		||||
 | 
			
		||||
    avio_seek(pb, p->buffer_size, SEEK_SET);
 | 
			
		||||
 | 
			
		||||
    ret = read_table(s, p->blocks_count_table,  p->nb_frames);
 | 
			
		||||
    if (ret < 0)
 | 
			
		||||
        goto fail;
 | 
			
		||||
        return ret;
 | 
			
		||||
    ret = read_table(s, p->frames_offset_table, p->nb_frames);
 | 
			
		||||
    if (ret < 0)
 | 
			
		||||
        goto fail;
 | 
			
		||||
        return ret;
 | 
			
		||||
    ret = read_table(s, p->blocks_offset_table, p->frame_blks);
 | 
			
		||||
    if (ret < 0)
 | 
			
		||||
        goto fail;
 | 
			
		||||
        return ret;
 | 
			
		||||
 | 
			
		||||
    p->got_audio = 0;
 | 
			
		||||
    p->current_frame = 0;
 | 
			
		||||
@ -196,11 +194,6 @@ static int read_header(AVFormatContext *s)
 | 
			
		||||
    avio_seek(pb, p->start_offset, SEEK_SET);
 | 
			
		||||
 | 
			
		||||
    return 0;
 | 
			
		||||
 | 
			
		||||
fail:
 | 
			
		||||
    read_close(s);
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int read_packet(AVFormatContext *s, AVPacket *pkt)
 | 
			
		||||
@ -275,6 +268,7 @@ const AVInputFormat ff_paf_demuxer = {
 | 
			
		||||
    .name           = "paf",
 | 
			
		||||
    .long_name      = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File"),
 | 
			
		||||
    .priv_data_size = sizeof(PAFDemuxContext),
 | 
			
		||||
    .flags_internal = FF_FMT_INIT_CLEANUP,
 | 
			
		||||
    .read_probe     = read_probe,
 | 
			
		||||
    .read_header    = read_header,
 | 
			
		||||
    .read_packet    = read_packet,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user