[mpp_dec]: Fix dead loop on output frame block

When output frame is not get_frame by user immediately the parser thread
will be stuck in a dead loop can cause high cpu usage.

Thanks to mo123's reporting here:
https://forum.libreelec.tv/thread/12151-feedback-for-test-build-libreelec-rk3328-arm-9-0-devel-box-trn9-img/?postID=93519#post93519

Change-Id: If4209e3cf2d329872f05554282e65f4fdce0f3c9
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
Herman Chen
2018-06-08 10:40:20 +08:00
parent 6797faca0a
commit 982f23b44d

View File

@@ -123,6 +123,7 @@ static MPP_RET check_task_wait(MppDec *dec, DecTask *task)
!hal_task_check_empty(dec->tasks, TASK_PROC_DONE)) ||
task->wait.info_change ||
task->wait.dec_pic_buf ||
task->wait.dis_que_full ||
task->wait.dec_slot_idx)
return MPP_NOK;