From: Sangchul Lee Date: Mon, 1 Nov 2021 11:16:07 +0000 (+0900) Subject: webrtc_test: Add menu to set/get RTP packet drop probability X-Git-Tag: submit/tizen/20211109.062149~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7c034de63c02b25c79f94e5eefdacd5cf09f7231;p=platform%2Fcore%2Fapi%2Fwebrtc.git webrtc_test: Add menu to set/get RTP packet drop probability [Version] 0.3.3 [Issue Type] New feature Change-Id: Icee1dcba86b477a44a97708481a006b2f36c28fb Signed-off-by: Sangchul Lee --- diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index 876bc2e3..ffbb8235 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.3.2 +Version: 0.3.3 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/test/webrtc_test.c b/test/webrtc_test.c index 1f203ccd..f8015889 100644 --- a/test/webrtc_test.c +++ b/test/webrtc_test.c @@ -99,6 +99,8 @@ enum { CURRENT_STATUS_SET_MEDIA_PATH_TO_MEDIA_FILE_SOURCE, CURRENT_STATUS_MEDIA_SOURCE_SET_FILE_LOOPING, CURRENT_STATUS_MEDIA_SOURCE_GET_FILE_LOOPING, + CURRENT_STATUS_MEDIA_SOURCE_SET_RTP_PACKET_DROP_PROBABILITY, + CURRENT_STATUS_MEDIA_SOURCE_GET_RTP_PACKET_DROP_PROBABILITY, CURRENT_STATUS_CREATE_PRIVATE_SIGNALING_SERVER, CURRENT_STATUS_CONNECT_TO_PRIVATE_SIGNALING_SERVER, CURRENT_STATUS_MUTE_MEDIA_SOURCE, @@ -3306,6 +3308,27 @@ static void _webrtc_media_source_get_file_looping(int index, unsigned int source g_print("webrtc_file_source_get_looping() success, source_id[%u] looping_state[%u]\n", source_id, looping_state); } +static void _webrtc_media_source_set_rtp_packet_drop_probability(unsigned int source_id, float probability) +{ + int ret = WEBRTC_ERROR_NONE; + + ret = webrtc_media_source_set_rtp_packet_drop_probability(g_conns[0].webrtc, source_id, probability); + RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret); + + g_print("webrtc_media_source_set_rtp_packet_drop_probability() success, source_id[%u] probability[%f]\n", source_id, probability); +} + +static void _webrtc_media_source_get_rtp_packet_drop_probability(unsigned int source_id) +{ + int ret = WEBRTC_ERROR_NONE; + float probability; + + ret = webrtc_media_source_get_rtp_packet_drop_probability(g_conns[0].webrtc, source_id, &probability); + RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret); + + g_print("webrtc_media_source_get_rtp_packet_drop_probability() success, source_id[%u] probability[%f]\n", source_id, probability); +} + static void __close_websocket(signaling_server_s *ss) { RET_IF(!ss, "ss is NULL"); @@ -4012,6 +4035,12 @@ void _interpret_main_menu(char *cmd) } else if (strncmp(cmd, "gfl", 3) == 0) { g_menu_state = CURRENT_STATUS_MEDIA_SOURCE_GET_FILE_LOOPING; + } else if (strncmp(cmd, "sdp", 3) == 0) { + g_menu_state = CURRENT_STATUS_MEDIA_SOURCE_SET_RTP_PACKET_DROP_PROBABILITY; + + } else if (strncmp(cmd, "gdp", 3) == 0) { + g_menu_state = CURRENT_STATUS_MEDIA_SOURCE_GET_RTP_PACKET_DROP_PROBABILITY; + } else { g_print("unknown menu \n"); } @@ -4099,6 +4128,8 @@ void display_sub_basic() g_print("sfl. *Set file source looping\t"); g_print("gfl. *Set file source looping\n"); g_print("sf. Set media format to media packet source\n"); + g_print("sdp. *Set RTP packet drop probility\t"); + g_print("gdp. *Get RTP packet drop probility\n"); g_print("dt. Set display type\t"); g_print("dm. Set display mode\t"); g_print("gm. Get display mode\n"); @@ -4270,6 +4301,16 @@ static void displaymenu() if (g_cnt == 0) g_print("*** input source id.\n"); + } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_SET_RTP_PACKET_DROP_PROBABILITY) { + if (g_cnt == 0) + g_print("*** input source id.\n"); + else if (g_cnt == 1) + g_print("*** input drop probability.(0 ~ 1.0)\n"); + + } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_GET_RTP_PACKET_DROP_PROBABILITY) { + if (g_cnt == 0) + g_print("*** input source id.\n"); + } else if (g_menu_state == CURRENT_STATUS_DATA_CHANNEL_SEND_STRING) { g_print("*** input string to send.\n"); @@ -4760,6 +4801,31 @@ static void interpret(char *cmd) reset_menu_state(); break; } + case CURRENT_STATUS_MEDIA_SOURCE_SET_RTP_PACKET_DROP_PROBABILITY: { + static unsigned int id; + switch (g_cnt) { + case 0: + value = atoi(cmd); + id = value; + g_cnt++; + break; + case 1: { + float fvalue = strtof(cmd, NULL); + _webrtc_media_source_set_rtp_packet_drop_probability(id, fvalue); + id = 0; + g_cnt = 0; + reset_menu_state(); + break; + } + } + break; + } + case CURRENT_STATUS_MEDIA_SOURCE_GET_RTP_PACKET_DROP_PROBABILITY: { + value = atoi(cmd); + _webrtc_media_source_get_rtp_packet_drop_probability(value); + reset_menu_state(); + break; + } case CURRENT_STATUS_CREATE_PRIVATE_SIGNALING_SERVER: { value = atoi(cmd); _webrtc_signaling_server_create(value);