auto iter= std::find_if(__bufferVector.begin(), __bufferVector.end(), isMatchFunc);
if (iter == __bufferVector.end()) {
- DSLOG_ERR("BuffeQueueTBM", "No Buffer in this BufferQueue.");
- return nullptr;
+ // create a IDSBuffer with tsurface.
+ __bufferVector.push_back(std::make_shared<DSBufferTBMImpl>(__bufferWidth, __bufferWidth, __format, tsurface));
+
+ return __bufferVector.back();
}
return *iter;
bool DSBufferQueueTBMImpl::canAcquireBuffer(bool wait)
{
- if (!tbm_surface_queue_can_acquire(__tqueue, wait)) {
- DSLOG_ERR("BuffeQueueTBM", "tbm_surface_queue_can_acquire fails.");
+ if (!tbm_surface_queue_can_acquire(__tqueue, wait))
return false;
- }
+
+ return true;
return true;
}