summaryrefslogtreecommitdiff
path: root/sys/mfc
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2012-12-24 16:23:55 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2012-12-31 15:59:07 +0100
commit817d30f13054addcb9c7f95ee39d8b3e69f4cfb3 (patch)
treef5d5126296f8bb55f32bf485140a4eedb3a36100 /sys/mfc
parent21258a52cdf4540e80139bffa93f46fd3b2e679c (diff)
downloadgstreamer-plugins-bad-817d30f13054addcb9c7f95ee39d8b3e69f4cfb3.tar.gz
mfc: Don't leak buffers when setting new dest settings for a direct buffer
Diffstat (limited to 'sys/mfc')
-rw-r--r--sys/mfc/fimc/fimc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/mfc/fimc/fimc.c b/sys/mfc/fimc/fimc.c
index 011dd066c..a5990b686 100644
--- a/sys/mfc/fimc/fimc.c
+++ b/sys/mfc/fimc/fimc.c
@@ -439,6 +439,13 @@ fimc_set_dst_format_direct (Fimc * fimc, FimcColorFormat format, int width,
crop_top, crop_width, crop_height) < 0)
return -1;
+ for (i = 0; i < 3; i++) {
+ if (fimc->dst_buffer_data[i])
+ munmap (fimc->dst_buffer_data[i], fimc->dst_buffer_size[i]);
+ fimc->dst_buffer_data[i] = NULL;
+ fimc->dst_buffer_size[i] = 0;
+ }
+
buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
buffer.memory = V4L2_MEMORY_MMAP;
buffer.index = 0;