in FFmpegInterop/Source/FFmpegInteropMSS.cpp [796:825]
static int lock_manager(void **mtx, enum AVLockOp op)
{
switch (op)
{
case AV_LOCK_CREATE:
{
*mtx = new CritSec();
return 0;
}
case AV_LOCK_OBTAIN:
{
auto mutex = static_cast<CritSec*>(*mtx);
mutex->Lock();
return 0;
}
case AV_LOCK_RELEASE:
{
auto mutex = static_cast<CritSec*>(*mtx);
mutex->Unlock();
return 0;
}
case AV_LOCK_DESTROY:
{
auto mutex = static_cast<CritSec*>(*mtx);
delete mutex;
return 0;
}
}
return 1;
}