From: Boram Park Date: Wed, 7 Mar 2018 01:21:19 +0000 (+0900) Subject: output: add tdm_output_has_capture_capability X-Git-Tag: accepted/tizen/unified/20180307.071357~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F12%2F171712%2F1;p=platform%2Fcore%2Fuifw%2Flibtdm.git output: add tdm_output_has_capture_capability Change-Id: Ida5763d36449c1bb7c2734e63bdbf25eb4b0d90b --- diff --git a/include/tdm.h b/include/tdm.h index 19d30ba..bc1f0ef 100644 --- a/include/tdm.h +++ b/include/tdm.h @@ -548,6 +548,15 @@ tdm_error 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. diff --git a/src/tdm_output.c b/src/tdm_output.c index 03dcd45..15ebd81 100644 --- a/src/tdm_output.c +++ b/src/tdm_output.c @@ -1473,6 +1473,31 @@ tdm_output_get_dpms(tdm_output *output, tdm_output_dpms *dpms_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) {