Skip to content

Commit 3b6a644

Browse files
freeing all used components
1 parent 6060871 commit 3b6a644

1 file changed

Lines changed: 24 additions & 1 deletion

File tree

3_transcoding.c

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,30 @@ int main(int argc, char *argv[])
249249
if (encode(decoder, encoder, NULL)) return -1;
250250

251251
av_write_trailer(encoder->avfc);
252-
// TODO: we should free everything!
252+
253+
if (muxer_opts != NULL) {
254+
av_dict_free(&muxer_opts);
255+
muxer_opts = NULL;
256+
}
257+
258+
if (input_frame != NULL) {
259+
av_frame_free(&input_frame);
260+
input_frame = NULL;
261+
}
262+
263+
if (input_packet != NULL) {
264+
av_packet_free(&input_packet);
265+
input_packet = NULL;
266+
}
267+
268+
avformat_free_context(decoder->avfc); decoder->avfc = NULL;
269+
avformat_free_context(encoder->avfc); encoder->avfc = NULL;
270+
271+
avcodec_free_context(&decoder->video_avcc); decoder->video_avcc = NULL;
272+
avcodec_free_context(&decoder->audio_avcc); decoder->audio_avcc = NULL;
273+
274+
free(decoder); decoder = NULL;
275+
free(encoder); encoder = NULL;
253276
return 0;
254277
}
255278

0 commit comments

Comments
 (0)