OSDN Git Service

examples: Properly free AVCodecContext
authorVittorio Giovara <vittorio.giovara@gmail.com>
Wed, 20 Jul 2016 14:10:17 +0000 (16:10 +0200)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Wed, 20 Jul 2016 15:13:53 +0000 (17:13 +0200)
doc/examples/avcodec.c

index f8d043f..8fee552 100644 (file)
@@ -213,8 +213,7 @@ static void audio_encode_example(const char *filename)
 
     av_freep(&samples);
     av_frame_free(&frame);
-    avcodec_close(c);
-    av_free(c);
+    avcodec_free_context(&c);
 }
 
 /*
@@ -305,8 +304,7 @@ static void audio_decode_example(const char *outfilename, const char *filename)
     fclose(outfile);
     fclose(f);
 
-    avcodec_close(c);
-    av_free(c);
+    avcodec_free_context(&c);
     av_frame_free(&decoded_frame);
 }
 
@@ -428,8 +426,7 @@ static void video_encode_example(const char *filename)
     fwrite(endcode, 1, sizeof(endcode), f);
     fclose(f);
 
-    avcodec_close(c);
-    av_free(c);
+    avcodec_free_context(&c);
     av_freep(&picture->data[0]);
     av_frame_free(&picture);
     printf("\n");
@@ -565,8 +562,7 @@ static void video_decode_example(const char *outfilename, const char *filename)
 
     fclose(f);
 
-    avcodec_close(c);
-    av_free(c);
+    avcodec_free_context(&c);
     av_frame_free(&picture);
     printf("\n");
 }