mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-30 20:16:45 +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;
|
MppTask mpp_task;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
ret = mpp_port_dequeue(port, &mpp_task);
|
ret = mpp_port_poll(port, MPP_POLL_NON_BLOCK);
|
||||||
if (ret)
|
if (ret)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
mpp_port_dequeue(port, &mpp_task);
|
||||||
|
mpp_assert(mpp_task);
|
||||||
if (mpp_task) {
|
if (mpp_task) {
|
||||||
packet = NULL;
|
packet = NULL;
|
||||||
frame = NULL;
|
frame = NULL;
|
||||||
|
|||||||
@@ -459,6 +459,12 @@ MPP_RET Mpp::put_frame(MppFrame frame)
|
|||||||
}
|
}
|
||||||
|
|
||||||
mpp_assert(mInputTask);
|
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:
|
RET:
|
||||||
mpp_stopwatch_record(stopwatch, "put_frame finish");
|
mpp_stopwatch_record(stopwatch, "put_frame finish");
|
||||||
|
|||||||
Reference in New Issue
Block a user