From 2f30c9714da3614552c650beee765e7cdeea2615 Mon Sep 17 00:00:00 2001 From: Hyunil Date: Thu, 25 Aug 2016 09:30:33 +0900 Subject: [PATCH] Only support setting render_rectangle on ROI display mode. Change-Id: Ic5b92657e05a3fefa158cc5690008415ff0b930c Signed-off-by: Hyunil --- packaging/libmm-player.spec | 2 +- src/mm_player_priv.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec index 5060a27..6721aa3 100644 --- a/packaging/libmm-player.spec +++ b/packaging/libmm-player.spec @@ -1,6 +1,6 @@ Name: libmm-player Summary: Multimedia Framework Player Library -Version: 0.5.95 +Version: 0.5.96 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c index b7b9734..181ec4d 100644 --- a/src/mm_player_priv.c +++ b/src/mm_player_priv.c @@ -103,6 +103,8 @@ (strlen(player->http_file_buffering_path) > 0)) #define MM_PLAYER_NAME "mmplayer" +#define PLAYER_DISPLAY_MODE_DST_ROI 5 + /*--------------------------------------------------------------------------- | LOCAL CONSTANT DEFINITIONS: | ---------------------------------------------------------------------------*/ @@ -3770,6 +3772,7 @@ void __mmplayer_video_param_set_render_rectangle(mm_player_t* player) { MMHandleType attrs = 0; + int display_method = 0; void *handle = NULL; /*set wl_display*/ int wl_window_x = 0; @@ -3785,6 +3788,12 @@ __mmplayer_video_param_set_render_rectangle(mm_player_t* player) attrs = MMPLAYER_GET_ATTRS(player); MMPLAYER_RETURN_IF_FAIL(attrs); + /* check roi mode is set */ + mm_attrs_get_int_by_name(attrs, "display_method", &display_method); + if (display_method != PLAYER_DISPLAY_MODE_DST_ROI) { + LOGE("must be set display-geometry-method to DISP_GEO_METHOD_CUSTOM_ROI before setting render rectangle"); + return; + } mm_attrs_get_data_by_name(attrs, "display_overlay", &handle); if (handle) { @@ -3872,10 +3881,10 @@ __mmplayer_update_wayland_videosink_video_param(mm_player_t* player, char *param if (update_all_param || !g_strcmp0(param_name, "display_overlay")) __mmplayer_video_param_set_display_overlay(player); - if (update_all_param || !g_strcmp0(param_name, "wl_window_render_x") || !g_strcmp0(param_name, "display_overlay")) - __mmplayer_video_param_set_render_rectangle(player); if (update_all_param || !g_strcmp0(param_name, "display_method")) __mmplayer_video_param_set_display_method(player); + if (update_all_param || !g_strcmp0(param_name, "wl_window_render_x")) + __mmplayer_video_param_set_render_rectangle(player); if (update_all_param || !g_strcmp0(param_name, "display_visible")) __mmplayer_video_param_set_display_visible(player); if (update_all_param || !g_strcmp0(param_name, "display_rotation")) -- 2.7.4