From 586f8c6ea978452356d0a0793b375c4d450d2ece Mon Sep 17 00:00:00 2001 From: Boram Park Date: Tue, 20 Feb 2018 13:56:16 +0900 Subject: [PATCH] add tdm_layer_get_output Change-Id: Icbc2003297276a45b6d2d7f3cda54393aa12bc0d --- include/tdm.h | 8 ++++++++ src/tdm_layer.c | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/include/tdm.h b/include/tdm.h index 618f896..70c99af 100644 --- a/include/tdm.h +++ b/include/tdm.h @@ -765,6 +765,14 @@ tdm_output_hwc_get_video_supported_formats(tdm_layer *layer, const tbm_format ** int *count); /** + * @brief Get a output object of a layer object + * @param[in] layer A layer object + * @return A TDM output object if success. Otherwise, NULL. + */ +tdm_output* +tdm_layer_get_output(tdm_layer *layer, tdm_error *error); + +/** * @brief Get the capabilities of a layer object. * @param[in] layer A layer object * @param[out] capabilities The capabilities of a layer object diff --git a/src/tdm_layer.c b/src/tdm_layer.c index 2f97c5c..0ce567e 100644 --- a/src/tdm_layer.c +++ b/src/tdm_layer.c @@ -80,6 +80,25 @@ static void _tdm_layer_cb_output_commit(tdm_output *output, unsigned int sequenc unsigned int tv_sec, unsigned int tv_usec, void *user_data); static void _tdm_layer_reset_pending_data(tdm_private_layer *private_layer); +EXTERN tdm_output* +tdm_layer_get_output(tdm_layer *layer, tdm_error *error) +{ + tdm_output *output; + + LAYER_FUNC_ENTRY_ERROR(); + + _pthread_mutex_lock(&private_display->lock); + + if (error) + *error = TDM_ERROR_NONE; + + output = private_layer->private_output; + + _pthread_mutex_unlock(&private_display->lock); + + return output; +} + EXTERN tdm_error tdm_layer_get_capabilities(tdm_layer *layer, tdm_layer_capability *capabilities) { -- 2.7.4