The available video properties is different from the ui properties.
The client needs to get the only available video properties.
Change-Id: Ibb13dded2bec0efc486899daf1a59ea8e528e414
tdm_error
tdm_hwc_get_video_supported_formats(tdm_hwc *hwc, const tbm_format **formats,
int *count);
+/**
+ * @brief Get the available video property array of a hwc object.
+ * @param[in] hwc A hwc
+ * @param[out] props The available video property array
+ * @param[out] count The count of video properties
+ * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+ */
+tdm_error
+tdm_hwc_get_video_available_properties(tdm_hwc *hwc, const tdm_prop **props, int *count);
/**
* @brief Get the hwc video capability
tdm_error (*hwc_get_video_supported_formats)(tdm_hwc *hwc, const tbm_format **formats,
int *count);
/**
+ * @brief Get the available video property array of a hwc object.
+ * @param[in] hwc A hwc object
+ * @param[out] props The available video property array
+ * @param[out] count The count of video properties
+ * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+ */
+ tdm_error (*hwc_get_video_available_properties)(tdm_hwc *hwc, const tdm_prop **props,
+ int *count);
+
+ /**
* @brief Get the hwc video capability
* @param[in] hwc A hwc object
* @param[out] video_capability A hwc hwc video capability
}
EXTERN tdm_error
+tdm_hwc_get_video_available_properties(tdm_hwc *hwc, const tdm_prop **props, int *count)
+{
+ tdm_private_module *private_module;
+ tdm_func_hwc *func_hwc = NULL;
+
+ HWC_FUNC_ENTRY();
+
+ TDM_RETURN_VAL_IF_FAIL(props != NULL, TDM_ERROR_INVALID_PARAMETER);
+ TDM_RETURN_VAL_IF_FAIL(count != NULL, TDM_ERROR_INVALID_PARAMETER);
+
+ _pthread_mutex_lock(&private_display->lock);
+
+ private_module = private_output->private_module;
+ func_hwc = &private_module->func_hwc;
+
+ if (!func_hwc->hwc_get_video_available_properties) {
+ /* LCOV_EXCL_START */
+ _pthread_mutex_unlock(&private_display->lock);
+ TDM_WRN("not implemented!!");
+ return TDM_ERROR_NOT_IMPLEMENTED;
+ /* LCOV_EXCL_STOP */
+ }
+
+ ret = func_hwc->hwc_get_video_available_properties(private_hwc->hwc_backend, props, count);
+
+ _pthread_mutex_unlock(&private_display->lock);
+
+ return ret;
+}
+
+EXTERN tdm_error
tdm_hwc_get_video_capability(tdm_hwc *hwc,
tdm_hwc_video_capability *video_capability)
{