diff options
author | Hyunil <hyunil46.park@samsung.com> | 2017-08-02 10:18:51 +0900 |
---|---|---|
committer | Hyunil <hyunil46.park@samsung.com> | 2017-08-02 10:31:18 +0900 |
commit | 3b99df5466e675dd6df3fbf6b2be96d664b652ac (patch) | |
tree | c8640c3cc0b9f82ada396a56b4d0042805906b66 /src/mm_evas_renderer.c | |
parent | 78b162a4dcc9ee4ae4f031919c1d76e4372b096b (diff) | |
download | libmm-evas-renderer-3b99df5466e675dd6df3fbf6b2be96d664b652ac.tar.gz libmm-evas-renderer-3b99df5466e675dd6df3fbf6b2be96d664b652ac.tar.bz2 libmm-evas-renderer-3b99df5466e675dd6df3fbf6b2be96d664b652ac.zip |
Add exception code: The callback function registered by camera or player has not yet been called when evas_resize_callback is called, so the video size is 0tizen_4.0.m2_releasetizen_4.0.IoT.p2_releasetizen_4.0.IoT.p1_releasesubmit/tizen_4.0_unified/20170814.115522submit/tizen_4.0/20170828.110004submit/tizen_4.0/20170828.100004submit/tizen_4.0/20170814.115522submit/tizen_4.0/20170811.094300submit/tizen/20170802.101838accepted/tizen/unified/20170803.075431accepted/tizen/4.0/unified/20170829.015855accepted/tizen/4.0/unified/20170816.015147accepted/tizen/4.0/unified/20170816.012903accepted/tizen_4.0_unified
Change-Id: I1dfd036c23db053a4435ed8cce5ce2f772bc1ce3
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
Diffstat (limited to 'src/mm_evas_renderer.c')
-rwxr-xr-x | src/mm_evas_renderer.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/mm_evas_renderer.c b/src/mm_evas_renderer.c index f221d35..d7b690c 100755 --- a/src/mm_evas_renderer.c +++ b/src/mm_evas_renderer.c @@ -38,7 +38,7 @@ #define SWAP(a, b) ({int t; t = a; a = b; b = t; }) #define INIT_IDX -1 #define SIGNAL_TIMEOUT 1 -#if 0 +#if 1 #define MMER_FENTER(); LOGD("<ENTER>"); #define MMER_FLEAVE(); LOGD("<LEAVE>"); #else @@ -139,6 +139,10 @@ static int _mm_evas_renderer_update_rendering_info(mm_evas_info *evas_info) LOGE("there is no information for evas object size"); return MM_ERROR_EVASRENDER_INTERNAL; } + if (!evas_info->w || !evas_info->h) { + LOGE("there is no video size from mm_evas_renderer_write() which is callback_func of player or camera"); + return MM_ERROR_EVASRENDER_INTERNAL; + } _mm_evas_renderer_update_geometry(evas_info); if (!evas_info->result.w || !evas_info->result.h) { @@ -759,7 +763,7 @@ static int _mm_evas_renderer_destroy(mm_evas_info **evas_info) } else { g_mutex_lock(&ptr->evas_lock); ret = _mm_evas_pipe_write(ptr, UPDATE_DESTROY); - if ( ret == MM_ERROR_NONE) { + if (ret == MM_ERROR_NONE) { LOGD("Wait for g_cond_signal..."); g_cond_wait(&ptr->evas_cond[COND_DESTROY], &ptr->evas_lock); LOGD("get g_cond_signal"); @@ -902,7 +906,8 @@ static void _mm_evas_renderer_update_geometry(mm_evas_info *evas_info) LOGD("swapped width %d, height %d", video_width, video_height); #endif } - + LOGD("eo size (x:%d,y:%d,w:%d,h:%d)", evas_info->eo_size.x, evas_info->eo_size.y, evas_info->eo_size.w, evas_info->eo_size.h); + LOGD("video size (w:%d,h:%d)", video_width, video_height); switch (evas_info->display_geometry_method) { case DISP_GEO_METHOD_LETTER_BOX: /* set black padding for letter box mode */ @@ -1016,7 +1021,7 @@ static int _mm_evas_renderer_retrieve_all_packets(mm_evas_info *evas_info, bool /* flush all packet */ g_mutex_lock(&evas_info->evas_lock); ret = _mm_evas_pipe_write(evas_info, UPDATE_FLUSH_BUFFER); - if ( ret == MM_ERROR_NONE) { + if (ret == MM_ERROR_NONE) { if (!g_cond_wait_until(&evas_info->evas_cond[COND_RETRIEVE], &evas_info->evas_lock, end_time)) { //timeout LOGW("timeout: main thread is busy, App need to handle main thread well."); |