[vlc-commits] mmal/deinterlace: Teardown cleanup
Julian Scheel
git at videolan.org
Thu Sep 4 18:19:52 CEST 2014
vlc | branch: master | Julian Scheel <julian at jusst.de> | Thu Sep 4 12:49:52 2014 +0200| [c465b5bcf49913b8931bebfc42a750c672cf7c5c] | committer: Jean-Baptiste Kempf
mmal/deinterlace: Teardown cleanup
Refactor teardown code a little, merging the picture_pool destruction into the
core Close method as well as adding a missing free and tweak teardown order to
be a bit more sane.
Signed-off-by: Julian Scheel <julian at jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c465b5bcf49913b8931bebfc42a750c672cf7c5c
---
modules/hw/mmal/deinterlace.c | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-)
diff --git a/modules/hw/mmal/deinterlace.c b/modules/hw/mmal/deinterlace.c
index 9741f9e..d74f167 100644
--- a/modules/hw/mmal/deinterlace.c
+++ b/modules/hw/mmal/deinterlace.c
@@ -127,15 +127,6 @@ out:
return ret;
}
-static void destroy_picture_pool(filter_t *filter)
-{
- filter_sys_t *sys = filter->p_sys;
-
- if (sys->picture_pool)
- picture_pool_Delete(sys->picture_pool);
- free(sys->pictures);
-}
-
static int Open(filter_t *filter)
{
int32_t frame_duration = filter->fmt_in.video.i_frame_rate != 0 ?
@@ -317,11 +308,6 @@ static void Close(filter_t *filter)
if (sys->component && sys->component->is_enabled)
mmal_component_disable(sys->component);
- if (sys->input_pool)
- mmal_pool_destroy(sys->input_pool);
-
- destroy_picture_pool(filter);
-
while ((buffer = mmal_queue_get(sys->filtered_pictures))) {
picture_t *pic = (picture_t *)buffer->user_data;
picture_Release(pic);
@@ -335,12 +321,20 @@ static void Close(filter_t *filter)
if (sys->filtered_pictures)
mmal_queue_destroy(sys->filtered_pictures);
+ if (sys->input_pool)
+ mmal_pool_destroy(sys->input_pool);
+
if (sys->output_pool)
mmal_pool_destroy(sys->output_pool);
if (sys->component)
mmal_component_release(sys->component);
+ if (sys->picture_pool)
+ picture_pool_Delete(sys->picture_pool);
+
+ vlc_mutex_destroy(&sys->mutex);
+ free(sys->pictures);
free(sys);
bcm_host_deinit();
More information about the vlc-commits
mailing list