From: Sangchul Lee Date: Wed, 17 Jan 2024 08:11:17 +0000 (+0900) Subject: test: Add menu for activating transceiver encoding X-Git-Tag: accepted/tizen/8.0/unified/20240215.155625~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=10d99fe7026c26b73f438177a0309ff99d973b1c;p=platform%2Fcore%2Fapi%2Fwebrtc.git test: Add menu for activating transceiver encoding [Version] 0.4.42 [Issue Type] Test application Change-Id: If83d2eac958ba87d8a24d53862297c224e7ee734 Signed-off-by: Sangchul Lee (cherry picked from commit 62899691a458f092fa1beedb5ac4b5b444e65abd) --- diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index 45fcf489..5d73a051 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.41 +Version: 0.4.42 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/test/webrtc_test.c b/test/webrtc_test.c index ccb02a7f..dbc1006e 100644 --- a/test/webrtc_test.c +++ b/test/webrtc_test.c @@ -1186,6 +1186,15 @@ static void _webrtc_media_source_remove_transceiver_encoding(int index, unsigned source_id, g_webrtc_media_type_str[media_type], rid); } +static void _webrtc_media_source_active_transceiver_encoding(int index, unsigned int source_id, webrtc_media_type_e media_type, const char *rid, bool active) +{ + int ret = webrtc_media_source_active_transceiver_encoding(g_ad.conns[index].webrtc, source_id, media_type, rid, active); + RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret); + + g_print("webrtc_media_source_active_transceiver_encoding() success, source_id[%u], media_type[%s], rid[%s], active[%d]\n", + source_id, g_webrtc_media_type_str[media_type], rid, active); +} + static void __offer_created_cb(webrtc_h webrtc, const char *description, void *user_data) { connection_s *conn = (connection_s *)user_data; @@ -3678,6 +3687,36 @@ static void test_webrtc_media_source(char *cmd) } break; } + case CURRENT_STATUS_MEDIA_SOURCE_ACTIVE_TRANSCEIVER_ENCODING: { + static unsigned int id; + static unsigned int media_type; + static char *rid; + + 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: + rid = strdup(cmd); + g_ad.input_count++; + return; + case 3: + _webrtc_media_source_active_transceiver_encoding(0, id, media_type, rid, value > 0); + id = media_type = 0; + if (rid) { + free(rid); + rid = NULL; + } + g_ad.input_count = 0; + break; + } + break; + } } reset_menu_state(); diff --git a/test/webrtc_test_menu.c b/test/webrtc_test_menu.c index 6812ff5d..93316380 100644 --- a/test/webrtc_test_menu.c +++ b/test/webrtc_test_menu.c @@ -80,6 +80,7 @@ menu_info_s g_menu_infos[] = { { "gpt", CURRENT_STATUS_MEDIA_SOURCE_GET_PAYLOAD_TYPE, true }, { "ae", CURRENT_STATUS_MEDIA_SOURCE_ADD_TRANSCEIVER_ENCODING, true }, { "re", CURRENT_STATUS_MEDIA_SOURCE_REMOVE_TRANSCEIVER_ENCODING, true }, + { "te", CURRENT_STATUS_MEDIA_SOURCE_ACTIVE_TRANSCEIVER_ENCODING, true }, /* webrtc media render */ { "dt", CURRENT_STATUS_SET_DISPLAY_TYPE, true }, { "dm", CURRENT_STATUS_SET_DISPLAY_MODE, true }, @@ -251,7 +252,8 @@ void display_menu_main(void) g_print("scs. *Set screen source crop\t"); g_print("ucs. *Unset screen source crop\n"); g_print("ae. *Add transceiver encoding\t"); - g_print("re. *Remove transceiver encoding\n"); + g_print("re. *Remove transceiver encoding\t"); + g_print("te. *Active transceiver encoding\n"); g_print("------------------------------------- Media Render --------------------------------------\n"); g_print("dt. Set display type\t"); g_print("dm. Set display mode\t"); @@ -536,6 +538,16 @@ void display_menu_webrtc_media_source(void) else if (get_appdata()->input_count == 2) g_print("*** input rid.\n"); break; + case CURRENT_STATUS_MEDIA_SOURCE_ACTIVE_TRANSCEIVER_ENCODING: + 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 rid.\n"); + else if (get_appdata()->input_count == 3) + g_print("*** input active or not.(1.active 0:inactive)\n"); + break; } g_print(" >>> "); } diff --git a/test/webrtc_test_priv.h b/test/webrtc_test_priv.h index 2b4ca714..44195c14 100644 --- a/test/webrtc_test_priv.h +++ b/test/webrtc_test_priv.h @@ -119,6 +119,7 @@ enum { CURRENT_STATUS_MEDIA_SOURCE_GET_PAYLOAD_TYPE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x1F, CURRENT_STATUS_MEDIA_SOURCE_ADD_TRANSCEIVER_ENCODING = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x21, CURRENT_STATUS_MEDIA_SOURCE_REMOVE_TRANSCEIVER_ENCODING = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x22, + CURRENT_STATUS_MEDIA_SOURCE_ACTIVE_TRANSCEIVER_ENCODING = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x23, /* webrtc media render */ CURRENT_STATUS_SET_DISPLAY_TYPE = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x01, CURRENT_STATUS_SET_DISPLAY_MODE = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x02,