diff --git a/mpp/codec/mpp_enc_impl.cpp b/mpp/codec/mpp_enc_impl.cpp index 158ace4b..fe125b7e 100644 --- a/mpp/codec/mpp_enc_impl.cpp +++ b/mpp/codec/mpp_enc_impl.cpp @@ -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; diff --git a/mpp/mpp.cpp b/mpp/mpp.cpp index 55ad5289..2f5ce936 100644 --- a/mpp/mpp.cpp +++ b/mpp/mpp.cpp @@ -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");