]> granicus.if.org Git - libvpx/commitdiff
examples: fix memory leak
authorJohn Koleszar <jkoleszar@google.com>
Sat, 14 Jul 2012 00:11:21 +0000 (17:11 -0700)
committerJohn Koleszar <jkoleszar@google.com>
Sat, 14 Jul 2012 00:14:18 +0000 (17:14 -0700)
Free used resources before exiting.

Change-Id: If6cde6541615fbf17bf56ed335b76e676eabba93

examples/encoder_tmpl.txt
examples/twopass_encoder.txt

index 39aa221524a368d7288ed744e8998868e04deddc..1afbd8b497e9cbc169d70920268589c9a95924fa 100644 (file)
@@ -68,6 +68,7 @@ case VPX_CODEC_CX_FRAME_PKT:
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DESTROY
+vpx_img_free(&raw);
 if(vpx_codec_destroy(&codec))
     die_codec(&codec, "Failed to destroy codec");
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DESTROY
index 4683bc708a6c5ca917d0b6a056410d46ad6729e9..2f81a9018c97c295eee2af2f9cc91b359b555e13 100644 (file)
@@ -71,5 +71,17 @@ Pass Progress Reporting
 It's sometimes helpful to see when each pass completes.
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TWOPASS_LOOP_END
     printf("Pass %d complete.\n", pass+1);
+    if(vpx_codec_destroy(&codec))
+        die_codec(&codec, "Failed to destroy codec");
 }
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TWOPASS_LOOP_END
+
+
+Clean-up
+-----------------------------
+Destruction of the encoder instance must be done on each pass. The
+raw image should be destroyed at the end as usual.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DESTROY
+vpx_img_free(&raw);
+free(stats.buf);
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DESTROY