From d0075941ca2086095cb56054727b2d5c262a23e5 Mon Sep 17 00:00:00 2001 From: "Yao.Liu" Date: Mon, 30 Oct 2017 16:48:47 +0800 Subject: [PATCH] ionvideo: init input_queue and output_queue in vidioc_open PD#152800: dont cleaning buffer queue when codec_reset, omx handle it Change-Id: I0c6ff9ccc729d55da8c601c4fef8210c6fbe0b42 Signed-off-by: Yao.Liu --- .../amlogic/media/video_processor/ionvideo/ionvideo.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/amlogic/media/video_processor/ionvideo/ionvideo.c b/drivers/amlogic/media/video_processor/ionvideo/ionvideo.c index a0313c9fd8e1..2e7d96edbc0a 100644 --- a/drivers/amlogic/media/video_processor/ionvideo/ionvideo.c +++ b/drivers/amlogic/media/video_processor/ionvideo/ionvideo.c @@ -527,6 +527,12 @@ static int vidioc_open(struct file *file) dev->vf_wait_cnt = 0; /*for libplayer osd*/ dev->freerun_mode = freerun_mode; + + v4l2q_init(&dev->input_queue, IONVIDEO_POOL_SIZE + 1, + &dev->ionvideo_input_queue[0]); + v4l2q_init(&dev->output_queue, IONVIDEO_POOL_SIZE + 1, + &dev->ionvideo_output_queue[0]); + //dprintk(dev, 2, "vidioc_open\n"); IONVID_DBG("ionvideo open\n"); init_waitqueue_head(&dev->wq); @@ -927,10 +933,6 @@ static int video_receiver_event_fun(int type, void *data, void *private_data) dev->active_state = ION_ACTIVE; init_completion(&dev->inactive_done); - v4l2q_init(&dev->input_queue, IONVIDEO_POOL_SIZE + 1, - &dev->ionvideo_input_queue[0]); - v4l2q_init(&dev->output_queue, IONVIDEO_POOL_SIZE + 1, - &dev->ionvideo_output_queue[0]); IONVID_INFO("reg:ionvideo\n"); } else if (type == VFRAME_EVENT_PROVIDER_QUREY_STATE) { if (dev->vf_wait_cnt > 1)