From: Hyunsoo Park Date: Mon, 29 Nov 2021 06:12:18 +0000 (+0900) Subject: tools: fix memory leak X-Git-Tag: submit/tizen_6.5/20220105.012705^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Ftizen_6.5;p=platform%2Fcore%2Fapi%2Fscreen-mirroring.git tools: fix memory leak [Version] : 0.2.26 [Issue type] : Bug fix Change-Id: Iae1e9f9dce67a9fa30387e478b33ae54b569e4cd Signed-off-by: Hyunsoo Park --- diff --git a/packaging/capi-media-screen-mirroring.spec b/packaging/capi-media-screen-mirroring.spec index e6964f1..6e1f406 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.25 +Version: 0.2.26 Release: 1 Group: Multimedia/API License: Apache-2.0 diff --git a/test_sink/scmirroring_primary_sink_test.c b/test_sink/scmirroring_primary_sink_test.c index 8c29284..4285a27 100644 --- a/test_sink/scmirroring_primary_sink_test.c +++ b/test_sink/scmirroring_primary_sink_test.c @@ -797,22 +797,30 @@ static int __wifi_direct_device_connect() #endif +static void __display_sub_menu(gint sub_menu, GSourceFunc func_name) +{ + g_menu = sub_menu; + g_timeout_add(100, func_name, 0); +} + static void __interpret(char *cmd) { int ret = SCMIRRORING_ERROR_NONE; gchar **value; - value = g_strsplit(cmd, " ", 0); //Source Side - if (strncmp(cmd, "M", 1) == 0) { ret = _scmirroring_primary_src_create(); } else if (strncmp(cmd, "A", 1) == 0) { + value = g_strsplit(cmd, " ", 0); ret = scmirroring_primary_src_set_ip_and_port(scmirroring_primary_sink, value[1], value[2]); g_print("Input server IP and port number IP[%s] Port[%s]\n", value[1], value[2]); + g_strfreev(value); } else if (strncmp(cmd, "O", 1) == 0) { + value = g_strsplit(cmd, " ", 0); ret = scmirroring_primary_src_set_coupling_mode(scmirroring_primary_sink, atoi(value[1])); g_print("cOupling mode [%d]\n", atoi(value[1])); + g_strfreev(value); } else if (strncmp(cmd, "C", 1) == 0) { g_print("Set state Changed callback function and Connect\n"); ret = scmirroring_primary_src_set_state_changed_cb(scmirroring_primary_sink, scmirroring_source_state_callback, NULL); @@ -850,28 +858,26 @@ static void __interpret(char *cmd) } else if (strncmp(cmd, "q", 1) == 0) { __quit_program_sink(); } else if (strncmp(cmd, "I", 1) == 0) { - g_menu = SUBMENU_SETTING_SINK; - g_timeout_add(100, __timeout_sink_submenu_display, 0); + __display_sub_menu(SUBMENU_SETTING_SINK, __timeout_sink_submenu_display); return; } else if (strncmp(cmd, "L", 1) == 0) { - g_menu = SUBMENU_RESOLUTION; - g_timeout_add(100, __timeout_resolution_submenu_display, 0); + __display_sub_menu(SUBMENU_RESOLUTION, __timeout_resolution_submenu_display); return; } else if (strncmp(cmd, "G", 1) == 0) { - g_menu = SUBMENU_GETTING_STREAM_INFO; - g_timeout_add(100, __timeout_stream_info_submenu_display, 0); + __display_sub_menu(SUBMENU_GETTING_STREAM_INFO, __timeout_stream_info_submenu_display); return; } else if (strncmp(cmd, "K", 1) == 0) { - g_menu = SUBMENU_SETTING_WINDOW_SIZE; - g_timeout_add(100, __timeout_window_size_submenu_display, 0); + __display_sub_menu(SUBMENU_SETTING_WINDOW_SIZE, __timeout_window_size_submenu_display); return; } #ifndef TEST_WITH_WIFI_DIRECT else if (strncmp(cmd, "a", 1) == 0) { ret = __scmirroring_primary_sink_create(NULL); if (ret == SCMIRRORING_ERROR_NONE) { + value = g_strsplit(cmd, " ", 0); ret = scmirroring_primary_sink_set_ip_and_port(scmirroring_primary_sink, value[1], value[2]); g_print("Input server IP and port number IP[%s] Port[%s]\n", value[1], value[2]); + g_strfreev(value); } } else if (strncmp(cmd, "s", 1) == 0) { g_print("Start\n"); @@ -879,10 +885,12 @@ static void __interpret(char *cmd) } #else else if (strncmp(cmd, "b", 1) == 0) { + value = g_strsplit(cmd, " ", 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(); + g_strfreev(value); } #endif else @@ -892,7 +900,6 @@ static void __interpret(char *cmd) g_print("Error Occured [%d]", ret); g_timeout_add(100, __timeout_menu_display, 0); - g_strfreev(value); return; }