From 768040fd56e5d327c0e1bb7b2f82c2fcf2e2e8cd Mon Sep 17 00:00:00 2001 From: jintao xu Date: Fri, 31 May 2019 14:33:13 +0800 Subject: [PATCH] pipvideo: fix cur_pipbuf not set to NULL when disable video before unreg [1/1] PD#OTT-4262 Problem: When disable video before unreg, cur_pipbuf will not set to NULL. Next time playback will tog this buffer. Solution: Free cur_pipbuf when vd2 is closed in unreg. Verify: U212 Change-Id: Ie381ae9feda8a5d23a93b3a5974d9c0af87e6d6e Signed-off-by: jintao xu --- drivers/amlogic/media/video_sink/video.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/amlogic/media/video_sink/video.c b/drivers/amlogic/media/video_sink/video.c index e446691..ecd9e75 100644 --- a/drivers/amlogic/media/video_sink/video.c +++ b/drivers/amlogic/media/video_sink/video.c @@ -8771,11 +8771,13 @@ static void pip_vf_unreg_provider(void) try_free_keep_videopip(1); } - if (cur_pipbuf) + if (cur_pipbuf && get_videopip_enabled()) keeped = vf_keep_pip_current_locked(cur_pipbuf, NULL); + else if (cur_pipbuf) + keeped = -1; if (keeped < 0) {/*keep failed.*/ - pr_info("videopip keep failed, disable video now!\n"); + pr_info("videopip disable video now!\n"); safe_disble_videolayer2(); try_free_keep_videopip(1); } -- 2.7.4