[mpp]: fix missing unlock on reset

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@404 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
ChenHengming
2015-10-20 22:28:44 +00:00
parent 7708015713
commit f6caca5e61

View File

@@ -238,6 +238,7 @@ MPP_RET Mpp::get_packet(MppPacket *packet)
} }
return MPP_OK; return MPP_OK;
} }
MPP_RET Mpp::control(MpiCmd cmd, MppParam param) MPP_RET Mpp::control(MpiCmd cmd, MppParam param)
{ {
switch (cmd) { switch (cmd) {
@@ -270,24 +271,24 @@ MPP_RET Mpp::control(MpiCmd cmd, MppParam param)
MPP_RET Mpp::reset() MPP_RET Mpp::reset()
{ {
{ mPackets->lock();
Mutex::Autolock autoLock(mPackets->mutex()); mPackets->flush();
mPackets->flush(); mPackets->unlock();
}
{ mFrames->lock();
Mutex::Autolock autoLock(mFrames->mutex()); mFrames->flush();
mFrames->flush(); mFrames->unlock();
}
mThreadCodec->reset_lock(); mThreadCodec->reset_lock();
if (mType == MPP_CTX_DEC) { if (mType == MPP_CTX_DEC) {
mpp_dec_reset(mDec); mpp_dec_reset(mDec);
mThreadCodec->signal(); mThreadCodec->signal();
mThreadCodec->reset_wait(); mThreadCodec->reset_wait();
mThreadCodec->reset_unlock();
} else { } else {
mpp_dec_reset(mEnc); mpp_dec_reset(mEnc);
} }
mThreadCodec->reset_unlock();
return MPP_OK; return MPP_OK;
} }