Apply Video interface for unique id for wl_window 47/58147/2 accepted/tizen/mobile/20160202.113107 accepted/tizen/tv/20160202.113120 accepted/tizen/wearable/20160202.113145 submit/tizen/20160201.062702
authorHyunil <hyunil46.park@samsung.com>
Thu, 28 Jan 2016 02:07:41 +0000 (11:07 +0900)
committerHyunil <hyunil46.park@samsung.com>
Thu, 28 Jan 2016 08:02:59 +0000 (17:02 +0900)
Change-Id: Ie3ce7bcf6537769361bd02dcdf986182c4b66850
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
src/client/mm_player_client.c
src/include/mm_player_mused.h
src/include/mm_player_priv.h
src/server/mm_player_priv.c

index 7c4b64e..ffa0ff1 100644 (file)
@@ -104,8 +104,6 @@ static int _mmplayer_mused_gst_pause(mm_player_t *player);
 static gboolean __mmplayer_mused_gst_callback(GstBus *bus, GstMessage *msg, gpointer data);
 static GstBusSyncReply __mmplayer_mused_bus_sync_callback (GstBus * bus, GstMessage * message, gpointer data);
 static int __mmplayer_mused_set_state(mm_player_t* player, int state);
-static void __evas_resize_cb (void *data, Evas *e, Evas_Object *eo, void *event_info);
-static void __evas_del_cb (void *data, Evas *e, Evas_Object *eo, void *event_info);
 
 /*===========================================================================================
 |                                                                                                                                                                                      |
@@ -1532,75 +1530,3 @@ int mm_player_get_state_timeout(MMHandleType player, int *timeout, bool is_strea
        return MM_ERROR_NONE;
 }
 
-int mm_player_mused_set_evas_object_cb(MMHandleType player, Evas_Object * eo)
-{
-       mm_player_t* handle = (mm_player_t*) player;
-
-       MMPLAYER_RETURN_VAL_IF_FAIL(player, MM_ERROR_PLAYER_NOT_INITIALIZED);
-       MMPLAYER_RETURN_VAL_IF_FAIL(eo, MM_ERROR_INVALID_ARGUMENT);
-
-       if(handle->have_evas_callback && handle->eo == eo) {
-               LOGW("evas object had callback already %p", handle->eo);
-               return MM_ERROR_INVALID_ARGUMENT;
-       }
-       handle->eo = eo;
-
-       evas_object_event_callback_add (eo, EVAS_CALLBACK_RESIZE, __evas_resize_cb, handle);
-       evas_object_event_callback_add (eo, EVAS_CALLBACK_DEL, __evas_del_cb, handle);
-       LOGD("evas callback add %p", handle->eo);
-       handle->have_evas_callback = TRUE;
-
-       return MM_ERROR_NONE;
-}
-
-int mm_player_mused_unset_evas_object_cb(MMHandleType player)
-{
-       mm_player_t* handle = (mm_player_t*) player;
-
-       MMPLAYER_RETURN_VAL_IF_FAIL(player, MM_ERROR_PLAYER_NOT_INITIALIZED);
-       MMPLAYER_RETURN_VAL_IF_FAIL(handle->eo, MM_ERROR_INVALID_ARGUMENT);
-
-       evas_object_event_callback_del (handle->eo, EVAS_CALLBACK_RESIZE, __evas_resize_cb);
-       evas_object_event_callback_del (handle->eo, EVAS_CALLBACK_DEL, __evas_del_cb);
-       LOGD("evas callback del %p", handle->eo);
-       handle->eo = NULL;
-       handle->have_evas_callback = FALSE;
-
-       return MM_ERROR_NONE;
-}
-
-static void __evas_resize_cb (void *data, Evas *e, Evas_Object *eo, void *event_info)
-{
-       MMHandleType handle = data;
-
-       int wl_window_x = 0;
-       int wl_window_y = 0;
-       int wl_window_width = 0;
-       int wl_window_height = 0;
-
-       evas_object_geometry_get(eo, &wl_window_x, &wl_window_y, &wl_window_width, &wl_window_height);
-       LOGI("get window rectangle: x(%d) y(%d) width(%d) height(%d)", wl_window_x, wl_window_y, wl_window_width, wl_window_height);
-
-
-       int ret = mm_player_set_attribute(handle, NULL,
-                               "wl_window_render_x", wl_window_x,
-                               "wl_window_render_y", wl_window_y,
-                               "wl_window_render_width", wl_window_width,
-                               "wl_window_render_height", wl_window_height,
-                               (char *)NULL);
-       if (ret != MM_ERROR_NONE)
-               LOGE("resizing is failed");
-}
-
-
-static void __evas_del_cb (void *data, Evas *e, Evas_Object *eo, void *event_info)
-{
-       mm_player_t* handle = (mm_player_t*) data;
-
-       evas_object_event_callback_del (eo, EVAS_CALLBACK_RESIZE, __evas_resize_cb);
-       evas_object_event_callback_del (eo, EVAS_CALLBACK_DEL, __evas_del_cb);
-
-       LOGD("evas callback del %p", eo);
-       handle->have_evas_callback = FALSE;
-}
-
index 64f1fcc..c888ded 100644 (file)
@@ -50,8 +50,6 @@ int mm_player_mused_realize(MMHandleType player, char *caps);
 int mm_player_mused_unrealize(MMHandleType player);
 int mm_player_mused_pre_unrealize(MMHandleType player);
 int mm_player_get_state_timeout(MMHandleType player, int *timeout, bool is_streaming);
-int mm_player_mused_set_evas_object_cb(MMHandleType player, Evas_Object * eo);
-int mm_player_mused_unset_evas_object_cb(MMHandleType player);
 
 
 /**
index 901fdbb..c406dae 100755 (executable)
@@ -734,9 +734,6 @@ typedef struct {
 
        int pcm_samplerate;
        int pcm_channel;
-
-       Evas_Object * eo;
-       gboolean have_evas_callback;
 } mm_player_t;
 
 typedef struct
index e8a9f91..aae7707 100644 (file)
@@ -4125,7 +4125,7 @@ _mmplayer_update_video_param(mm_player_t* player) // @
                case MM_DISPLAY_SURFACE_OVERLAY:
                {
                        /* ximagesink or xvimagesink */
-                       void *surface = NULL;
+                       void *handle = NULL;
                        int display_method = 0;
                        int roi_x = 0;
                        int roi_y = 0;
@@ -4140,19 +4140,11 @@ _mmplayer_update_video_param(mm_player_t* player) // @
 
 #ifdef HAVE_WAYLAND
                        /*set wl_display*/
-                       void* wl_display = NULL;
-                       GstContext *context = NULL;
                        int wl_window_x = 0;
                        int wl_window_y = 0;
                        int wl_window_width = 0;
                        int wl_window_height = 0;
 
-                       mm_attrs_get_data_by_name(attrs, "wl_display", &wl_display);
-                       if (wl_display)
-                               context = gst_wayland_display_handle_context_new(wl_display);
-                       if (context)
-                               gst_element_set_context(GST_ELEMENT(player->pipeline->videobin[MMPLAYER_V_SINK].gst), context);
-
                        /*It should be set after setting window*/
                        mm_attrs_get_int_by_name(attrs, "wl_window_render_x", &wl_window_x);
                        mm_attrs_get_int_by_name(attrs, "wl_window_render_y", &wl_window_y);
@@ -4160,26 +4152,27 @@ _mmplayer_update_video_param(mm_player_t* player) // @
                        mm_attrs_get_int_by_name(attrs, "wl_window_render_height", &wl_window_height);
 #endif
                        /* common case if using x surface */
-                       mm_attrs_get_data_by_name(attrs, "display_overlay", &surface);
-                       if ( surface )
+                       mm_attrs_get_data_by_name(attrs, "display_overlay", &handle);
+                       if ( handle )
                        {
 #ifdef HAVE_WAYLAND
-                               guintptr wl_surface = (guintptr)surface;
-                               LOGD("set video param : wayland surface %p", surface);
+                               unsigned int parent_id  = 0;
+                               parent_id = *(int*)handle;
+                               LOGD("set video param : parent_id %d %p",parent_id, *(int*)handle);
                                gst_video_overlay_set_window_handle(
                                                GST_VIDEO_OVERLAY( player->pipeline->videobin[MMPLAYER_V_SINK].gst ),
-                                               wl_surface );
+                                               *(int*)handle );
                                /* After setting window handle, set render      rectangle */
                                gst_video_overlay_set_render_rectangle(
                                         GST_VIDEO_OVERLAY( player->pipeline->videobin[MMPLAYER_V_SINK].gst ),
                                         wl_window_x,wl_window_y,wl_window_width,wl_window_height);
 #else // HAVE_X11
                                int xwin_id = 0;
-                               xwin_id = *(int*)surface;
-                               LOGD("set video param : xid %p", *(int*)surface);
+                               xwin_id = *(int*)handle;
+                               LOGD("set video param : xid %p", *(int*)handle);
                                if (xwin_id)
                                {
-                                       gst_video_overlay_set_window_handle( GST_VIDEO_OVERLAY( player->pipeline->videobin[MMPLAYER_V_SINK].gst ), *(int*)surface );
+                                       gst_video_overlay_set_window_handle( GST_VIDEO_OVERLAY( player->pipeline->videobin[MMPLAYER_V_SINK].gst ), *(int*)handle );
                                }
 #endif
                        }
@@ -4400,11 +4393,6 @@ _mmplayer_update_video_param(mm_player_t* player) // @
                        /* do nothing */
                }
                break;
-               case MM_DISPLAY_SURFACE_REMOTE:
-               {
-                       /* do nothing */
-               }
-               break;
        }
 
        MMPLAYER_FLEAVE();
@@ -5521,12 +5509,6 @@ __mmplayer_gst_create_video_pipeline(mm_player_t* player, GstCaps* caps, MMDispl
                                else
                                        goto ERROR;
                                break;
-                       case MM_DISPLAY_SURFACE_REMOTE:
-                               if (strlen(player->ini.videosink_element_remote) > 0)
-                                       videosink_element = player->ini.videosink_element_remote;
-                               else
-                                       goto ERROR;
-                               break;
                        default:
                                LOGE("unidentified surface type");
                                goto ERROR;
@@ -5552,28 +5534,6 @@ __mmplayer_gst_create_video_pipeline(mm_player_t* player, GstCaps* caps, MMDispl
                                }
                                break;
             }
-                       case MM_DISPLAY_SURFACE_REMOTE:
-                       {
-                               char *stream_path = NULL;
-                               /* video_zc is the result of check ST12/SN12 */
-                               bool use_tbm = player->set_mode.video_zc;
-                               int attr_ret = mm_attrs_get_string_by_name (
-                                               attrs, "shm_stream_path", &stream_path );
-                               if(attr_ret == MM_ERROR_NONE && stream_path) {
-                                       g_object_set(G_OBJECT(player->pipeline->videobin[MMPLAYER_V_SINK].gst),
-                                                       "socket-path", stream_path,
-                                                       "wait-for-connection", FALSE,
-                                                       "sync", TRUE,
-                                                       "perms", 0777,
-                                                       "use-tbm", use_tbm,
-                                                       NULL);
-                                       LOGD("set path \"%s\" for shmsink", stream_path);
-                               } else {
-                                       LOGE("Not set attribute of shm_stream_path");
-                                       goto ERROR;
-                               }
-                               break;
-                       }
                        default:
                                break;
                }
@@ -5647,14 +5607,6 @@ __mmplayer_gst_create_video_pipeline(mm_player_t* player, GstCaps* caps, MMDispl
 
        mm_attrs_set_int_by_name(attrs, "content_video_found", TRUE);
 
-       if(surface_type == MM_DISPLAY_SURFACE_REMOTE &&
-                       MMPLAYER_IS_HTTP_PD(player) )
-       {
-               MMMessageParamType msg = {0, };
-               msg.data = gst_caps_to_string(caps);
-               MMPLAYER_POST_MSG ( player, MM_MESSAGE_VIDEO_BIN_CREATED, &msg );
-       }
-
        MMPLAYER_FLEAVE();
 
        return MM_ERROR_NONE;
@@ -5844,7 +5796,6 @@ static int __mmplayer_gst_create_text_pipeline(mm_player_t* player)
                        case MM_DISPLAY_SURFACE_EVAS:
                        case MM_DISPLAY_SURFACE_GL:
                        case MM_DISPLAY_SURFACE_NULL:
-                       case MM_DISPLAY_SURFACE_REMOTE:
                                if (__mmplayer_gst_create_plain_text_elements(player) != MM_ERROR_NONE)
                                {
                                        LOGE("failed to make plain text elements\n");