Mercurial > libavformat.hg
comparison utils.c @ 4161:6a7275621c02 libavformat
free all allocated metadata structures
author | aurel |
---|---|
date | Tue, 06 Jan 2009 22:11:04 +0000 |
parents | ea1e24175669 |
children | fdadd576d584 |
comparison
equal
deleted
inserted
replaced
4160:e7c4a867349a | 4161:6a7275621c02 |
---|---|
2283 /* free all data in a stream component */ | 2283 /* free all data in a stream component */ |
2284 st = s->streams[i]; | 2284 st = s->streams[i]; |
2285 if (st->parser) { | 2285 if (st->parser) { |
2286 av_parser_close(st->parser); | 2286 av_parser_close(st->parser); |
2287 } | 2287 } |
2288 av_metadata_free(&st->metadata); | |
2288 av_free(st->index_entries); | 2289 av_free(st->index_entries); |
2289 av_free(st->codec->extradata); | 2290 av_free(st->codec->extradata); |
2290 av_free(st->codec); | 2291 av_free(st->codec); |
2291 av_free(st->filename); | 2292 av_free(st->filename); |
2292 av_free(st->priv_data); | 2293 av_free(st->priv_data); |
2293 av_free(st); | 2294 av_free(st); |
2294 } | 2295 } |
2295 for(i=s->nb_programs-1; i>=0; i--) { | 2296 for(i=s->nb_programs-1; i>=0; i--) { |
2296 av_freep(&s->programs[i]->provider_name); | 2297 av_freep(&s->programs[i]->provider_name); |
2297 av_freep(&s->programs[i]->name); | 2298 av_freep(&s->programs[i]->name); |
2299 av_metadata_free(&s->programs[i]->metadata); | |
2298 av_freep(&s->programs[i]->stream_index); | 2300 av_freep(&s->programs[i]->stream_index); |
2299 av_freep(&s->programs[i]); | 2301 av_freep(&s->programs[i]); |
2300 } | 2302 } |
2301 av_freep(&s->programs); | 2303 av_freep(&s->programs); |
2302 flush_packet_queue(s); | 2304 flush_packet_queue(s); |
2303 av_freep(&s->priv_data); | 2305 av_freep(&s->priv_data); |
2304 while(s->nb_chapters--) { | 2306 while(s->nb_chapters--) { |
2305 av_free(s->chapters[s->nb_chapters]->title); | 2307 av_free(s->chapters[s->nb_chapters]->title); |
2308 av_metadata_free(&s->chapters[s->nb_chapters]->metadata); | |
2306 av_free(s->chapters[s->nb_chapters]); | 2309 av_free(s->chapters[s->nb_chapters]); |
2307 } | 2310 } |
2308 av_freep(&s->chapters); | 2311 av_freep(&s->chapters); |
2309 if(s->metadata){ | 2312 av_metadata_free(&s->metadata); |
2310 while(s->metadata->count--){ | |
2311 av_freep(&s->metadata->elems[s->metadata->count].key); | |
2312 av_freep(&s->metadata->elems[s->metadata->count].value); | |
2313 } | |
2314 av_freep(&s->metadata->elems); | |
2315 } | |
2316 av_freep(&s->metadata); | |
2317 av_free(s); | 2313 av_free(s); |
2318 } | 2314 } |
2319 | 2315 |
2320 void av_close_input_file(AVFormatContext *s) | 2316 void av_close_input_file(AVFormatContext *s) |
2321 { | 2317 { |