File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments