From: Sangchul Lee Date: Mon, 27 Jun 2022 05:35:14 +0000 (+0900) Subject: [UTC][webrtc][ACR-1702] Add test cases for transceiver codec functions X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b6ea826c85fce8b8e43308d9709ce29caf1cb2d3;p=test%2Ftct%2Fnative%2Fapi.git [UTC][webrtc][ACR-1702] Add test cases for transceiver codec functions Change-Id: I5e05ff9d8c82f505e1f38542a466c216221276a1 Signed-off-by: Sangchul Lee --- diff --git a/src/utc/webrtc/public.list b/src/utc/webrtc/public.list index 131e84f07..f3817d196 100644 --- a/src/utc/webrtc/public.list +++ b/src/utc/webrtc/public.list @@ -7,6 +7,9 @@ webrtc_add_media_source webrtc_remove_media_source webrtc_media_source_set_transceiver_direction webrtc_media_source_get_transceiver_direction +webrtc_media_source_foreach_supported_transceiver_codec +webrtc_media_source_set_transceiver_codec +webrtc_media_source_get_transceiver_codec webrtc_media_source_set_pause webrtc_media_source_get_pause webrtc_media_source_set_mute diff --git a/src/utc/webrtc/tct-webrtc-core_mobile.h b/src/utc/webrtc/tct-webrtc-core_mobile.h index f6ffa0994..076438d9f 100644 --- a/src/utc/webrtc/tct-webrtc-core_mobile.h +++ b/src/utc/webrtc/tct-webrtc-core_mobile.h @@ -46,6 +46,13 @@ extern int utc_media_webrtc_media_source_set_transceiver_direction_p(void); extern int utc_media_webrtc_media_source_set_transceiver_direction_n(void); extern int utc_media_webrtc_media_source_get_transceiver_direction_p(void); extern int utc_media_webrtc_media_source_get_transceiver_direction_n(void); +extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p(void); +extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n(void); +extern int utc_media_webrtc_media_source_set_transceiver_codec_p(void); +extern int utc_media_webrtc_media_source_set_transceiver_codec_n1(void); +extern int utc_media_webrtc_media_source_set_transceiver_codec_n2(void); +extern int utc_media_webrtc_media_source_get_transceiver_codec_p(void); +extern int utc_media_webrtc_media_source_get_transceiver_codec_n(void); extern int utc_media_webrtc_media_source_set_pause_p(void); extern int utc_media_webrtc_media_source_set_pause_n(void); extern int utc_media_webrtc_media_source_get_pause_p(void); @@ -270,6 +277,13 @@ testcase tc_array[] = { {"utc_media_webrtc_media_source_set_transceiver_direction_n",utc_media_webrtc_media_source_set_transceiver_direction_n,NULL,NULL}, {"utc_media_webrtc_media_source_get_transceiver_direction_p",utc_media_webrtc_media_source_get_transceiver_direction_p,NULL,NULL}, {"utc_media_webrtc_media_source_get_transceiver_direction_n",utc_media_webrtc_media_source_get_transceiver_direction_n,NULL,NULL}, + {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p,NULL,NULL}, + {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n,NULL,NULL}, + {"utc_media_webrtc_media_source_set_transceiver_codec_p",utc_media_webrtc_media_source_set_transceiver_codec_p,NULL,NULL}, + {"utc_media_webrtc_media_source_set_transceiver_codec_n1",utc_media_webrtc_media_source_set_transceiver_codec_n1,NULL,NULL}, + {"utc_media_webrtc_media_source_set_transceiver_codec_n2",utc_media_webrtc_media_source_set_transceiver_codec_n2,NULL,NULL}, + {"utc_media_webrtc_media_source_get_transceiver_codec_p",utc_media_webrtc_media_source_get_transceiver_codec_p,NULL,NULL}, + {"utc_media_webrtc_media_source_get_transceiver_codec_n",utc_media_webrtc_media_source_get_transceiver_codec_n,NULL,NULL}, {"utc_media_webrtc_media_source_set_pause_p",utc_media_webrtc_media_source_set_pause_p,NULL,NULL}, {"utc_media_webrtc_media_source_set_pause_n",utc_media_webrtc_media_source_set_pause_n,NULL,NULL}, {"utc_media_webrtc_media_source_get_pause_p",utc_media_webrtc_media_source_get_pause_p,NULL,NULL}, diff --git a/src/utc/webrtc/tct-webrtc-core_tizeniot.h b/src/utc/webrtc/tct-webrtc-core_tizeniot.h index f6ffa0994..076438d9f 100644 --- a/src/utc/webrtc/tct-webrtc-core_tizeniot.h +++ b/src/utc/webrtc/tct-webrtc-core_tizeniot.h @@ -46,6 +46,13 @@ extern int utc_media_webrtc_media_source_set_transceiver_direction_p(void); extern int utc_media_webrtc_media_source_set_transceiver_direction_n(void); extern int utc_media_webrtc_media_source_get_transceiver_direction_p(void); extern int utc_media_webrtc_media_source_get_transceiver_direction_n(void); +extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p(void); +extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n(void); +extern int utc_media_webrtc_media_source_set_transceiver_codec_p(void); +extern int utc_media_webrtc_media_source_set_transceiver_codec_n1(void); +extern int utc_media_webrtc_media_source_set_transceiver_codec_n2(void); +extern int utc_media_webrtc_media_source_get_transceiver_codec_p(void); +extern int utc_media_webrtc_media_source_get_transceiver_codec_n(void); extern int utc_media_webrtc_media_source_set_pause_p(void); extern int utc_media_webrtc_media_source_set_pause_n(void); extern int utc_media_webrtc_media_source_get_pause_p(void); @@ -270,6 +277,13 @@ testcase tc_array[] = { {"utc_media_webrtc_media_source_set_transceiver_direction_n",utc_media_webrtc_media_source_set_transceiver_direction_n,NULL,NULL}, {"utc_media_webrtc_media_source_get_transceiver_direction_p",utc_media_webrtc_media_source_get_transceiver_direction_p,NULL,NULL}, {"utc_media_webrtc_media_source_get_transceiver_direction_n",utc_media_webrtc_media_source_get_transceiver_direction_n,NULL,NULL}, + {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p,NULL,NULL}, + {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n,NULL,NULL}, + {"utc_media_webrtc_media_source_set_transceiver_codec_p",utc_media_webrtc_media_source_set_transceiver_codec_p,NULL,NULL}, + {"utc_media_webrtc_media_source_set_transceiver_codec_n1",utc_media_webrtc_media_source_set_transceiver_codec_n1,NULL,NULL}, + {"utc_media_webrtc_media_source_set_transceiver_codec_n2",utc_media_webrtc_media_source_set_transceiver_codec_n2,NULL,NULL}, + {"utc_media_webrtc_media_source_get_transceiver_codec_p",utc_media_webrtc_media_source_get_transceiver_codec_p,NULL,NULL}, + {"utc_media_webrtc_media_source_get_transceiver_codec_n",utc_media_webrtc_media_source_get_transceiver_codec_n,NULL,NULL}, {"utc_media_webrtc_media_source_set_pause_p",utc_media_webrtc_media_source_set_pause_p,NULL,NULL}, {"utc_media_webrtc_media_source_set_pause_n",utc_media_webrtc_media_source_set_pause_n,NULL,NULL}, {"utc_media_webrtc_media_source_get_pause_p",utc_media_webrtc_media_source_get_pause_p,NULL,NULL}, diff --git a/src/utc/webrtc/tct-webrtc-core_tv.h b/src/utc/webrtc/tct-webrtc-core_tv.h index f6ffa0994..076438d9f 100644 --- a/src/utc/webrtc/tct-webrtc-core_tv.h +++ b/src/utc/webrtc/tct-webrtc-core_tv.h @@ -46,6 +46,13 @@ extern int utc_media_webrtc_media_source_set_transceiver_direction_p(void); extern int utc_media_webrtc_media_source_set_transceiver_direction_n(void); extern int utc_media_webrtc_media_source_get_transceiver_direction_p(void); extern int utc_media_webrtc_media_source_get_transceiver_direction_n(void); +extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p(void); +extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n(void); +extern int utc_media_webrtc_media_source_set_transceiver_codec_p(void); +extern int utc_media_webrtc_media_source_set_transceiver_codec_n1(void); +extern int utc_media_webrtc_media_source_set_transceiver_codec_n2(void); +extern int utc_media_webrtc_media_source_get_transceiver_codec_p(void); +extern int utc_media_webrtc_media_source_get_transceiver_codec_n(void); extern int utc_media_webrtc_media_source_set_pause_p(void); extern int utc_media_webrtc_media_source_set_pause_n(void); extern int utc_media_webrtc_media_source_get_pause_p(void); @@ -270,6 +277,13 @@ testcase tc_array[] = { {"utc_media_webrtc_media_source_set_transceiver_direction_n",utc_media_webrtc_media_source_set_transceiver_direction_n,NULL,NULL}, {"utc_media_webrtc_media_source_get_transceiver_direction_p",utc_media_webrtc_media_source_get_transceiver_direction_p,NULL,NULL}, {"utc_media_webrtc_media_source_get_transceiver_direction_n",utc_media_webrtc_media_source_get_transceiver_direction_n,NULL,NULL}, + {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p,NULL,NULL}, + {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n,NULL,NULL}, + {"utc_media_webrtc_media_source_set_transceiver_codec_p",utc_media_webrtc_media_source_set_transceiver_codec_p,NULL,NULL}, + {"utc_media_webrtc_media_source_set_transceiver_codec_n1",utc_media_webrtc_media_source_set_transceiver_codec_n1,NULL,NULL}, + {"utc_media_webrtc_media_source_set_transceiver_codec_n2",utc_media_webrtc_media_source_set_transceiver_codec_n2,NULL,NULL}, + {"utc_media_webrtc_media_source_get_transceiver_codec_p",utc_media_webrtc_media_source_get_transceiver_codec_p,NULL,NULL}, + {"utc_media_webrtc_media_source_get_transceiver_codec_n",utc_media_webrtc_media_source_get_transceiver_codec_n,NULL,NULL}, {"utc_media_webrtc_media_source_set_pause_p",utc_media_webrtc_media_source_set_pause_p,NULL,NULL}, {"utc_media_webrtc_media_source_set_pause_n",utc_media_webrtc_media_source_set_pause_n,NULL,NULL}, {"utc_media_webrtc_media_source_get_pause_p",utc_media_webrtc_media_source_get_pause_p,NULL,NULL}, diff --git a/src/utc/webrtc/tct-webrtc-core_wearable.h b/src/utc/webrtc/tct-webrtc-core_wearable.h index f6ffa0994..076438d9f 100644 --- a/src/utc/webrtc/tct-webrtc-core_wearable.h +++ b/src/utc/webrtc/tct-webrtc-core_wearable.h @@ -46,6 +46,13 @@ extern int utc_media_webrtc_media_source_set_transceiver_direction_p(void); extern int utc_media_webrtc_media_source_set_transceiver_direction_n(void); extern int utc_media_webrtc_media_source_get_transceiver_direction_p(void); extern int utc_media_webrtc_media_source_get_transceiver_direction_n(void); +extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p(void); +extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n(void); +extern int utc_media_webrtc_media_source_set_transceiver_codec_p(void); +extern int utc_media_webrtc_media_source_set_transceiver_codec_n1(void); +extern int utc_media_webrtc_media_source_set_transceiver_codec_n2(void); +extern int utc_media_webrtc_media_source_get_transceiver_codec_p(void); +extern int utc_media_webrtc_media_source_get_transceiver_codec_n(void); extern int utc_media_webrtc_media_source_set_pause_p(void); extern int utc_media_webrtc_media_source_set_pause_n(void); extern int utc_media_webrtc_media_source_get_pause_p(void); @@ -270,6 +277,13 @@ testcase tc_array[] = { {"utc_media_webrtc_media_source_set_transceiver_direction_n",utc_media_webrtc_media_source_set_transceiver_direction_n,NULL,NULL}, {"utc_media_webrtc_media_source_get_transceiver_direction_p",utc_media_webrtc_media_source_get_transceiver_direction_p,NULL,NULL}, {"utc_media_webrtc_media_source_get_transceiver_direction_n",utc_media_webrtc_media_source_get_transceiver_direction_n,NULL,NULL}, + {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p,NULL,NULL}, + {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n,NULL,NULL}, + {"utc_media_webrtc_media_source_set_transceiver_codec_p",utc_media_webrtc_media_source_set_transceiver_codec_p,NULL,NULL}, + {"utc_media_webrtc_media_source_set_transceiver_codec_n1",utc_media_webrtc_media_source_set_transceiver_codec_n1,NULL,NULL}, + {"utc_media_webrtc_media_source_set_transceiver_codec_n2",utc_media_webrtc_media_source_set_transceiver_codec_n2,NULL,NULL}, + {"utc_media_webrtc_media_source_get_transceiver_codec_p",utc_media_webrtc_media_source_get_transceiver_codec_p,NULL,NULL}, + {"utc_media_webrtc_media_source_get_transceiver_codec_n",utc_media_webrtc_media_source_get_transceiver_codec_n,NULL,NULL}, {"utc_media_webrtc_media_source_set_pause_p",utc_media_webrtc_media_source_set_pause_p,NULL,NULL}, {"utc_media_webrtc_media_source_set_pause_n",utc_media_webrtc_media_source_set_pause_n,NULL,NULL}, {"utc_media_webrtc_media_source_get_pause_p",utc_media_webrtc_media_source_get_pause_p,NULL,NULL}, diff --git a/src/utc/webrtc/utc-media-webrtc.c b/src/utc/webrtc/utc-media-webrtc.c index e9fe92062..f479b12d1 100644 --- a/src/utc/webrtc/utc-media-webrtc.c +++ b/src/utc/webrtc/utc-media-webrtc.c @@ -156,6 +156,13 @@ static void __data_channel_buffered_amount_low_cb(webrtc_data_channel_h channel, { } +static bool __supported_transceiver_codec_cb(webrtc_transceiver_codec_e codec, void *user_data) +{ + dlog_print(DLOG_DEBUG, "NativeTCT", "[%s:%d] codec[0x%x]", __FUNCTION__, __LINE__, codec); + + return true; +} + /** * @function utc_media_webrtc_startup_create_win * @description Should be called before a test using a window @@ -719,6 +726,203 @@ int utc_media_webrtc_media_source_get_transceiver_direction_n(void) return 0; } +/** + * @testcase utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p + * @since_tizen 7.0 + * @description Retrieves supported transceiver codecs\n + * - Create a webrtc handle\n + * - Foreach supported transceiver codecs + */ +int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_media_source_foreach_supported_transceiver_codec(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_NULL, WEBRTC_MEDIA_TYPE_AUDIO, __supported_transceiver_codec_cb, webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_media_source_foreach_supported_transceiver_codec(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_NULL, WEBRTC_MEDIA_TYPE_VIDEO, __supported_transceiver_codec_cb, webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n + * @since_tizen 7.0 + * @description Retrieves supported transceiver codecs\n + * - Create a webrtc handle\n + * - Set an invalid media type to get negative result + */ +int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_media_source_foreach_supported_transceiver_codec(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_AUDIOTEST, WEBRTC_MEDIA_TYPE_VIDEO, __supported_transceiver_codec_cb, webrtc); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_media_source_set_transceiver_codec_p + * @since_tizen 7.0 + * @description Sets a transceiver codec\n + * - Create a webrtc handle\n + * - Add a media source\n + * - Set a codec + */ +int utc_media_webrtc_media_source_set_transceiver_codec_p(void) +{ + int ret; + webrtc_h webrtc; + unsigned int id; + webrtc_transceiver_codec_e codec; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_AUDIOTEST, &id); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_media_source_set_transceiver_codec(webrtc, id, WEBRTC_MEDIA_TYPE_AUDIO, WEBRTC_TRANSCEIVER_CODEC_OPUS); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_media_source_get_transceiver_codec(webrtc, id, WEBRTC_MEDIA_TYPE_AUDIO, &codec); + assert_eq(ret, WEBRTC_ERROR_NONE); + assert_eq(codec, WEBRTC_TRANSCEIVER_CODEC_OPUS); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_media_source_set_transceiver_codec_n1 + * @since_tizen 7.0 + * @description Sets a transceiver codec\n + * - Create a webrtc handle\n + * - Add a media source\n + * - Set an invalid codec to get negative result + */ +int utc_media_webrtc_media_source_set_transceiver_codec_n1(void) +{ + int ret; + webrtc_h webrtc; + unsigned int id; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_AUDIOTEST, &id); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_media_source_set_transceiver_direction(webrtc, id, WEBRTC_MEDIA_TYPE_AUDIO, WEBRTC_TRANSCEIVER_CODEC_VP8); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_media_source_set_transceiver_codec_n2 + * @since_tizen 7.0 + * @description Sets a transceiver codec\n + * - Create a webrtc handle\n + * - Add a media source\n + * - Set an invalid media type to get negative result + */ +int utc_media_webrtc_media_source_set_transceiver_codec_n2(void) +{ + int ret; + webrtc_h webrtc; + unsigned int id; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_VIDEOTEST, &id); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_media_source_set_transceiver_codec(webrtc, id, WEBRTC_MEDIA_TYPE_AUDIO, WEBRTC_TRANSCEIVER_CODEC_VP8); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_media_source_get_transceiver_codec_p + * @since_tizen 7.0 + * @description Gets the transceiver codec\n + * - Create a webrtc handle\n + * - Add a media source\n + * - Get the codec + */ +int utc_media_webrtc_media_source_get_transceiver_codec_p(void) +{ + int ret; + webrtc_h webrtc; + unsigned int id; + webrtc_transceiver_codec_e codec; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_MIC, &id); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_media_source_get_transceiver_codec(webrtc, id, WEBRTC_MEDIA_TYPE_AUDIO, &codec); + assert_eq(ret, WEBRTC_ERROR_NONE); + assert_eq(codec, WEBRTC_TRANSCEIVER_CODEC_OPUS); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_media_source_get_transceiver_codec_n + * @since_tizen 7.0 + * @description Gets the transceiver codec\n + * - Create a webrtc handle\n + * - Add a media source\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_media_source_get_transceiver_codec_n(void) +{ + int ret; + webrtc_h webrtc; + unsigned int id; + webrtc_transceiver_codec_e codec; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_VIDEOTEST, &id); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_media_source_get_transceiver_codec(webrtc, id, WEBRTC_MEDIA_TYPE_AUDIO, &codec); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy(webrtc); + + return 0; +} + /** * @testcase utc_media_webrtc_media_source_set_pause_p * @since_tizen 6.5 @@ -3053,7 +3257,7 @@ int utc_media_webrtc_foreach_turn_server_p(void) /** * @testcase utc_media_webrtc_foreach_turn_server_n * @since_tizen 6.5 - * @description Adds TURN server\n + * @description Retrieves TURN servers\n * - Create a webrtc handle\n * - Pass invalid parameter to get negative result */