在codec2代码中看到函数名后面带着后缀vb,nb,sm等,想知道这个缩写的意思,就从代码里面找了下,这些缩写的解释都在代码的注释里面可以找到,vb,nb从字面意思看很好理解,sm不是很直观,但是结合vb,nb,sm应该就是momentarily blocking
virtual c2_status_t query_vb(
const std::vector<C2Param*> &stackParams,
const std::vector<C2Param::Index> &heapParamIndices,
c2_blocking_t mayBlock,
std::vector<std::unique_ptr<C2Param>>* const heapParams) const = 0;
vb: This method has a variable blocking
behavior based on state.
virtual c2_status_t querySupportedParams_nb(
std::vector<std::shared_ptr<C2ParamDescriptor>> * const params) const = 0;
nb: This method MUST be non-blocking
and return within 1ms.
virtual c2_status_t query_sm(
const std::vector<C2Param*> &stackParams,
const std::vector<C2Param::Index> &heapParamIndices,
std::vector<std::unique_ptr<C2Param>>* const heapParams) const = 0;
sm: This method may be momentarily blocking
, but MUST return within 5ms.