Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b22dbb291d)
tags/n0.8
| @@ -515,25 +515,11 @@ static int ffmpeg_exit(int ret) | |||||
| /* close files */ | /* close files */ | ||||
| for(i=0;i<nb_output_files;i++) { | for(i=0;i<nb_output_files;i++) { | ||||
| /* maybe av_close_output_file ??? */ | |||||
| AVFormatContext *s = output_files[i]; | AVFormatContext *s = output_files[i]; | ||||
| int j; | int j; | ||||
| if (!(s->oformat->flags & AVFMT_NOFILE) && s->pb) | if (!(s->oformat->flags & AVFMT_NOFILE) && s->pb) | ||||
| url_fclose(s->pb); | url_fclose(s->pb); | ||||
| for(j=0;j<s->nb_streams;j++) { | |||||
| av_metadata_free(&s->streams[j]->metadata); | |||||
| av_free(s->streams[j]->codec); | |||||
| av_free(s->streams[j]->info); | |||||
| av_free(s->streams[j]); | |||||
| } | |||||
| for(j=0;j<s->nb_programs;j++) { | |||||
| av_metadata_free(&s->programs[j]->metadata); | |||||
| } | |||||
| for(j=0;j<s->nb_chapters;j++) { | |||||
| av_metadata_free(&s->chapters[j]->metadata); | |||||
| } | |||||
| av_metadata_free(&s->metadata); | |||||
| av_free(s); | |||||
| avformat_free_context(s); | |||||
| av_free(output_streams_for_file[i]); | av_free(output_streams_for_file[i]); | ||||
| } | } | ||||
| for(i=0;i<nb_input_files;i++) { | for(i=0;i<nb_input_files;i++) { | ||||
| @@ -81,17 +81,9 @@ fail: | |||||
| url_close_dyn_buf(track->rtp_ctx->pb, &buf); | url_close_dyn_buf(track->rtp_ctx->pb, &buf); | ||||
| av_free(buf); | av_free(buf); | ||||
| } | } | ||||
| if (track->rtp_ctx && track->rtp_ctx->streams[0]) { | |||||
| av_metadata_free(&track->rtp_ctx->streams[0]->metadata); | |||||
| av_free(track->rtp_ctx->streams[0]->codec->extradata); | |||||
| av_free(track->rtp_ctx->streams[0]->codec); | |||||
| av_free(track->rtp_ctx->streams[0]->info); | |||||
| av_free(track->rtp_ctx->streams[0]); | |||||
| } | |||||
| if (track->rtp_ctx) { | if (track->rtp_ctx) { | ||||
| av_metadata_free(&track->rtp_ctx->metadata); | |||||
| av_free(track->rtp_ctx->priv_data); | |||||
| av_freep(&track->rtp_ctx); | |||||
| avformat_free_context(track->rtp_ctx); | |||||
| track->rtp_ctx = NULL; | |||||
| } | } | ||||
| av_freep(&track->enc); | av_freep(&track->enc); | ||||
| /* Set a default timescale, to avoid crashes in dump_format */ | /* Set a default timescale, to avoid crashes in dump_format */ | ||||
| @@ -488,12 +480,6 @@ void ff_mov_close_hinting(MOVTrack *track) { | |||||
| url_close_dyn_buf(rtp_ctx->pb, &ptr); | url_close_dyn_buf(rtp_ctx->pb, &ptr); | ||||
| av_free(ptr); | av_free(ptr); | ||||
| } | } | ||||
| av_metadata_free(&rtp_ctx->streams[0]->metadata); | |||||
| av_metadata_free(&rtp_ctx->metadata); | |||||
| av_free(rtp_ctx->streams[0]->codec->extradata); | |||||
| av_free(rtp_ctx->streams[0]->codec); | |||||
| av_free(rtp_ctx->streams[0]->info); | |||||
| av_free(rtp_ctx->streams[0]); | |||||
| av_freep(&rtp_ctx); | |||||
| avformat_free_context(rtp_ctx); | |||||
| } | } | ||||
| @@ -66,11 +66,7 @@ AVFormatContext *ff_rtp_chain_mux_open(AVFormatContext *s, AVStream *st, | |||||
| url_close_dyn_buf(rtpctx->pb, &ptr); | url_close_dyn_buf(rtpctx->pb, &ptr); | ||||
| av_free(ptr); | av_free(ptr); | ||||
| } | } | ||||
| av_free(rtpctx->streams[0]->codec->extradata); | |||||
| av_free(rtpctx->streams[0]->codec); | |||||
| av_free(rtpctx->streams[0]->info); | |||||
| av_free(rtpctx->streams[0]); | |||||
| av_free(rtpctx); | |||||
| avformat_free_context(rtpctx); | |||||
| return NULL; | return NULL; | ||||
| } | } | ||||
| @@ -498,13 +498,7 @@ void ff_rtsp_undo_setup(AVFormatContext *s) | |||||
| } else { | } else { | ||||
| url_fclose(rtpctx->pb); | url_fclose(rtpctx->pb); | ||||
| } | } | ||||
| av_metadata_free(&rtpctx->streams[0]->metadata); | |||||
| av_metadata_free(&rtpctx->metadata); | |||||
| av_free(rtpctx->streams[0]->codec->extradata); | |||||
| av_free(rtpctx->streams[0]->codec); | |||||
| av_free(rtpctx->streams[0]->info); | |||||
| av_free(rtpctx->streams[0]); | |||||
| av_free(rtpctx); | |||||
| avformat_free_context(rtpctx); | |||||
| } else if (rt->transport == RTSP_TRANSPORT_RDT && CONFIG_RTPDEC) | } else if (rt->transport == RTSP_TRANSPORT_RDT && CONFIG_RTPDEC) | ||||
| ff_rdt_parse_close(rtsp_st->transport_priv); | ff_rdt_parse_close(rtsp_st->transport_priv); | ||||
| else if (CONFIG_RTPDEC) | else if (CONFIG_RTPDEC) | ||||
| @@ -46,13 +46,7 @@ static int sap_write_close(AVFormatContext *s) | |||||
| continue; | continue; | ||||
| av_write_trailer(rtpctx); | av_write_trailer(rtpctx); | ||||
| url_fclose(rtpctx->pb); | url_fclose(rtpctx->pb); | ||||
| av_metadata_free(&rtpctx->streams[0]->metadata); | |||||
| av_metadata_free(&rtpctx->metadata); | |||||
| av_free(rtpctx->streams[0]->codec->extradata); | |||||
| av_free(rtpctx->streams[0]->codec); | |||||
| av_free(rtpctx->streams[0]->info); | |||||
| av_free(rtpctx->streams[0]); | |||||
| av_free(rtpctx); | |||||
| avformat_free_context(rtpctx); | |||||
| s->streams[i]->priv_data = NULL; | s->streams[i]->priv_data = NULL; | ||||
| } | } | ||||