tdm_output_get_dpms(tdm_output *output, tdm_output_dpms *dpms_value);
/**
+ * @brief Check if a output object has the capture capability
+ * @param[in] output A output object
+ * @param[out] has_capability 1: has the capability, 0: not has the capability
+ * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+ */
+tdm_error
+tdm_output_has_capture_capability(tdm_output *output, unsigned int *has_capability);
+
+/**
* @brief Create a capture object of a output object
* @param[in] output A output object
* @param[out] error #TDM_ERROR_NONE if success. Otherwise, error value.
return ret;
}
+EXTERN tdm_error
+tdm_output_has_capture_capability(tdm_output *output, unsigned int *has_capability)
+{
+ tdm_private_module *private_module;
+
+ OUTPUT_FUNC_ENTRY();
+
+ TDM_RETURN_VAL_IF_FAIL(has_capability != NULL, TDM_ERROR_INVALID_PARAMETER);
+
+ _pthread_mutex_lock(&private_display->lock);
+
+ private_module = private_output->private_module;
+
+ if (!(private_module->capabilities & TDM_DISPLAY_CAPABILITY_CAPTURE))
+ *has_capability = 0;
+ else if (!(private_module->caps_capture.capabilities & TDM_CAPTURE_CAPABILITY_OUTPUT))
+ *has_capability = 0;
+ else
+ *has_capability = 1;
+
+ _pthread_mutex_unlock(&private_display->lock);
+
+ return ret;
+}
+
EXTERN tdm_capture *
tdm_output_create_capture(tdm_output *output, tdm_error *error)
{