From: Hyunsoo Park Date: Wed, 7 Oct 2020 03:07:14 +0000 (+0900) Subject: Remove testsuite of no use X-Git-Tag: submit/tizen/20210202.032715~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2ec9464b378f9925098fe8850e88c55cc5138156;p=platform%2Fcore%2Fapi%2Fscreen-mirroring.git Remove testsuite of no use Change-Id: I3d6cb59180dbcd7c3bc61d3199c258f8a308399c Signed-off-by: Hyunsoo Park --- diff --git a/packaging/capi-media-screen-mirroring.spec b/packaging/capi-media-screen-mirroring.spec index fa61326..a484804 100644 --- a/packaging/capi-media-screen-mirroring.spec +++ b/packaging/capi-media-screen-mirroring.spec @@ -1,6 +1,6 @@ Name: capi-media-screen-mirroring Summary: A screen mirroring library in Tizen C API -Version: 0.2.18 +Version: 0.2.19 Release: 1 Group: Multimedia/API License: Apache-2.0 diff --git a/test_sink/README.txt b/test_sink/README.txt index f879f02..1871d99 100644 --- a/test_sink/README.txt +++ b/test_sink/README.txt @@ -7,8 +7,4 @@ *scmirroring_sink_test : This is screen mirroring 'SINK' testsuite. It reaches in 'PLAYING' state at once with command 's'. - When command 's' is input, APIs for displaying screen mirroring are run in order(scmirroring_sink_prepare > scmirroring_sink_connect > scmirorring_sink_start). - -*scmirroring_sink_test_SBS -: This is screen mirroring 'SINK' testsuite. - It can allows you to running APIs individually which is run automatically in 'scmirroring_sink_test' testsuite. + When command 's' is input, APIs for displaying screen mirroring are run in order(scmirroring_sink_prepare > scmirroring_sink_connect > scmirorring_sink_start). \ No newline at end of file diff --git a/test_sink/scmirroring_sink_test_SBS.c b/test_sink/scmirroring_sink_test_SBS.c deleted file mode 100644 index a1c9f2d..0000000 --- a/test_sink/scmirroring_sink_test_SBS.c +++ /dev/null @@ -1,1277 +0,0 @@ -/* -* Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -#include -#include -#include -#include -#include -#include - -#include -#include - -#define MAX_STRING_LEN 2048 -#define SINKTEST_EXECUTE_DELAY 5000 -#define MAIN_MENU 0 -#define SUBMENU_RESOLUTION 1 -#define SUBMENU_GETTING_STREAM_INFO 2 -#define SUBMENU_SETTING_SINK 3 -#define SUBMENU_SETTING_WINDOW_SIZE 4 - -//#define TEST_WITH_WIFI_DIRECT - -#define PACKAGE "scmirroring_sink_test_SBS" -static int app_create(void *data); -static int app_terminate(void *data); -static Evas_Object* _create_win(const char *name); -static Evas_Object *create_evas_image_object(Evas_Object *eo_parent); -static void _win_del(void *data, Evas_Object *obj, void *event); -static gboolean _scmirroring_start_jobs(gpointer data); - -struct appcore_ops ops = { - .create = app_create, - .terminate = app_terminate, -}; -static Evas_Object* g_evas; -static Evas_Object* g_eo = NULL; - -scmirroring_sink_h g_scmirroring = NULL; -gint g_resolution = 0; -gint g_sinktype = SCMIRRORING_DISPLAY_TYPE_OVERLAY; - -gint g_menu = MAIN_MENU; - -#ifdef TEST_WITH_WIFI_DIRECT -static int g_peer_cnt = 0; -static char g_peer_ip[32]; -static char g_peer_port[32]; -static char g_src_mac_addr[18] = {0, }; -#define DEFAULT_SCREEN_MIRRORING_PORT 2022 -#endif - -gboolean __scmirroring_sink_start(gpointer data); - -#ifndef TEST_WITH_WIFI_DIRECT -static int __scmirroring_sink_create(gpointer data); -static int __scmirroring_sink_prepare(gpointer data); -static int __scmirroring_sink_connect(gpointer data); -static int __scmirroring_sink_unprepare(gpointer data); -static int __scmirroring_sink_destroy(gpointer data); -static int __scmirroring_sink_start_only(gpointer data); -#endif -#ifdef TEST_WITH_WIFI_DIRECT -static gboolean __start_wifi_display_connection(); -static gboolean __start_p2p_connection(gpointer data); -static gboolean __disconnect_p2p_connection(void); -#endif -static void __quit_program(void); -gboolean __timeout_menu_display(void *data); - -/* Submenu for setting resolution */ -static void __display_resolution_submenu(void); -gboolean __timeout_resolution_submenu_display(void *data); -static void __interpret_resolution_submenu(char *cmd); - -/* Submenu for getting negotiated audio and video information */ -static void __display_stream_info_submenu(void); -gboolean __timeout_stream_info_submenu_display(void *data); -static void __interpret_stream_info_submenu(char *cmd); - -/* Submenu for setting sink type */ -gboolean __timeout_sink_submenu_display(void *data); -static void __display_sink_submenu(void); -static void __interpret_sink_submenu(char *cmd); -static void create_render_rect_and_bg(Evas_Object *win); - -/* Submenu for setting window size */ -gboolean __timeout_window_size_submenu_display(void *data); -static void __display_window_size_submenu(void); -static void __interpret_window_size_submenu(char *cmd); - -static void create_render_rect_and_bg(Evas_Object *win); -void create_render_rect_and_bg(Evas_Object *win) -{ - if (!win) { - g_print("no win"); - return; - } - Evas_Object *bg, *rect; - - bg = elm_bg_add(win); - elm_win_resize_object_add(win, bg); - evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bg); - - rect = evas_object_rectangle_add(evas_object_evas_get(win)); - if (!rect) { - g_print("no rect"); - return; - } - evas_object_color_set(rect, 0, 0, 0, 0); - evas_object_render_op_set(rect, EVAS_RENDER_COPY); - - elm_win_resize_object_add(win, rect); - evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(rect); - evas_object_show(win); -} - -static void _win_del(void *data, Evas_Object *obj, void *event) -{ - elm_exit(); -} - - -static Evas_Object* _create_win(const char *name) -{ - Evas_Object *eo = NULL; - int w = 0; - int h = 0; - - g_printf("[%s][%d] name=%s\n", __func__, __LINE__, name); - - eo = elm_win_add(NULL, name, ELM_WIN_BASIC); - if (eo) { - elm_win_title_set(eo, name); - elm_win_borderless_set(eo, EINA_TRUE); - evas_object_smart_callback_add(eo, "delete,request", _win_del, NULL); - elm_win_autodel_set(eo, EINA_TRUE); - elm_win_screen_size_get(eo, NULL, NULL, &w, &h); - g_print("window size :%d,%d\n", w, h); - elm_win_alpha_set(eo, EINA_TRUE); - } - return eo; -} - -static Evas_Object *create_evas_image_object(Evas_Object *eo_parent) -{ - if (!eo_parent) - return NULL; - - Evas *evas = evas_object_evas_get(eo_parent); - Evas_Object *eo = NULL; - - eo = evas_object_image_add(evas); - - return eo; -} - -static int app_create(void *data) -{ - - gboolean result = FALSE; - - g_print("app_create enter"); - - Evas_Object *win = NULL; - /* create window */ - win = _create_win(PACKAGE); - if (win == NULL) - return -1; - g_evas = win; - create_render_rect_and_bg(g_evas); - - elm_win_activate(win); - evas_object_show(win); - - result = _scmirroring_start_jobs((void *)NULL); - if (result != TRUE) - g_print("failed _scmirroring_start_jobs "); - - g_print("app_create leave"); - - return result; - -} -static int app_terminate(void *data) -{ - - if (g_evas) { - evas_object_del(g_evas); - g_evas = NULL; - } - return 0; -} - -gboolean __timeout_sink_submenu_display(void *data) -{ - __display_sink_submenu(); - return FALSE; -} - -static void __display_sink_submenu(void) -{ - g_print("\n"); - g_print("**********************************************************************\n"); - g_print(" Setting sink \n"); - g_print("**********************************************************************\n"); - g_print("1 : SCMIRRORING_DISPLAY_TYPE_OVERLAY with No Surface(DEFAULT)\n"); - g_print("2 : SCMIRRORING_DISPLAY_TYPE_OVERLAY with Surface\n"); - g_print("3 : SCMIRRORING_DISPLAY_TYPE_EVAS\n"); - g_print("g : Go back to main menu \n"); - g_print("**********************************************************************\n"); - -} - -static void __interpret_sink_submenu(char *cmd) -{ - if (strncmp(cmd, "1", 1) == 0) { - g_print("SCMIRRORING_DISPLAY_TYPE_OVERLAY with No Surface\n"); - g_sinktype = -1; - } else if (strncmp(cmd, "2", 1) == 0) { - g_print("SCMIRRORING_DISPLAY_TYPE_OVERLAY with Surface\n"); - g_sinktype = SCMIRRORING_DISPLAY_TYPE_OVERLAY; - } else if (strncmp(cmd, "3", 1) == 0) { - g_print("SCMIRRORING_DISPLAY_TYPE_EVAS\n"); - g_sinktype = SCMIRRORING_DISPLAY_TYPE_EVAS; - } else if (strncmp(cmd, "g", 1) == 0) { - g_print("go back to main menu\n"); - g_menu = MAIN_MENU; - g_timeout_add(100, __timeout_menu_display, 0); - return; - } - - g_print("sink type : %d\n", g_sinktype); - g_timeout_add(100, __timeout_sink_submenu_display, 0); - return; -} - -gboolean __timeout_resolution_submenu_display(void *data) -{ - __display_resolution_submenu(); - return FALSE; -} - -static void __display_resolution_submenu(void) -{ - g_print("\n"); - g_print("**********************************************************************\n"); - g_print(" Setting resolution \n"); - g_print("**********************************************************************\n"); - g_print("1 : SCMIRRORING_RESOLUTION_1920x1080_P30 [%d]\n", SCMIRRORING_RESOLUTION_1920x1080_P30); - g_print("2 : SCMIRRORING_RESOLUTION_1280x720_P30 [%d]\n", SCMIRRORING_RESOLUTION_1280x720_P30); - g_print("3 : SCMIRRORING_RESOLUTION_960x540_P30 [%d]\n", SCMIRRORING_RESOLUTION_960x540_P30); - g_print("4 : SCMIRRORING_RESOLUTION_864x480_P30 [%d]\n", SCMIRRORING_RESOLUTION_864x480_P30); - g_print("5 : SCMIRRORING_RESOLUTION_720x480_P60 [%d]\n", SCMIRRORING_RESOLUTION_720x480_P60); - g_print("6 : SCMIRRORING_RESOLUTION_640x480_P60 [%d]\n", SCMIRRORING_RESOLUTION_640x480_P60); - g_print("7 : SCMIRRORING_RESOLUTION_640x360_P30 [%d]\n", SCMIRRORING_RESOLUTION_640x360_P30); - g_print("r : Reset resolution \n"); - g_print("g : Go back to main menu \n"); - g_print("**********************************************************************\n"); - -} - -static void __interpret_resolution_submenu(char *cmd) -{ - if (strncmp(cmd, "1", 1) == 0) { - g_print("resolution |= SCMIRRORING_RESOLUTION_1920x1080_P30[%d]\n", SCMIRRORING_RESOLUTION_1920x1080_P30); - g_resolution |= SCMIRRORING_RESOLUTION_1920x1080_P30; - } else if (strncmp(cmd, "2", 1) == 0) { - g_print("resolution |= SCMIRRORING_RESOLUTION_1280x720_P30[%d]\n", SCMIRRORING_RESOLUTION_1280x720_P30); - g_resolution |= SCMIRRORING_RESOLUTION_1280x720_P30; - } else if (strncmp(cmd, "3", 1) == 0) { - g_print("resolution |= SCMIRRORING_RESOLUTION_960x540_P30[%d]\n", SCMIRRORING_RESOLUTION_960x540_P30); - g_resolution |= SCMIRRORING_RESOLUTION_960x540_P30; - } else if (strncmp(cmd, "4", 1) == 0) { - g_print("resolution |= SCMIRRORING_RESOLUTION_864x480_P30[%d]\n", SCMIRRORING_RESOLUTION_864x480_P30); - g_resolution |= SCMIRRORING_RESOLUTION_864x480_P30; - } else if (strncmp(cmd, "5", 1) == 0) { - g_print("resolution |= SCMIRRORING_RESOLUTION_720x480_P60[%d]\n", SCMIRRORING_RESOLUTION_720x480_P60); - g_resolution |= SCMIRRORING_RESOLUTION_720x480_P60; - } else if (strncmp(cmd, "6", 1) == 0) { - g_print("resolution |= SCMIRRORING_RESOLUTION_640x480_P60[%d]\n", SCMIRRORING_RESOLUTION_640x480_P60); - g_resolution |= SCMIRRORING_RESOLUTION_640x480_P60; - } else if (strncmp(cmd, "7", 1) == 0) { - g_print("resolution |= SCMIRRORING_RESOLUTION_640x360_P30[%d]\n", SCMIRRORING_RESOLUTION_640x360_P30); - g_resolution |= SCMIRRORING_RESOLUTION_640x360_P30; - } else if (strncmp(cmd, "r", 1) == 0) { - g_resolution = 0; - } else if (strncmp(cmd, "g", 1) == 0) { - g_print("go back to main menu\n"); - g_menu = MAIN_MENU; - g_timeout_add(100, __timeout_menu_display, 0); - return; - } - - g_print("resolution : %d\n", g_resolution); - scmirroring_sink_set_resolution(g_scmirroring, g_resolution); - g_timeout_add(100, __timeout_resolution_submenu_display, 0); - - return; -} - -gboolean __timeout_stream_info_submenu_display(void *data) -{ - __display_stream_info_submenu(); - return FALSE; -} - -static void __display_stream_info_submenu(void) -{ - g_print("\n"); - g_print("**********************************************************************\n"); - g_print(" Getting negotiated audio and video information \n"); - g_print("**********************************************************************\n"); - g_print("1 : video codec\n"); - g_print("2 : video resolution\n"); - g_print("3 : video frame rate\n"); - g_print("4 : audio codec\n"); - g_print("5 : audio channel\n"); - g_print("6 : audio sample rate\n"); - g_print("7 : audio bitwidth\n"); - g_print("g : Go back to main menu \n"); - g_print("**********************************************************************\n"); - -} - -static void __interpret_stream_info_submenu(char *cmd) -{ - int ret = SCMIRRORING_ERROR_NONE; - if (strncmp(cmd, "1", 1) == 0) { - - scmirroring_video_codec_e codec; - ret = scmirroring_sink_get_negotiated_video_codec(&g_scmirroring, &codec); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("Error : scmirroring_sink_get_negotiated_video_codec fail[%d]\n", ret); - } else { - switch (codec) { - case SCMIRRORING_VIDEO_CODEC_H264: - g_print("video codec : H264[%d]\n", codec); - break; - default: - g_print("video codec : NONE[%d]\n", codec); - break; - } - } - - } else if (strncmp(cmd, "2", 1) == 0) { - - int width, height; - ret = scmirroring_sink_get_negotiated_video_resolution(&g_scmirroring, &width, &height); - if (ret != SCMIRRORING_ERROR_NONE) - g_print("Error : scmirroring_sink_get_negotiated_video_resolution fail[%d]\n", ret); - else - g_print("video resoltuion : width[%d], height[%d]\n", width, height); - - } else if (strncmp(cmd, "3", 1) == 0) { - - int frame_rate; - ret = scmirroring_sink_get_negotiated_video_frame_rate(&g_scmirroring, &frame_rate); - if (ret != SCMIRRORING_ERROR_NONE) - g_print("Error : scmirroring_sink_get_negotiated_video_frame_rate fail[%d]\n", ret); - else - g_print("video frame rate[%d]\n", frame_rate); - - } else if (strncmp(cmd, "4", 1) == 0) { - scmirroring_audio_codec_e codec; - ret = scmirroring_sink_get_negotiated_audio_codec(&g_scmirroring, &codec); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("Error : scmirroring_sink_get_negotiated_audio_codec fail[%d]\n", ret); - } else { - switch (codec) { - case SCMIRRORING_AUDIO_CODEC_AAC: - g_print("audio codec : AAC[%d]\n", codec); - break; - case SCMIRRORING_AUDIO_CODEC_AC3: - g_print("audio codec : AC3[%d]\n", codec); - break; - case SCMIRRORING_AUDIO_CODEC_LPCM: - g_print("audio codec : LPCM[%d]\n", codec); - break; - default: - g_print("audio codec : NONE[%d]\n", codec); - break; - } - } - - } else if (strncmp(cmd, "5", 1) == 0) { - int channel; - ret = scmirroring_sink_get_negotiated_audio_channel(&g_scmirroring, &channel); - if (ret != SCMIRRORING_ERROR_NONE) - g_print("Error : scmirroring_sink_get_negotiated_audio_channel fail[%d]\n", ret); - else - g_print("audio channel[%d]\n", channel); - - } else if (strncmp(cmd, "6", 1) == 0) { - int sample_rate; - ret = scmirroring_sink_get_negotiated_audio_sample_rate(&g_scmirroring, &sample_rate); - if (ret != SCMIRRORING_ERROR_NONE) - g_print("Error : scmirroring_sink_get_negotiated_audio_sample_rate fail[%d]\n", ret); - else - g_print("audio sample rate[%d]\n", sample_rate); - - } else if (strncmp(cmd, "7", 1) == 0) { - int bitwidth; - ret = scmirroring_sink_get_negotiated_audio_bitwidth(&g_scmirroring, &bitwidth); - if (ret != SCMIRRORING_ERROR_NONE) - g_print("Error : scmirroring_sink_get_negotiated_audio_bitwidth fail[%d]\n", ret); - else - g_print("audio bitwidth[%d]\n", bitwidth); - - } else if (strncmp(cmd, "g", 1) == 0) { - g_print("go back to main menu\n"); - g_menu = MAIN_MENU; - g_timeout_add(100, __timeout_menu_display, 0); - return; - } - - g_timeout_add(100, __timeout_stream_info_submenu_display, 0); - - return; -} - -gboolean __timeout_window_size_submenu_display(void *data) -{ - __display_window_size_submenu(); - return FALSE; - -} - -static void __display_window_size_submenu(void) -{ - g_print("\n"); - g_print("**********************************************************************\n"); - g_print(" Setting window size \n"); - g_print("**********************************************************************\n"); - g_print("1 : UHD [width:3840, height:2160] \n"); - g_print("2 : FHD [width:1920, height:1080] \n"); - g_print("3 : HD [width:1280, height:720] \n"); - g_print("g : Go back to main menu \n"); - g_print("**********************************************************************\n"); - -} - -static void __interpret_window_size_submenu(char *cmd) -{ - int w = 0; - int h = 0; - if (strncmp(cmd, "1", 1) == 0) { - w = 3840; - h = 2160; - elm_win_aux_hint_add(g_evas, "wm.policy.win.user.geometry", "1"); - evas_object_resize(g_evas, w, h); - g_print("Window size is changed.[width:%d, height:%d]", w, h); - } else if (strncmp(cmd, "2", 1) == 0) { - w = 1920; - h = 1080; - elm_win_aux_hint_add(g_evas, "wm.policy.win.user.geometry", "1"); - evas_object_resize(g_evas, w, h); - g_print("Window size is changed.[width:%d, height:%d]", w, h); - } else if (strncmp(cmd, "3", 1) == 0) { - w = 1280; - h = 720; - elm_win_aux_hint_add(g_evas, "wm.policy.win.user.geometry", "1"); - evas_object_resize(g_evas, w, h); - g_print("Window size is changed.[width:%d, height:%d]", w, h); - } else if (strncmp(cmd, "g", 1) == 0) { - g_print("go back to main menu\n"); - g_menu = MAIN_MENU; - g_timeout_add(100, __timeout_menu_display, 0); - return; - } - - g_timeout_add(100, __timeout_window_size_submenu_display, 0); - return; -} - - -static void scmirroring_sink_state_callback(scmirroring_error_e error_code, scmirroring_sink_state_e state, void *user_data) -{ - g_print("Received Callback error code[%d]", error_code); - - if (state == SCMIRRORING_SINK_STATE_NONE) - g_print(" state[%d] SCMIRRORING_SINK_STATE_NONE\n", state); - else if (state == SCMIRRORING_SINK_STATE_NULL) - g_print(" state[%d] SCMIRRORING_SINK_STATE_NULL\n", state); - else if (state == SCMIRRORING_SINK_STATE_PREPARED) - g_print(" state[%d] SCMIRRORING_SINK_STATE_PREPARED\n", state); - else if (state == SCMIRRORING_SINK_STATE_CONNECTED) - g_print(" state[%d] SCMIRRORING_SINK_STATE_CONNECTED\n", state); - else if (state == SCMIRRORING_SINK_STATE_PLAYING) - g_print(" state[%d] SCMIRRORING_SINK_STATE_PLAYING\n", state); - else if (state == SCMIRRORING_SINK_STATE_PAUSED) - g_print(" state[%d] SCMIRRORING_SINK_STATE_PAUSED\n", state); - else if (state == SCMIRRORING_SINK_STATE_DISCONNECTED) - g_print(" state[%d] SCMIRRORING_SINK_STATE_DISCONNECTED\n", state); - else - g_print(" state[%d] Invalid State", state); - - return; -} - -static void __quit_program(void) -{ - g_print("Quit Program\n"); - -#ifdef TEST_WITH_WIFI_DIRECT - __disconnect_p2p_connection(); -#endif - g_scmirroring = 0; - elm_exit(); -} - -static void __displaymenu(void) -{ - g_print("\n"); - g_print("=====================================================================\n"); - g_print(" SCMIRRORING Sink Testsuite(press q to quit) \n"); - g_print("=====================================================================\n"); -#ifndef TEST_WITH_WIFI_DIRECT - g_print("a : a ip port(ex. a 192.168.49.1 2022)\n"); - g_print("s : start\n"); -#else - g_print("b : Connecting and Starting sink with mac address which you wanna connect src device. (ex. b f8:d0:bd:7f:e9:7c)\n"); -#endif - g_print("P : Pause\n"); - g_print("R : Resume\n"); - g_print("D : Disconnect\n"); - g_print("T : desTroy\n"); - g_print("L : Setting resolution\n"); - g_print("G : Getting negotiated audio and video information\n"); - g_print("S : Setting Sink\n"); - g_print("C : Setting window size\n"); - g_print("q : quit\n"); - g_print("-----------------------------------------------------------------------------------------\n"); -} - -gboolean __timeout_menu_display(void *data) -{ - __displaymenu(); - - return FALSE; -} - -#ifdef TEST_WITH_WIFI_DIRECT -bool _connected_peer_cb(wifi_direct_connected_peer_info_s *peer, void *user_data) -{ - int peer_port = 0; - if (wifi_direct_get_peer_display_port(peer->mac_address, &peer_port) != WIFI_DIRECT_ERROR_NONE) { - g_print("Can not get port info\n Use default(2022)\n"); - peer_port = DEFAULT_SCREEN_MIRRORING_PORT; - } - if (peer_port == 0) { - g_print("Can not get port info\n Use default(2022)\n"); - peer_port = DEFAULT_SCREEN_MIRRORING_PORT; - } - - g_print("[_connected_peer_cb] Connected to IP [%s]\n", peer->ip_address); - g_print("[_connected_peer_cb] Connected to Port [%d]\n", peer_port); - g_print("[_connected_peer_cb] Connected device_name [%s]\n", peer->device_name); - g_print("[_connected_peer_cb] Connected to mac_address [%s]\n", peer->mac_address); - g_print("[_connected_peer_cb] Connected to interface_address [%s]\n", peer->interface_address); - - memset(g_peer_ip, 0x00, sizeof(g_peer_ip)); - memset(g_peer_port, 0x00, sizeof(g_peer_port)); - - snprintf(g_peer_ip, sizeof(g_peer_port), "%s", peer->ip_address); - snprintf(g_peer_port, sizeof(g_peer_port), "%d", peer_port); - - g_timeout_add(SINKTEST_EXECUTE_DELAY, __scmirroring_sink_start, NULL); - - return TRUE; -} - -void _activation_cb(int error_code, wifi_direct_device_state_e device_state, void *user_data) -{ - gint ret = FALSE; - switch (device_state) { - case WIFI_DIRECT_DEVICE_STATE_ACTIVATED: - g_print("device_state : WIFI_DIRECT_DEVICE_STATE_ACTIVATED\n"); - ret = __start_wifi_display_connection(); - if (ret == TRUE) { - g_print("__start_wifi_display_connection success\n"); - } else { - g_print("__start_wifi_display_connection fail\n"); - g_print("Quit Program\n"); - ret = wifi_direct_deinitialize(); - if (ret != WIFI_DIRECT_ERROR_NONE) - g_print("wifi_direct_deinitialize is failed\n"); - - g_scmirroring = 0; - elm_exit(); - } - break; - case WIFI_DIRECT_DEVICE_STATE_DEACTIVATED: - g_print("device_state : WIFI_DIRECT_DEVICE_STATE_DEACTIVATED\n"); - break; - default: - g_print("device_state : ERROR\n"); - break; - } - - return; -} - -bool _discovered_peer_cb(wifi_direct_discovered_peer_info_s *peer, void *user_data) -{ - g_print("[%d] discovered device peer : %s, %s, %d\n", g_peer_cnt, peer->device_name, peer->mac_address, peer->is_connected); - - g_peer_cnt++; - - return TRUE; -} - -void _discover_cb(int error_code, wifi_direct_discovery_state_e discovery_state, void *user_data) -{ - int ret = WIFI_DIRECT_ERROR_NONE; - /*g_print("Discovered [ error : %d discovery state : %d ]\n", error_code, discovery_state); */ - - switch (discovery_state) { - case WIFI_DIRECT_ONLY_LISTEN_STARTED: - g_print("discovery_state : WIFI_DIRECT_ONLY_LISTEN_STARTED \n"); - break; - case WIFI_DIRECT_DISCOVERY_STARTED: - g_print("discovery_state : WIFI_DIRECT_DISCOVERY_STARTED \n"); - break; - case WIFI_DIRECT_DISCOVERY_FOUND: - g_print("discovery_state : WIFI_DIRECT_DISCOVERY_FOUND \n"); - ret = wifi_direct_foreach_discovered_peers(_discovered_peer_cb, (void *)NULL); - if (ret != WIFI_DIRECT_ERROR_NONE) - g_print("Error : wifi_direct_foreach_discovered_peers failed : %d\n", ret); - break; - case WIFI_DIRECT_DISCOVERY_FINISHED: - g_print("discovery_state : WIFI_DIRECT_DISCOVERY_FINISHED \n"); - break; - default: - g_print("discovery_state : ERROR\n"); - break; - } - - return; -} - -void _ip_assigned_cb(const char *mac_address, const char *ip_address, const char *interface_address, void *user_data) -{ - g_print("[_ip_assigned_cb] IP assigned [ ip addr : %s if addr : %s mac_addr:%s ]\n", ip_address, interface_address, mac_address); - - int peer_port = 0; - wifi_direct_discovered_peer_info_s *peer_info = NULL; - - if (wifi_direct_get_peer_display_port((char *)mac_address, &peer_port) != WIFI_DIRECT_ERROR_NONE) { - g_print("Can not get port info\n Use default(2022)\n"); - peer_port = DEFAULT_SCREEN_MIRRORING_PORT; - } - if (peer_port == 0) { - g_print("Can not get port info\n Use default(2022)\n"); - peer_port = DEFAULT_SCREEN_MIRRORING_PORT; - } - if (wifi_direct_get_peer_info((char *)mac_address, &peer_info) != WIFI_DIRECT_ERROR_NONE) - g_print("Can not get peer info and device name\n"); - - if (peer_info != NULL && peer_info->device_name != NULL) - g_print("[_ip_assigned_cb] Connected to device_name [%s]\n", peer_info->device_name); - - g_print("[_ip_assigned_cb] Connected to IP [%s]\n", ip_address); - g_print("[_ip_assigned_cb] Connected to Port [%d]\n", peer_port); - g_print("[_ip_assigned_cb] Connected to mac_address [%s]\n", mac_address); - g_print("[_ip_assigned_cb] Connected to interface_address [%s]\n", interface_address); - - memset(g_peer_ip, 0x00, sizeof(g_peer_ip)); - memset(g_peer_port, 0x00, sizeof(g_peer_port)); - - snprintf(g_peer_ip, sizeof(g_peer_port), "%s", ip_address); - snprintf(g_peer_port, sizeof(g_peer_port), "%d", peer_port); - - g_timeout_add(SINKTEST_EXECUTE_DELAY, __scmirroring_sink_start, NULL); -} - -void _connection_cb(int error_code, wifi_direct_connection_state_e connection_state, const char *mac_address, void *user_data) -{ - int ret = WIFI_DIRECT_ERROR_NONE; - - g_print("Connected [ error : %d connection state : %d mac_addr:%s ]\n", error_code, connection_state, mac_address); - - switch (connection_state) { - case WIFI_DIRECT_CONNECTION_REQ: - g_print("WIFI_DIRECT_CONNECTION_REQ : Connection is requested\n"); - ret = wifi_direct_accept_connection((char *)mac_address); - if (ret != WIFI_DIRECT_ERROR_NONE) - g_print("Error : wifi_direct_accept_connection failed : %d\n", ret); - break; - case WIFI_DIRECT_CONNECTION_WPS_REQ: - g_print("WIFI_DIRECT_CONNECTION_WPS_REQ : WPS is requested\n"); - break; - case WIFI_DIRECT_CONNECTION_IN_PROGRESS: - g_print("WIFI_DIRECT_CONNECTION_IN_PROGRESS : Connection in progress\n"); - break; - case WIFI_DIRECT_CONNECTION_RSP: - { - bool is_go = FALSE; - g_print("WIFI_DIRECT_CONNECTION_RSP : Connected\n"); - ret = wifi_direct_is_group_owner(&is_go); - if (ret != WIFI_DIRECT_ERROR_NONE) - g_print("Error : wifi_direct_is_group_owner failed : %d\n", ret); - - if (is_go) { - g_print("Connected as Group Owner\n"); - } else { - ret = wifi_direct_foreach_connected_peers(_connected_peer_cb, (void *)NULL); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_foreach_connected_peers failed : %d\n", ret); - return; - } - g_print("Connected as Group Client\n"); - } - break; - } - case WIFI_DIRECT_DISASSOCIATION_IND: - g_print("WIFI_DIRECT_DISASSOCIATION_IND : Disconnected by remote Group Client\n"); - break; - case WIFI_DIRECT_DISCONNECTION_RSP: - g_print("WIFI_DIRECT_DISCONNECTION_RSP : Disconnected by local device\n"); - break; - case WIFI_DIRECT_DISCONNECTION_IND: - g_print("WIFI_DIRECT_DISCONNECTION_IND : Disconnected by remote Group Owner\n"); - break; - case WIFI_DIRECT_GROUP_CREATED: - g_print("WIFI_DIRECT_GROUP_CREATED : Group is created\n"); - break; - case WIFI_DIRECT_GROUP_DESTROYED: - g_print("WIFI_DIRECT_GROUP_DESTROYED : Group is destroyed\n"); - break; - default: - break; - } - return; -} - - -static int __wifi_direct_device_connect() -{ - if (strlen(g_src_mac_addr) > 17 || strlen(g_src_mac_addr) <= 0) { - g_print("\nWrong Mac_address"); - return SCMIRRORING_ERROR_INVALID_OPERATION; - } - - int err = wifi_direct_connect(g_src_mac_addr); - if (err != WIFI_DIRECT_ERROR_NONE) { - g_print("Failed to connect [%d]\n", err); - return SCMIRRORING_ERROR_INVALID_OPERATION; - } - return SCMIRRORING_ERROR_NONE; -} - -#endif - -static void __interpret(char *cmd) -{ - int ret = SCMIRRORING_ERROR_NONE; - - if (strncmp(cmd, "D", 1) == 0) { - g_print("Disconnect\n"); - ret = scmirroring_sink_disconnect(g_scmirroring); - } else if (strncmp(cmd, "P", 1) == 0) { - g_print("Pause\n"); - ret = scmirroring_sink_pause(g_scmirroring); - } else if (strncmp(cmd, "R", 1) == 0) { - g_print("Resume\n"); - ret = scmirroring_sink_resume(g_scmirroring); - } else if (strncmp(cmd, "T", 1) == 0) { - g_print("Destroy\n"); - ret = __scmirroring_sink_destroy(g_scmirroring); - } else if (strncmp(cmd, "q", 1) == 0) { - __quit_program(); - } else if (strncmp(cmd, "S", 1) == 0) { - g_menu = SUBMENU_SETTING_SINK; - g_timeout_add(100, __timeout_sink_submenu_display, 0); - return; - } else if (strncmp(cmd, "L", 1) == 0) { - g_menu = SUBMENU_RESOLUTION; - g_timeout_add(100, __timeout_resolution_submenu_display, 0); - return; - } else if (strncmp(cmd, "G", 1) == 0) { - g_menu = SUBMENU_GETTING_STREAM_INFO; - g_timeout_add(100, __timeout_stream_info_submenu_display, 0); - return; - } else if (strncmp(cmd, "C", 1) == 0) { - g_menu = SUBMENU_SETTING_WINDOW_SIZE; - g_timeout_add(100, __timeout_window_size_submenu_display, 0); - return; - } -#ifndef TEST_WITH_WIFI_DIRECT - else if (strncmp(cmd, "1", 1) == 0) { - ret = __scmirroring_sink_create(NULL); - if (ret == SCMIRRORING_ERROR_NONE) { - ret = scmirroring_sink_set_ip_and_port(g_scmirroring, "192.168.49.1", "2022"); - g_print("Input server IP and port number IP[%s] Port[%s]\n", "192.168.49.1", "2022"); - } - } else if (strncmp(cmd, "51", 2) == 0) { - ret = __scmirroring_sink_create(NULL); - if (ret == SCMIRRORING_ERROR_NONE) { - ret = scmirroring_sink_set_ip_and_port(g_scmirroring, "192.168.49.51", "2022"); - g_print("Input server IP and port number IP[%s] Port[%s]\n", "192.168.49.51", "2022"); - } - } else if (strncmp(cmd, "s", 1) == 0) { - g_print("Start\n"); - ret = __scmirroring_sink_start_only(NULL); - } else if (strncmp(cmd, "p", 1) == 0) { - g_print("Prepare\n"); - ret = __scmirroring_sink_prepare(NULL); - } else if (strncmp(cmd, "c", 1) == 0) { - g_print("Connect\n"); - ret = __scmirroring_sink_connect(NULL); - } else if (strncmp(cmd, "up", 1) == 0) { - g_print("Unprepare\n"); - ret = __scmirroring_sink_unprepare(NULL); - } -#else - else if (strncmp(cmd, "b", 1) == 0) { - strncpy(g_src_mac_addr, value[1], sizeof(g_src_mac_addr)); - g_src_mac_addr[17] = '\0'; - g_print("Src mac address : %s\n", g_src_mac_addr); - ret = __wifi_direct_device_connect(); - } -#endif - else - g_print("unknown menu \n"); - - if (ret != SCMIRRORING_ERROR_NONE) - g_print("Error Occured [%d]", ret); - - g_timeout_add(100, __timeout_menu_display, 0); - - return; -} - -static gboolean __input(GIOChannel *channel, - GIOCondition cond, - gpointer data) -{ - char buf[MAX_STRING_LEN + 3]; - gsize read; - GError *error = NULL; - - g_io_channel_read_chars(channel, buf, MAX_STRING_LEN, &read, &error); - buf[read] = '\0'; - - if (read == 0) { - g_print ("Read 0 bytes! \n"); - return FALSE; - } else { - g_print ("Read %" G_GSIZE_FORMAT "bytes \n", read); - } - - g_strstrip(buf); - - if (g_menu == MAIN_MENU) - __interpret(buf); - else if (g_menu == SUBMENU_RESOLUTION) - __interpret_resolution_submenu(buf); - else if (g_menu == SUBMENU_GETTING_STREAM_INFO) - __interpret_stream_info_submenu(buf); - else if (g_menu == SUBMENU_SETTING_SINK) - __interpret_sink_submenu(buf); - else if (g_menu == SUBMENU_SETTING_WINDOW_SIZE) - __interpret_window_size_submenu(buf); - - return TRUE; -} - -#ifdef TEST_WITH_WIFI_DIRECT -static gboolean __start_wifi_display_connection() -{ - int go_intent = 0; - static int is_initialized = FALSE; - wifi_direct_state_e direct_state = WIFI_DIRECT_STATE_DEACTIVATED; - gint ret = FALSE; - - if (is_initialized == TRUE) - return TRUE; - is_initialized = TRUE; - - /*Enable Screen Mirroring*/ - ret = wifi_direct_init_display(); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_display_init failed : %d\n", ret); - return FALSE; - } - - /*Enable Wifi Direct - You can set this as true if you want to see it from wifi-direct list*/ - ret = wifi_direct_set_display_availability(TRUE); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_display_init failed : %d\n", ret); - return FALSE; - } - - ret = wifi_direct_set_display(WIFI_DISPLAY_TYPE_SINK, 2022, 0); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_display_set_device failed : %d\n", ret); - return FALSE; - } - - ret = wifi_direct_get_group_owner_intent(&go_intent); - g_print("go_intent = [%d]\n", go_intent); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_get_group_owner_intent failed : %d\n", ret); - return FALSE; - } - - go_intent = 1; - ret = wifi_direct_set_group_owner_intent(go_intent); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_get_group_owner_intent failed : %d\n", ret); - return FALSE; - } - g_print("wifi_direct_set_group_owner_intent() result=[%d] go_intent[%d]\n", ret, go_intent); - - ret = wifi_direct_set_max_clients(1); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_set_max_clients failed : %d\n", ret); - return FALSE; - } - - ret = wifi_direct_get_state(&direct_state); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_get_state failed : %d\n", ret); - return FALSE; - } - - if (direct_state > WIFI_DIRECT_STATE_ACTIVATING) { - char *device_name = NULL; - - ret = wifi_direct_start_discovery(0, 20); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_start_discovery failed : %d\n", ret); - return FALSE; - } - - ret = wifi_direct_get_device_name(&device_name); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_get_device_name failed : %d\n", ret); - return FALSE; - } - - g_print("Device Name : [%s]\n", device_name); - if (device_name) - free(device_name); - - } else { - g_print("Error : Direct not activated yet\n"); - } - - g_print("====== p2p connection established ======\n"); - - return TRUE; -} - - -static gboolean __start_p2p_connection(gpointer data) -{ - int ret = WIFI_DIRECT_ERROR_NONE; - wifi_direct_state_e direct_state = WIFI_DIRECT_STATE_DEACTIVATED; - - g_print("====== Start p2p connection ======\n"); - - ret = wifi_direct_initialize(); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_initialize failed : %d\n", ret); - return FALSE; - } - - struct ug_data *ugd = (struct ug_data *)data; - - /* Activation / Deactivation state Callback */ - ret = wifi_direct_set_device_state_changed_cb(_activation_cb, (void *)ugd); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_set_device_state_changed_cb failed : %d\n", ret); - goto error; - } - - /* Discovery state Callback */ - ret = wifi_direct_set_discovery_state_changed_cb(_discover_cb, (void *)ugd); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_set_discovery_state_changed_cb failed : %d\n", ret); - goto error; - } - - /* Connection state Callback */ - ret = wifi_direct_set_connection_state_changed_cb(_connection_cb, (void *)ugd); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_set_connection_state_changed_cb failed : %d\n", ret); - goto error; - } - - /* IP address assigning state callback */ - ret = wifi_direct_set_client_ip_address_assigned_cb(_ip_assigned_cb, (void *)ugd); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_set_client_ip_address_assigned_cb failed : %d\n", ret); - goto error; - } - - ret = wifi_direct_get_state(&direct_state); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_get_state failed : %d\n", ret); - goto error; - } - - if (direct_state < WIFI_DIRECT_STATE_ACTIVATED) { - g_print("wifi direct status < WIFI_DIRECT_STATE_ACTIVATED\n"); - g_print("\n------Starting to activate scmirroring------\n"); - ret = wifi_direct_activate(); - if (ret < WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_activate failed : %d\n", ret); - return FALSE; - } - } else { - g_print("wifi direct status >= WIFI_DIRECT_STATE_ACTIVATED.. Disconnect all first\n"); - ret = wifi_direct_disconnect_all(); - if (!ret) - g_print("wifi_direct_disconnect_all success\n"); - else - g_print("wifi_direct_disconnect_all fail\n"); - - ret = __start_wifi_display_connection(); - if (ret == TRUE) { - g_print("__start_wifi_display_connection success\n"); - } else { - g_print("__start_wifi_display_connection fail\n"); - goto error; - } - } - - return TRUE; - -error: - ret = wifi_direct_deinitialize(); - - return FALSE; -} - -static gboolean __disconnect_p2p_connection(void) -{ - int ret = WIFI_DIRECT_ERROR_NONE; - - ret = wifi_direct_deactivate(); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_deactivate failed : %d\n", ret); - return FALSE; - } - - ret = wifi_direct_deinitialize(); - if (ret != WIFI_DIRECT_ERROR_NONE) { - g_print("Error : wifi_direct_deinitialize failed : %d\n", ret); - return FALSE; - } - - g_print("------p2p connection disconnected------\n"); - - return TRUE; -} -#endif - -#ifndef TEST_WITH_WIFI_DIRECT -static int __scmirroring_sink_create(gpointer data) -{ - int ret = SCMIRRORING_ERROR_NONE; - - ret = scmirroring_sink_create(&g_scmirroring); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_create fail [%d]", ret); - return SCMIRRORING_ERROR_INVALID_OPERATION; - } - - if (g_sinktype != -1) { - if (g_sinktype == SCMIRRORING_DISPLAY_TYPE_OVERLAY) { - evas_object_show(g_evas); - ret = scmirroring_sink_set_display(g_scmirroring, SCMIRRORING_DISPLAY_TYPE_OVERLAY, (void *)g_evas); - } else if (g_sinktype == SCMIRRORING_DISPLAY_TYPE_EVAS) { - g_eo = create_evas_image_object(g_evas); - evas_object_image_size_set(g_eo, 800, 1200); - evas_object_image_fill_set(g_eo, 0, 0, 800, 1200); - evas_object_resize(g_eo, 800, 1200); - evas_object_show(g_evas); - ret = scmirroring_sink_set_display(g_scmirroring, SCMIRRORING_DISPLAY_TYPE_EVAS, (void *)g_eo); - } - - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_set_display fail [%d]", ret); - return FALSE; - } - } - return ret; -} - - -static int __scmirroring_sink_prepare(gpointer data) -{ - - int ret = SCMIRRORING_ERROR_NONE; - ret = scmirroring_sink_prepare(g_scmirroring); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_prepare fail [%d]", ret); - return SCMIRRORING_ERROR_INVALID_OPERATION; - } - return ret; - -} -static int __scmirroring_sink_connect(gpointer data) -{ - int ret = SCMIRRORING_ERROR_NONE; - ret = scmirroring_sink_set_state_changed_cb(g_scmirroring, scmirroring_sink_state_callback, NULL); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_set_state_changed_cb fail [%d]", ret); - return FALSE; - } - - ret = scmirroring_sink_connect(g_scmirroring); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_connect fail [%d]", ret); - return FALSE; - } - return ret; -} - -static int __scmirroring_sink_unprepare(gpointer data) -{ - int ret = SCMIRRORING_ERROR_NONE; - ret = scmirroring_sink_unprepare(g_scmirroring); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_unprepare fail [%d]", ret); - return FALSE; - } - return ret; -} -static int __scmirroring_sink_destroy(gpointer data) -{ - int ret = SCMIRRORING_ERROR_NONE; - ret = scmirroring_sink_destroy(g_scmirroring); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_destroy fail [%d]", ret); - return FALSE; - } - return ret; -} - - -/* - * '__scmirroring_sink_start_only' has only 'scmirroring_sink_start' api for individual execution. - */ -gboolean __scmirroring_sink_start_only(gpointer data) -{ - int ret = SCMIRRORING_ERROR_NONE; - ret = scmirroring_sink_start(g_scmirroring); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_start fail [%d]", ret); - return FALSE; - } - return FALSE; -} - -#endif - - -/* - * '__scmirroring_sink_start_in_order' execute all APIs in order which is necessary for executing screen mirroring. - */ -gboolean __scmirroring_sink_start(gpointer data) -{ - int ret = SCMIRRORING_ERROR_NONE; - g_print("__scmirroring_sink_start \n"); - -#ifdef TEST_WITH_WIFI_DIRECT - ret = scmirroring_sink_create(&g_scmirroring); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_create fail [%d]", ret); - return FALSE; - } - - if (g_resolution != 0) { - ret = scmirroring_sink_set_resolution(g_scmirroring, g_resolution); - if (ret != SCMIRRORING_ERROR_NONE) - g_print("Failed to set resolution, error[%d]\n", ret); - } - - if (g_sinktype != -1) { - - if (g_sinktype == SCMIRRORING_DISPLAY_TYPE_OVERLAY) { - evas_object_show(g_evas); - ret = scmirroring_sink_set_display(g_scmirroring, SCMIRRORING_DISPLAY_TYPE_OVERLAY, (void *)g_evas); - } else if (g_sinktype == SCMIRRORING_DISPLAY_TYPE_EVAS) { - g_eo = create_evas_image_object(g_evas); - evas_object_image_size_set(g_eo, 800, 1200); - evas_object_image_fill_set(g_eo, 0, 0, 800, 1200); - evas_object_resize(g_eo, 800, 1200); - evas_object_show(g_evas); - ret = scmirroring_sink_set_display(g_scmirroring, SCMIRRORING_DISPLAY_TYPE_EVAS, (void *)g_eo); - } - - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_set_display fail [%d]", ret); - return FALSE; - } - } - - ret = scmirroring_sink_prepare(g_scmirroring); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_prepare fail [%d]", ret); - return FALSE; - } - - ret = scmirroring_sink_set_ip_and_port(g_scmirroring, g_peer_ip, g_peer_port); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_set_ip_and_port fail [%d]", ret); - return FALSE; - } - - g_print("Input server IP and port number IP[%s] Port[%s]\n", g_peer_ip, g_peer_port); -#endif - - ret = scmirroring_sink_set_state_changed_cb(g_scmirroring, scmirroring_sink_state_callback, NULL); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_set_state_changed_cb fail [%d]", ret); - return FALSE; - } - - ret = scmirroring_sink_connect(g_scmirroring); - if (ret != SCMIRRORING_ERROR_NONE) { - g_print("scmirroring_sink_connect fail [%d]", ret); - return FALSE; - } - - g_print("__scmirroring_sink_start \n"); - return FALSE; -} - -gboolean _scmirroring_start_jobs(gpointer data) -{ -#ifdef TEST_WITH_WIFI_DIRECT - int ret = WIFI_DIRECT_ERROR_NONE; - - ret = __start_p2p_connection(data); - if (ret == FALSE) - return FALSE; -#endif - - return TRUE; -} - -int main(int argc, char *argv[]) -{ - int ret = 0; - GIOChannel *stdin_channel; - - stdin_channel = g_io_channel_unix_new(0); - g_io_channel_set_flags(stdin_channel, G_IO_FLAG_NONBLOCK, NULL); - g_io_add_watch(stdin_channel, G_IO_IN, (GIOFunc)__input, NULL); - - __displaymenu(); - - ops.data = NULL; - ret = appcore_efl_main(PACKAGE, &argc, &argv, &ops); - - return ret; -}