From: Sangchul Lee Date: Tue, 19 Mar 2024 01:44:54 +0000 (+0900) Subject: test: Add menu for setting transceiver receiving data drop X-Git-Tag: accepted/tizen/unified/20240327.141705^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=290b9bf143c62750e3fe50bc1e19f9ea13659ef3;p=platform%2Fcore%2Fapi%2Fwebrtc.git test: Add menu for setting transceiver receiving data drop Two items have been added as below. srd. Set transceiver recv drop grd. Get transceiver recv drop [Version] 0.4.55 [Issue Type] Test application Change-Id: I1f42282761c8a786ec26a3fa7b62062584a2911b Signed-off-by: Sangchul Lee (cherry picked from commit e895b88fff02c8355943d13ba4c17eae6f11e18d) --- diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index e01d5e1a..e991a9d4 100644 --- a/packaging/capi-media-webrtc.spec +++ b/packaging/capi-media-webrtc.spec @@ -1,6 +1,6 @@ Name: capi-media-webrtc Summary: A WebRTC library in Tizen Native API -Version: 0.4.54 +Version: 0.4.55 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/test/webrtc_test.c b/test/webrtc_test.c index 3fe2a75b..da57b202 100644 --- a/test/webrtc_test.c +++ b/test/webrtc_test.c @@ -1003,6 +1003,25 @@ static void _webrtc_media_source_unset_video_loopback(int index, unsigned int so g_print("webrtc_media_source_unset_video_loopback() success, source_id[%u]\n", source_id); } +static void _webrtc_media_source_set_transceiver_recv_drop(int index, unsigned int source_id, webrtc_media_type_e media_type, int drop) +{ + int ret = webrtc_media_source_set_transceiver_recv_drop(g_ad.conns[index].webrtc, source_id, media_type, (bool)drop); + RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret); + + g_print("_webrtc_media_source_set_transceiver_recv_drop() success, source_id[%u], media_type[%d], drop[%d]\n", source_id, media_type, (bool)drop); +} + +static void _webrtc_media_source_get_transceiver_recv_drop(int index, unsigned int source_id, webrtc_media_type_e media_type) +{ + int ret = WEBRTC_ERROR_NONE; + bool dropped; + + ret = webrtc_media_source_get_transceiver_recv_drop(g_ad.conns[index].webrtc, source_id, media_type, &dropped); + RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret); + + g_print("_webrtc_media_source_get_transceiver_recv_drop() success, source_id[%u], media_type[%d], dropped[%d]\n", source_id, media_type, dropped); +} + static void _webrtc_data_channel_send_string(const char *string, bool send_as_bytes) { int ret; @@ -3880,6 +3899,44 @@ static void test_webrtc_media_render(char *cmd) value = atoi(cmd); _webrtc_media_source_unset_video_loopback(0, value); break; + case CURRENT_STATUS_MEDIA_SOURCE_SET_TRANSCEIVER_RECV_DROP: { + static unsigned int id; + static unsigned int media_type; + value = atoi(cmd); + + switch (g_ad.input_count) { + case 0: + id = value; + g_ad.input_count++; + return; + case 1: + media_type = value - 1; + g_ad.input_count++; + return; + case 2: + _webrtc_media_source_set_transceiver_recv_drop(0, id, media_type, value); + id = media_type = 0; + g_ad.input_count = 0; + break; + } + break; + } + case CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_RECV_DROP: { + static unsigned int id; + value = atoi(cmd); + + switch (g_ad.input_count) { + case 0: + id = value; + g_ad.input_count++; + return; + case 1: + _webrtc_media_source_get_transceiver_recv_drop(0, id, value - 1); + id = 0; + g_ad.input_count = 0; + break; + } + } } reset_menu_state(); diff --git a/test/webrtc_test_menu.c b/test/webrtc_test_menu.c index 9fbc657f..c51e132d 100644 --- a/test/webrtc_test_menu.c +++ b/test/webrtc_test_menu.c @@ -100,6 +100,8 @@ menu_info_s g_menu_infos[] = { { "ual", CURRENT_STATUS_MEDIA_SOURCE_UNSET_AUDIO_LOOPBACK, true }, { "vl", CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_LOOPBACK, true }, { "uvl", CURRENT_STATUS_MEDIA_SOURCE_UNSET_VIDEO_LOOPBACK, true }, + { "srd", CURRENT_STATUS_MEDIA_SOURCE_SET_TRANSCEIVER_RECV_DROP, true }, + { "grd", CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_RECV_DROP, true }, /* webrtc data channel */ { "cd", CURRENT_STATUS_DATA_CHANNEL_CREATE, false }, { "dd", CURRENT_STATUS_DATA_CHANNEL_DESTROY, false }, @@ -274,6 +276,8 @@ void display_menu_main(void) g_print("ua. Unset encoded audio frame callback\n"); g_print("sv. Set encoded video frame callback\t"); g_print("uv. Unset encoded video frame callback\n"); + g_print("srd. *Set transceiver recv drop\t"); + g_print("grd. *Get transceiver recv drop\n"); g_print("------------------------------------- Data Channel --------------------------------------\n"); g_print("cd. Create data channel\t"); g_print("dd. Destroy data channel\n"); @@ -591,6 +595,20 @@ void display_menu_webrtc_media_render(void) case CURRENT_STATUS_MEDIA_SOURCE_UNSET_VIDEO_LOOPBACK: g_print("*** input source id.\n"); break; + case CURRENT_STATUS_MEDIA_SOURCE_SET_TRANSCEIVER_RECV_DROP: + if (get_appdata()->input_count == 0) + g_print("*** input source id.\n"); + else if (get_appdata()->input_count == 1) + g_print("*** input media type.(1:audio 2:video)\n"); + else if (get_appdata()->input_count == 2) + g_print("*** input drop.(1:true 0:false)\n"); + break; + case CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_RECV_DROP: + if (get_appdata()->input_count == 0) + g_print("*** input source id.\n"); + else if (get_appdata()->input_count == 1) + g_print("*** input media type.(1:audio 2:video)\n"); + break; } g_print(" >>> "); } diff --git a/test/webrtc_test_priv.h b/test/webrtc_test_priv.h index 172bd139..2073eb2c 100644 --- a/test/webrtc_test_priv.h +++ b/test/webrtc_test_priv.h @@ -139,6 +139,8 @@ enum { CURRENT_STATUS_MEDIA_SOURCE_UNSET_AUDIO_LOOPBACK = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x0F, CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_LOOPBACK = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x10, CURRENT_STATUS_MEDIA_SOURCE_UNSET_VIDEO_LOOPBACK = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x11, + CURRENT_STATUS_MEDIA_SOURCE_SET_TRANSCEIVER_RECV_DROP = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x12, + CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_RECV_DROP = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x13, /* webrtc data channel */ CURRENT_STATUS_DATA_CHANNEL_CREATE = TEST_MENU_WEBRTC_DATA_CHANNEL | 0x01, CURRENT_STATUS_DATA_CHANNEL_DESTROY = TEST_MENU_WEBRTC_DATA_CHANNEL | 0x02,