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 {