mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-29 19:52:06 +08:00
[mpp_enc]: Fix task queue metadata release issue
When encoder dequeue the completed task the input frame should be get from metadata. Change-Id: I134f89974e3655b8c40e358071a32ae4a0c28bc0 Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
@@ -186,10 +186,12 @@ static MPP_RET release_task_in_port(MppPort port)
|
||||
MppTask mpp_task;
|
||||
|
||||
do {
|
||||
ret = mpp_port_dequeue(port, &mpp_task);
|
||||
ret = mpp_port_poll(port, MPP_POLL_NON_BLOCK);
|
||||
if (ret)
|
||||
break;
|
||||
|
||||
mpp_port_dequeue(port, &mpp_task);
|
||||
mpp_assert(mpp_task);
|
||||
if (mpp_task) {
|
||||
packet = NULL;
|
||||
frame = NULL;
|
||||
|
||||
@@ -459,6 +459,12 @@ MPP_RET Mpp::put_frame(MppFrame frame)
|
||||
}
|
||||
|
||||
mpp_assert(mInputTask);
|
||||
if (mInputTask) {
|
||||
MppFrame frm_out = NULL;
|
||||
|
||||
mpp_task_meta_get_frame(mInputTask, KEY_INPUT_FRAME, &frm_out);
|
||||
mpp_assert(frm_out == frame);
|
||||
}
|
||||
|
||||
RET:
|
||||
mpp_stopwatch_record(stopwatch, "put_frame finish");
|
||||
|
||||
Reference in New Issue
Block a user