Add missing frees to stream_close() and do_exit().
authorMartin Storsjö <martin@martin.st>
Sat, 16 May 2009 10:26:41 +0000 (10:26 +0000)
committerCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>
Sat, 16 May 2009 10:26:41 +0000 (10:26 +0000)
Patch by Martin Storsjö, martin martin st

Originally committed as revision 18853 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffplay.c

index cc12b4a..299f4a0 100644 (file)
--- a/ffplay.c
+++ b/ffplay.c
@@ -2188,6 +2188,7 @@ static void stream_close(VideoState *is)
     SDL_DestroyCond(is->pictq_cond);
     SDL_DestroyMutex(is->subpq_mutex);
     SDL_DestroyCond(is->subpq_cond);
     SDL_DestroyCond(is->pictq_cond);
     SDL_DestroyMutex(is->subpq_mutex);
     SDL_DestroyCond(is->subpq_cond);
+    av_free(is);
 }
 
 static void stream_cycle_channel(VideoState *is, int codec_type)
 }
 
 static void stream_cycle_channel(VideoState *is, int codec_type)
@@ -2269,10 +2270,15 @@ static void step_to_next_frame(void)
 
 static void do_exit(void)
 {
 
 static void do_exit(void)
 {
+    int i;
     if (cur_stream) {
         stream_close(cur_stream);
         cur_stream = NULL;
     }
     if (cur_stream) {
         stream_close(cur_stream);
         cur_stream = NULL;
     }
+    for (i = 0; i < CODEC_TYPE_NB; i++)
+        av_free(avcodec_opts[i]);
+    av_free(avformat_opts);
+    av_free(sws_opts);
     if (show_status)
         printf("\n");
     SDL_Quit();
     if (show_status)
         printf("\n");
     SDL_Quit();