vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Mon Sep 1 23:00:38 2014 +0300| [566c4e77d6dbf2b50dc6c2bbee8c577c9b9d62a8] | committer: Rémi Denis-Courmont
vout: fix memory leaks In combination with the previous patch all crashes (double free()) are solved. Signed-off-by: Rémi Denis-Courmont <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=566c4e77d6dbf2b50dc6c2bbee8c577c9b9d62a8 --- src/video_output/display.c | 8 ++++++-- src/video_output/video_output.c | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/video_output/display.c b/src/video_output/display.c index 547bc2e..614f4d4 100644 --- a/src/video_output/display.c +++ b/src/video_output/display.c @@ -133,6 +133,9 @@ static void vout_display_Delete(vout_display_t *vd) if (vd->module) module_unneed(vd, vd->module); + video_format_Clean(&vd->source); + video_format_Clean(&vd->fmt); + vlc_object_release(vd); } @@ -467,19 +470,20 @@ static void VoutDisplayCreateRender(vout_display_t *vd) es_format_InitFromVideo(&src, &v_src); /* */ - es_format_t dst; - filter_t *filter; for (int i = 0; i < 1 + (v_dst_cmp.i_chroma != v_dst.i_chroma); i++) { + es_format_t dst; es_format_InitFromVideo(&dst, i == 0 ? &v_dst : &v_dst_cmp); filter_chain_Reset(osys->filters, &src, &dst); filter = filter_chain_AppendFilter(osys->filters, NULL, NULL, &src, &dst); + es_format_Clean(&dst); if (filter) break; } + es_format_Clean(&src); if (!filter) msg_Err(vd, "Failed to adapt decoder format to display"); } diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index 7535a23..3f094d4 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -795,6 +795,8 @@ static void ThreadChangeFilters(vout_thread_t *vout, } } + es_format_Clean(&fmt_target); + if (vout->p->filter.configuration != filters) { free(vout->p->filter.configuration); vout->p->filter.configuration = filters ? strdup(filters) : NULL; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
