width, height,
TBM_FORMAT_ARGB8888);
+ if (!surf_source->tbm_queue) {
+ TPL_ERR("TBM surface queue creation failed!");
+ return TPL_ERROR_OUT_OF_MEMORY;
+ }
+
if (tbm_surface_queue_add_reset_cb(surf_source->tbm_queue,
__cb_tbm_queue_reset_callback,
surf_source) != TBM_SURFACE_QUEUE_ERROR_NONE) {
return TPL_ERROR_INVALID_OPERATION;
}
- if (!surf_source->tbm_queue) {
- TPL_ERR("TBM surface queue creation failed!");
- return TPL_ERROR_OUT_OF_MEMORY;
+ if (tbm_surface_queue_set_modes(surf_source->tbm_queue,
+ TBM_SURFACE_QUEUE_MODE_GUARANTEE_CYCLE) !=
+ TBM_SURFACE_QUEUE_ERROR_NONE) {
+ TPL_ERR("Failed to set queue mode to tbm_surface_queue(%p)",
+ surf_source->tbm_queue);
+ tbm_surface_queue_destroy(surf_source->tbm_queue);
+ return TPL_ERROR_INVALID_OPERATION;
}
if (tbm_surface_queue_add_trace_cb(surf_source->tbm_queue,