[0.3.144] Add PLAYER_DISPLAY_OVERLAY_SYNC_UI type for sync UI and video
[platform/core/api/player.git] / src / player.c
index 90686b2..461f6bb 100644 (file)
@@ -176,8 +176,6 @@ static bool _player_get_param_value(char *buf, ...)
        char *param_name = NULL;
        void *value = NULL;
 
-       LOGE("ENTER");
-
        void *jobj = muse_core_msg_object_new(buf, NULL, &err);
 
        if (!jobj) {
@@ -3027,6 +3025,9 @@ int _player_convert_display_type(player_display_type_e type, mm_display_type_e *
        case PLAYER_DISPLAY_TYPE_OVERLAY:
                *out_type = MM_DISPLAY_TYPE_OVERLAY;
                break;
+       case PLAYER_DISPLAY_TYPE_OVERLAY_SYNC_UI:
+               *out_type = MM_DISPLAY_TYPE_OVERLAY_SYNC_UI;
+               break;
        case PLAYER_DISPLAY_TYPE_EVAS:
                *out_type = MM_DISPLAY_TYPE_EVAS;
                break;
@@ -3094,7 +3095,9 @@ int player_set_display(player_h player, player_display_type_e type, player_displ
                        return PLAYER_ERROR_INVALID_OPERATION;
                }
 
-               if (conv_type == MM_DISPLAY_TYPE_EVAS) {
+               if (conv_type == MM_DISPLAY_TYPE_OVERLAY_SYNC_UI) {
+                       g_strlcpy(wl_win.exported_shell_handle, (char *)display, MAX_EXPORTED_SHELL_HANDLE_LEN);
+               } else if (conv_type == MM_DISPLAY_TYPE_EVAS) {
                        /* before evas handle is created, user could set display information */
                        player_display_mode_e mode = PLAYER_DISPLAY_MODE_LETTER_BOX;
                        player_display_rotation_e rotation = PLAYER_DISPLAY_ROTATION_NONE;
@@ -3168,6 +3171,11 @@ int player_set_display_mode(player_h player, player_display_mode_e mode)
 
        PLAYER_GET_DISPLAY_TYPE(pc, display_type);
 
+       if (display_type == MM_DISPLAY_TYPE_OVERLAY_SYNC_UI) {
+               LOGE("Function is not available in MM_DISPLAY_TYPE_OVERLAY_SYNC_UI type");
+               return PLAYER_ERROR_NOT_AVAILABLE;
+       }
+
        if (display_type == MM_DISPLAY_TYPE_EVAS) {
                mm_ret = mm_display_interface_evas_set_mode(DP_INTERFACE(pc), mode);
                if (mm_ret != MM_ERROR_NONE) {
@@ -3190,12 +3198,20 @@ int player_get_display_mode(player_h player, player_display_mode_e *pmode)
        player_cli_s *pc = (player_cli_s *)player;
        char *ret_buf = NULL;
        int mode = -1;
+       mm_display_type_e display_type = MM_DISPLAY_TYPE_NONE;
 
        PLAYER_INSTANCE_CHECK(player);
        PLAYER_NULL_ARG_CHECK(pmode);
 
        LOGD("ENTER");
 
+       PLAYER_GET_DISPLAY_TYPE(pc, display_type);
+
+       if (display_type == MM_DISPLAY_TYPE_OVERLAY_SYNC_UI) {
+               LOGE("Function is not available in MM_DISPLAY_TYPE_OVERLAY_SYNC_UI type");
+               return PLAYER_ERROR_NOT_AVAILABLE;
+       }
+
        PLAYER_SEND_MSG(api, pc, ret_buf, ret);
 
        if (ret == PLAYER_ERROR_NONE) {
@@ -3223,6 +3239,11 @@ int player_set_video_roi_area(player_h player, double x_scale, double y_scale,
 
        PLAYER_GET_DISPLAY_TYPE(pc, display_type);
 
+       if (display_type == MM_DISPLAY_TYPE_OVERLAY_SYNC_UI) {
+               LOGE("Function is not available in MM_DISPLAY_TYPE_OVERLAY_SYNC_UI type");
+               return PLAYER_ERROR_NOT_AVAILABLE;
+       }
+
        if (display_type == MM_DISPLAY_TYPE_EVAS) {
                LOGE("Display type is EVAS, video display interface is not supported");
                return PLAYER_ERROR_INVALID_OPERATION;
@@ -3251,8 +3272,16 @@ int player_get_video_roi_area(player_h player, double *x_scale, double *y_scale,
        player_cli_s *pc = (player_cli_s *)player;
        char *ret_buf = NULL;
        double scale_x = 0, scale_y = 0, scale_w = 0, scale_h = 0;
+       mm_display_type_e display_type = MM_DISPLAY_TYPE_NONE;
 
        PLAYER_INSTANCE_CHECK(player);
+       PLAYER_GET_DISPLAY_TYPE(pc, display_type);
+
+       if (display_type == MM_DISPLAY_TYPE_OVERLAY_SYNC_UI) {
+               LOGE("Function is not available in MM_DISPLAY_TYPE_OVERLAY_SYNC_UI type");
+               return PLAYER_ERROR_NOT_AVAILABLE;
+       }
+
        PLAYER_NULL_ARG_CHECK(x_scale && y_scale && w_scale && h_scale);
 
        PLAYER_SEND_MSG(api, pc, ret_buf, ret);
@@ -3365,6 +3394,11 @@ int player_set_display_rotation(player_h player, player_display_rotation_e rotat
 
        PLAYER_GET_DISPLAY_TYPE(pc, display_type);
 
+       if (display_type == MM_DISPLAY_TYPE_OVERLAY_SYNC_UI) {
+               LOGE("Function is not available in MM_DISPLAY_TYPE_OVERLAY_SYNC_UI type");
+               return PLAYER_ERROR_NOT_AVAILABLE;
+       }
+
        if (display_type == MM_DISPLAY_TYPE_EVAS) {
                mm_ret = mm_display_interface_evas_set_rotation(DP_INTERFACE(pc), rotation);
                if (mm_ret != MM_ERROR_NONE) {
@@ -3387,8 +3421,16 @@ int player_get_display_rotation(player_h player, player_display_rotation_e *prot
        muse_player_api_e api = MUSE_PLAYER_API_GET_DISPLAY_ROTATION;
        char *ret_buf = NULL;
        int rotation = -1;
+       mm_display_type_e display_type = MM_DISPLAY_TYPE_NONE;
 
        PLAYER_INSTANCE_CHECK(player);
+       PLAYER_GET_DISPLAY_TYPE(pc, display_type);
+
+       if (display_type == MM_DISPLAY_TYPE_OVERLAY_SYNC_UI) {
+               LOGE("Function is not available in MM_DISPLAY_TYPE_OVERLAY_SYNC_UI type");
+               return PLAYER_ERROR_NOT_AVAILABLE;
+       }
+
        PLAYER_NULL_ARG_CHECK(protation);
 
        LOGD("ENTER");