mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-06 17:46:50 +08:00
[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:
19
mpp/mpp.cpp
19
mpp/mpp.cpp
@@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user