summaryrefslogtreecommitdiff
authorzhiwei.yuan <zhiwei.yuan@amlogic.com>2019-10-16 07:16:11 (GMT)
committer Jianxin Pan <jianxin.pan@amlogic.com>2019-10-21 09:27:44 (GMT)
commit10502f65af0f55822f8bc975a1a5dc6c95d5880e (patch)
tree1b53c2550e5283e467efe6e2723eacf2afec869e
parentf78fc41b0f7b034582642d19047904c55a109c64 (diff)
downloadcommon-10502f65af0f55822f8bc975a1a5dc6c95d5880e.zip
common-10502f65af0f55822f8bc975a1a5dc6c95d5880e.tar.gz
common-10502f65af0f55822f8bc975a1a5dc6c95d5880e.tar.bz2
vdin: The picture received by the screenshot is the previous frame [1/1]
PD#SWPL-15282 Problem: buf is not updated because of absent receiver Solution: force buf recycle after screen cap stopped Verify: verified by t962x3_ab301 Change-Id: Idc5c354a6d744b11a892ffb3f015a5928706d438 Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>
Diffstat
-rw-r--r--drivers/amlogic/media/vin/tvin/vdin/vdin_drv.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/amlogic/media/vin/tvin/vdin/vdin_drv.c b/drivers/amlogic/media/vin/tvin/vdin/vdin_drv.c
index 6bfab70..5f2ef5e 100644
--- a/drivers/amlogic/media/vin/tvin/vdin/vdin_drv.c
+++ b/drivers/amlogic/media/vin/tvin/vdin/vdin_drv.c
@@ -855,6 +855,8 @@ int start_tvin_service(int no, struct vdin_parm_s *para)
if ((devp->parm.reserved & PARAM_STATE_SCREENCAP) &&
(devp->parm.reserved & PARAM_STATE_HISTGRAM) &&
(devp->index == 1)) {
+ /*always update buf to avoid older data be captured*/
+ devp->flags |= VDIN_FLAG_FORCE_RECYCLE;
mutex_unlock(&devp->fe_lock);
return 0;
} else {