From: Sangchul Lee Date: Fri, 24 Sep 2021 05:23:06 +0000 (+0900) Subject: [UTC][capi-media-webrtc][ACR-1637] Add new API set for native WebRTC #4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4f61737133745e77eaaa05c61a5dd3d0b56a791b;p=test%2Ftct%2Fnative%2Fapi.git [UTC][capi-media-webrtc][ACR-1637] Add new API set for native WebRTC #4 Missing testcases are added. Change-Id: Ia99522762dacfdda95f7c3ec2083bb802ab95370 Signed-off-by: Sangchul Lee --- diff --git a/src/utc/webrtc/public.list b/src/utc/webrtc/public.list index c49e78e93..6d45a80ed 100644 --- a/src/utc/webrtc/public.list +++ b/src/utc/webrtc/public.list @@ -43,6 +43,9 @@ webrtc_get_ice_gathering_state webrtc_get_ice_connection_state webrtc_create_data_channel webrtc_destroy_data_channel +webrtc_data_channel_get_label +webrtc_data_channel_send_string +webrtc_data_channel_send_bytes webrtc_get_data webrtc_set_state_changed_cb webrtc_unset_state_changed_cb @@ -60,6 +63,8 @@ webrtc_set_ice_gathering_state_change_cb webrtc_unset_ice_gathering_state_change_cb webrtc_set_ice_connection_state_change_cb webrtc_unset_ice_connection_state_change_cb +webrtc_set_track_added_cb +webrtc_unset_track_added_cb webrtc_set_encoded_audio_frame_cb webrtc_unset_encoded_audio_frame_cb webrtc_set_encoded_video_frame_cb diff --git a/src/utc/webrtc/tct-webrtc-core_mobile.h b/src/utc/webrtc/tct-webrtc-core_mobile.h index 5f84198a0..e2315a519 100644 --- a/src/utc/webrtc/tct-webrtc-core_mobile.h +++ b/src/utc/webrtc/tct-webrtc-core_mobile.h @@ -134,6 +134,12 @@ extern int utc_media_webrtc_create_data_channel_p(void); extern int utc_media_webrtc_create_data_channel_n(void); extern int utc_media_webrtc_destroy_data_channel_p(void); extern int utc_media_webrtc_destroy_data_channel_n(void); +extern int utc_media_webrtc_data_channel_get_label_p(void); +extern int utc_media_webrtc_data_channel_get_label_n(void); +extern int utc_media_webrtc_data_channel_send_string_p(void); +extern int utc_media_webrtc_data_channel_send_string_n(void); +extern int utc_media_webrtc_data_channel_send_bytes_p(void); +extern int utc_media_webrtc_data_channel_send_bytes_n(void); extern int utc_media_webrtc_get_data_p(void); extern int utc_media_webrtc_get_data_n(void); extern int utc_media_webrtc_set_state_changed_cb_p(void); @@ -168,6 +174,10 @@ extern int utc_media_webrtc_set_ice_connection_state_change_cb_p(void); extern int utc_media_webrtc_set_ice_connection_state_change_cb_n(void); extern int utc_media_webrtc_unset_ice_connection_state_change_cb_p(void); extern int utc_media_webrtc_unset_ice_connection_state_change_cb_n(void); +extern int utc_media_webrtc_set_track_added_cb_p(void); +extern int utc_media_webrtc_set_track_added_cb_n(void); +extern int utc_media_webrtc_unset_track_added_cb_p(void); +extern int utc_media_webrtc_unset_track_added_cb_n(void); extern int utc_media_webrtc_set_encoded_audio_frame_cb_p(void); extern int utc_media_webrtc_set_encoded_audio_frame_cb_n(void); extern int utc_media_webrtc_unset_encoded_audio_frame_cb_p(void); @@ -314,6 +324,12 @@ testcase tc_array[] = { {"utc_media_webrtc_create_data_channel_n",utc_media_webrtc_create_data_channel_n,NULL,NULL}, {"utc_media_webrtc_destroy_data_channel_p",utc_media_webrtc_destroy_data_channel_p,NULL,NULL}, {"utc_media_webrtc_destroy_data_channel_n",utc_media_webrtc_destroy_data_channel_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_label_p",utc_media_webrtc_data_channel_get_label_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_label_n",utc_media_webrtc_data_channel_get_label_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_string_p",utc_media_webrtc_data_channel_send_string_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_string_n",utc_media_webrtc_data_channel_send_string_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_bytes_p",utc_media_webrtc_data_channel_send_bytes_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_bytes_n",utc_media_webrtc_data_channel_send_bytes_n,NULL,NULL}, {"utc_media_webrtc_get_data_p",utc_media_webrtc_get_data_p,NULL,NULL}, {"utc_media_webrtc_get_data_n",utc_media_webrtc_get_data_n,NULL,NULL}, {"utc_media_webrtc_set_state_changed_cb_p",utc_media_webrtc_set_state_changed_cb_p,NULL,NULL}, @@ -348,6 +364,10 @@ testcase tc_array[] = { {"utc_media_webrtc_set_ice_connection_state_change_cb_n",utc_media_webrtc_set_ice_connection_state_change_cb_n,NULL,NULL}, {"utc_media_webrtc_unset_ice_connection_state_change_cb_p",utc_media_webrtc_unset_ice_connection_state_change_cb_p,NULL,NULL}, {"utc_media_webrtc_unset_ice_connection_state_change_cb_n",utc_media_webrtc_unset_ice_connection_state_change_cb_n,NULL,NULL}, + {"utc_media_webrtc_set_track_added_cb_p",utc_media_webrtc_set_track_added_cb_p,NULL,NULL}, + {"utc_media_webrtc_set_track_added_cb_n",utc_media_webrtc_set_track_added_cb_n,NULL,NULL}, + {"utc_media_webrtc_unset_track_added_cb_p",utc_media_webrtc_unset_track_added_cb_p,NULL,NULL}, + {"utc_media_webrtc_unset_track_added_cb_n",utc_media_webrtc_unset_track_added_cb_n,NULL,NULL}, {"utc_media_webrtc_set_encoded_audio_frame_cb_p",utc_media_webrtc_set_encoded_audio_frame_cb_p,NULL,NULL}, {"utc_media_webrtc_set_encoded_audio_frame_cb_n",utc_media_webrtc_set_encoded_audio_frame_cb_n,NULL,NULL}, {"utc_media_webrtc_unset_encoded_audio_frame_cb_p",utc_media_webrtc_unset_encoded_audio_frame_cb_p,NULL,NULL}, diff --git a/src/utc/webrtc/tct-webrtc-core_tizeniot.h b/src/utc/webrtc/tct-webrtc-core_tizeniot.h index 5f84198a0..e2315a519 100644 --- a/src/utc/webrtc/tct-webrtc-core_tizeniot.h +++ b/src/utc/webrtc/tct-webrtc-core_tizeniot.h @@ -134,6 +134,12 @@ extern int utc_media_webrtc_create_data_channel_p(void); extern int utc_media_webrtc_create_data_channel_n(void); extern int utc_media_webrtc_destroy_data_channel_p(void); extern int utc_media_webrtc_destroy_data_channel_n(void); +extern int utc_media_webrtc_data_channel_get_label_p(void); +extern int utc_media_webrtc_data_channel_get_label_n(void); +extern int utc_media_webrtc_data_channel_send_string_p(void); +extern int utc_media_webrtc_data_channel_send_string_n(void); +extern int utc_media_webrtc_data_channel_send_bytes_p(void); +extern int utc_media_webrtc_data_channel_send_bytes_n(void); extern int utc_media_webrtc_get_data_p(void); extern int utc_media_webrtc_get_data_n(void); extern int utc_media_webrtc_set_state_changed_cb_p(void); @@ -168,6 +174,10 @@ extern int utc_media_webrtc_set_ice_connection_state_change_cb_p(void); extern int utc_media_webrtc_set_ice_connection_state_change_cb_n(void); extern int utc_media_webrtc_unset_ice_connection_state_change_cb_p(void); extern int utc_media_webrtc_unset_ice_connection_state_change_cb_n(void); +extern int utc_media_webrtc_set_track_added_cb_p(void); +extern int utc_media_webrtc_set_track_added_cb_n(void); +extern int utc_media_webrtc_unset_track_added_cb_p(void); +extern int utc_media_webrtc_unset_track_added_cb_n(void); extern int utc_media_webrtc_set_encoded_audio_frame_cb_p(void); extern int utc_media_webrtc_set_encoded_audio_frame_cb_n(void); extern int utc_media_webrtc_unset_encoded_audio_frame_cb_p(void); @@ -314,6 +324,12 @@ testcase tc_array[] = { {"utc_media_webrtc_create_data_channel_n",utc_media_webrtc_create_data_channel_n,NULL,NULL}, {"utc_media_webrtc_destroy_data_channel_p",utc_media_webrtc_destroy_data_channel_p,NULL,NULL}, {"utc_media_webrtc_destroy_data_channel_n",utc_media_webrtc_destroy_data_channel_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_label_p",utc_media_webrtc_data_channel_get_label_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_label_n",utc_media_webrtc_data_channel_get_label_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_string_p",utc_media_webrtc_data_channel_send_string_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_string_n",utc_media_webrtc_data_channel_send_string_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_bytes_p",utc_media_webrtc_data_channel_send_bytes_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_bytes_n",utc_media_webrtc_data_channel_send_bytes_n,NULL,NULL}, {"utc_media_webrtc_get_data_p",utc_media_webrtc_get_data_p,NULL,NULL}, {"utc_media_webrtc_get_data_n",utc_media_webrtc_get_data_n,NULL,NULL}, {"utc_media_webrtc_set_state_changed_cb_p",utc_media_webrtc_set_state_changed_cb_p,NULL,NULL}, @@ -348,6 +364,10 @@ testcase tc_array[] = { {"utc_media_webrtc_set_ice_connection_state_change_cb_n",utc_media_webrtc_set_ice_connection_state_change_cb_n,NULL,NULL}, {"utc_media_webrtc_unset_ice_connection_state_change_cb_p",utc_media_webrtc_unset_ice_connection_state_change_cb_p,NULL,NULL}, {"utc_media_webrtc_unset_ice_connection_state_change_cb_n",utc_media_webrtc_unset_ice_connection_state_change_cb_n,NULL,NULL}, + {"utc_media_webrtc_set_track_added_cb_p",utc_media_webrtc_set_track_added_cb_p,NULL,NULL}, + {"utc_media_webrtc_set_track_added_cb_n",utc_media_webrtc_set_track_added_cb_n,NULL,NULL}, + {"utc_media_webrtc_unset_track_added_cb_p",utc_media_webrtc_unset_track_added_cb_p,NULL,NULL}, + {"utc_media_webrtc_unset_track_added_cb_n",utc_media_webrtc_unset_track_added_cb_n,NULL,NULL}, {"utc_media_webrtc_set_encoded_audio_frame_cb_p",utc_media_webrtc_set_encoded_audio_frame_cb_p,NULL,NULL}, {"utc_media_webrtc_set_encoded_audio_frame_cb_n",utc_media_webrtc_set_encoded_audio_frame_cb_n,NULL,NULL}, {"utc_media_webrtc_unset_encoded_audio_frame_cb_p",utc_media_webrtc_unset_encoded_audio_frame_cb_p,NULL,NULL}, diff --git a/src/utc/webrtc/tct-webrtc-core_tv.h b/src/utc/webrtc/tct-webrtc-core_tv.h index 5f84198a0..e2315a519 100644 --- a/src/utc/webrtc/tct-webrtc-core_tv.h +++ b/src/utc/webrtc/tct-webrtc-core_tv.h @@ -134,6 +134,12 @@ extern int utc_media_webrtc_create_data_channel_p(void); extern int utc_media_webrtc_create_data_channel_n(void); extern int utc_media_webrtc_destroy_data_channel_p(void); extern int utc_media_webrtc_destroy_data_channel_n(void); +extern int utc_media_webrtc_data_channel_get_label_p(void); +extern int utc_media_webrtc_data_channel_get_label_n(void); +extern int utc_media_webrtc_data_channel_send_string_p(void); +extern int utc_media_webrtc_data_channel_send_string_n(void); +extern int utc_media_webrtc_data_channel_send_bytes_p(void); +extern int utc_media_webrtc_data_channel_send_bytes_n(void); extern int utc_media_webrtc_get_data_p(void); extern int utc_media_webrtc_get_data_n(void); extern int utc_media_webrtc_set_state_changed_cb_p(void); @@ -168,6 +174,10 @@ extern int utc_media_webrtc_set_ice_connection_state_change_cb_p(void); extern int utc_media_webrtc_set_ice_connection_state_change_cb_n(void); extern int utc_media_webrtc_unset_ice_connection_state_change_cb_p(void); extern int utc_media_webrtc_unset_ice_connection_state_change_cb_n(void); +extern int utc_media_webrtc_set_track_added_cb_p(void); +extern int utc_media_webrtc_set_track_added_cb_n(void); +extern int utc_media_webrtc_unset_track_added_cb_p(void); +extern int utc_media_webrtc_unset_track_added_cb_n(void); extern int utc_media_webrtc_set_encoded_audio_frame_cb_p(void); extern int utc_media_webrtc_set_encoded_audio_frame_cb_n(void); extern int utc_media_webrtc_unset_encoded_audio_frame_cb_p(void); @@ -314,6 +324,12 @@ testcase tc_array[] = { {"utc_media_webrtc_create_data_channel_n",utc_media_webrtc_create_data_channel_n,NULL,NULL}, {"utc_media_webrtc_destroy_data_channel_p",utc_media_webrtc_destroy_data_channel_p,NULL,NULL}, {"utc_media_webrtc_destroy_data_channel_n",utc_media_webrtc_destroy_data_channel_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_label_p",utc_media_webrtc_data_channel_get_label_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_label_n",utc_media_webrtc_data_channel_get_label_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_string_p",utc_media_webrtc_data_channel_send_string_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_string_n",utc_media_webrtc_data_channel_send_string_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_bytes_p",utc_media_webrtc_data_channel_send_bytes_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_bytes_n",utc_media_webrtc_data_channel_send_bytes_n,NULL,NULL}, {"utc_media_webrtc_get_data_p",utc_media_webrtc_get_data_p,NULL,NULL}, {"utc_media_webrtc_get_data_n",utc_media_webrtc_get_data_n,NULL,NULL}, {"utc_media_webrtc_set_state_changed_cb_p",utc_media_webrtc_set_state_changed_cb_p,NULL,NULL}, @@ -348,6 +364,10 @@ testcase tc_array[] = { {"utc_media_webrtc_set_ice_connection_state_change_cb_n",utc_media_webrtc_set_ice_connection_state_change_cb_n,NULL,NULL}, {"utc_media_webrtc_unset_ice_connection_state_change_cb_p",utc_media_webrtc_unset_ice_connection_state_change_cb_p,NULL,NULL}, {"utc_media_webrtc_unset_ice_connection_state_change_cb_n",utc_media_webrtc_unset_ice_connection_state_change_cb_n,NULL,NULL}, + {"utc_media_webrtc_set_track_added_cb_p",utc_media_webrtc_set_track_added_cb_p,NULL,NULL}, + {"utc_media_webrtc_set_track_added_cb_n",utc_media_webrtc_set_track_added_cb_n,NULL,NULL}, + {"utc_media_webrtc_unset_track_added_cb_p",utc_media_webrtc_unset_track_added_cb_p,NULL,NULL}, + {"utc_media_webrtc_unset_track_added_cb_n",utc_media_webrtc_unset_track_added_cb_n,NULL,NULL}, {"utc_media_webrtc_set_encoded_audio_frame_cb_p",utc_media_webrtc_set_encoded_audio_frame_cb_p,NULL,NULL}, {"utc_media_webrtc_set_encoded_audio_frame_cb_n",utc_media_webrtc_set_encoded_audio_frame_cb_n,NULL,NULL}, {"utc_media_webrtc_unset_encoded_audio_frame_cb_p",utc_media_webrtc_unset_encoded_audio_frame_cb_p,NULL,NULL}, diff --git a/src/utc/webrtc/tct-webrtc-core_wearable.h b/src/utc/webrtc/tct-webrtc-core_wearable.h index 5f84198a0..e2315a519 100644 --- a/src/utc/webrtc/tct-webrtc-core_wearable.h +++ b/src/utc/webrtc/tct-webrtc-core_wearable.h @@ -134,6 +134,12 @@ extern int utc_media_webrtc_create_data_channel_p(void); extern int utc_media_webrtc_create_data_channel_n(void); extern int utc_media_webrtc_destroy_data_channel_p(void); extern int utc_media_webrtc_destroy_data_channel_n(void); +extern int utc_media_webrtc_data_channel_get_label_p(void); +extern int utc_media_webrtc_data_channel_get_label_n(void); +extern int utc_media_webrtc_data_channel_send_string_p(void); +extern int utc_media_webrtc_data_channel_send_string_n(void); +extern int utc_media_webrtc_data_channel_send_bytes_p(void); +extern int utc_media_webrtc_data_channel_send_bytes_n(void); extern int utc_media_webrtc_get_data_p(void); extern int utc_media_webrtc_get_data_n(void); extern int utc_media_webrtc_set_state_changed_cb_p(void); @@ -168,6 +174,10 @@ extern int utc_media_webrtc_set_ice_connection_state_change_cb_p(void); extern int utc_media_webrtc_set_ice_connection_state_change_cb_n(void); extern int utc_media_webrtc_unset_ice_connection_state_change_cb_p(void); extern int utc_media_webrtc_unset_ice_connection_state_change_cb_n(void); +extern int utc_media_webrtc_set_track_added_cb_p(void); +extern int utc_media_webrtc_set_track_added_cb_n(void); +extern int utc_media_webrtc_unset_track_added_cb_p(void); +extern int utc_media_webrtc_unset_track_added_cb_n(void); extern int utc_media_webrtc_set_encoded_audio_frame_cb_p(void); extern int utc_media_webrtc_set_encoded_audio_frame_cb_n(void); extern int utc_media_webrtc_unset_encoded_audio_frame_cb_p(void); @@ -314,6 +324,12 @@ testcase tc_array[] = { {"utc_media_webrtc_create_data_channel_n",utc_media_webrtc_create_data_channel_n,NULL,NULL}, {"utc_media_webrtc_destroy_data_channel_p",utc_media_webrtc_destroy_data_channel_p,NULL,NULL}, {"utc_media_webrtc_destroy_data_channel_n",utc_media_webrtc_destroy_data_channel_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_label_p",utc_media_webrtc_data_channel_get_label_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_label_n",utc_media_webrtc_data_channel_get_label_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_string_p",utc_media_webrtc_data_channel_send_string_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_string_n",utc_media_webrtc_data_channel_send_string_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_bytes_p",utc_media_webrtc_data_channel_send_bytes_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_send_bytes_n",utc_media_webrtc_data_channel_send_bytes_n,NULL,NULL}, {"utc_media_webrtc_get_data_p",utc_media_webrtc_get_data_p,NULL,NULL}, {"utc_media_webrtc_get_data_n",utc_media_webrtc_get_data_n,NULL,NULL}, {"utc_media_webrtc_set_state_changed_cb_p",utc_media_webrtc_set_state_changed_cb_p,NULL,NULL}, @@ -348,6 +364,10 @@ testcase tc_array[] = { {"utc_media_webrtc_set_ice_connection_state_change_cb_n",utc_media_webrtc_set_ice_connection_state_change_cb_n,NULL,NULL}, {"utc_media_webrtc_unset_ice_connection_state_change_cb_p",utc_media_webrtc_unset_ice_connection_state_change_cb_p,NULL,NULL}, {"utc_media_webrtc_unset_ice_connection_state_change_cb_n",utc_media_webrtc_unset_ice_connection_state_change_cb_n,NULL,NULL}, + {"utc_media_webrtc_set_track_added_cb_p",utc_media_webrtc_set_track_added_cb_p,NULL,NULL}, + {"utc_media_webrtc_set_track_added_cb_n",utc_media_webrtc_set_track_added_cb_n,NULL,NULL}, + {"utc_media_webrtc_unset_track_added_cb_p",utc_media_webrtc_unset_track_added_cb_p,NULL,NULL}, + {"utc_media_webrtc_unset_track_added_cb_n",utc_media_webrtc_unset_track_added_cb_n,NULL,NULL}, {"utc_media_webrtc_set_encoded_audio_frame_cb_p",utc_media_webrtc_set_encoded_audio_frame_cb_p,NULL,NULL}, {"utc_media_webrtc_set_encoded_audio_frame_cb_n",utc_media_webrtc_set_encoded_audio_frame_cb_n,NULL,NULL}, {"utc_media_webrtc_unset_encoded_audio_frame_cb_p",utc_media_webrtc_unset_encoded_audio_frame_cb_p,NULL,NULL}, diff --git a/src/utc/webrtc/utc-media-webrtc-callback.c b/src/utc/webrtc/utc-media-webrtc-callback.c index f0d71f07c..c297eb442 100644 --- a/src/utc/webrtc/utc-media-webrtc-callback.c +++ b/src/utc/webrtc/utc-media-webrtc-callback.c @@ -49,6 +49,10 @@ static void __webrtc_ice_connection_state_change_cb(webrtc_h webrtc, webrtc_ice_ { } +static void __webrtc_track_added_cb(webrtc_h webrtc, webrtc_media_type_e type, unsigned int track_id, void *user_data) +{ +} + static void __webrtc_encoded_frame_cb(webrtc_h webrtc, webrtc_media_type_e type, unsigned int track_id, media_packet_h packet, void *user_data) { } @@ -737,6 +741,95 @@ int utc_media_webrtc_unset_ice_connection_state_change_cb_n(void) return 0; } +/** + * @testcase utc_media_webrtc_set_track_added_cb_p + * @since_tizen 6.5 + * @description Sets a track added callback + */ +int utc_media_webrtc_set_track_added_cb_p(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_track_added_cb(webrtc, __webrtc_track_added_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_set_track_added_cb_n + * @since_tizen 6.5 + * @description Sets a track added callback + * - Sets the callback without callback function pointer to get negative result + */ +int utc_media_webrtc_set_track_added_cb_n(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_track_added_cb(webrtc, NULL, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_unset_track_added_cb_p + * @since_tizen 6.5 + * @description Unsets the track added callback + */ +int utc_media_webrtc_unset_track_added_cb_p(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_track_added_cb(webrtc, __webrtc_track_added_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_unset_track_added_cb(webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_unset_track_added_cb_n + * @since_tizen 6.5 + * @description Unsets the track added callback + * - Unsets the callback without setting it to get negative result + */ +int utc_media_webrtc_unset_track_added_cb_n(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_unset_track_added_cb(webrtc); + assert_eq(ret, WEBRTC_ERROR_INVALID_OPERATION); + + webrtc_destroy(webrtc); + + return 0; +} + /** * @testcase utc_media_webrtc_set_encoded_audio_frame_cb_p * @since_tizen 6.5 diff --git a/src/utc/webrtc/utc-media-webrtc.c b/src/utc/webrtc/utc-media-webrtc.c index 26656c253..d46864006 100644 --- a/src/utc/webrtc/utc-media-webrtc.c +++ b/src/utc/webrtc/utc-media-webrtc.c @@ -23,10 +23,13 @@ #define TIMEOUT_MS 1000 #define TEST_WIDTH 640 #define TEST_HEIGHT 480 -#define TEST_STUN_SERVER_URL "stun://stun.testurl.com:19302" -#define TEST_TURN_SERVER_URL "turn://turn.testurl.com:19303" -#define TEST_TURN_SERVER_URL2 "turn://turn2.testurl.com:19303" -#define TEST_ICE_CANDIDATE "{'ice':{'candidate':'candidate:3600539631 1 tcp 1518149375 192.168.0.127 9 typ host tcptype active generation 0 ufrag l4kk network-id 3 network-cost 10','sdpMid':'video0','sdpMLineIndex':0}}" +#define TEST_STUN_SERVER_URL "stun://stun.testurl.com:19302" +#define TEST_TURN_SERVER_URL "turn://turn.testurl.com:19303" +#define TEST_TURN_SERVER_URL2 "turn://turn2.testurl.com:19303" +#define TEST_ICE_CANDIDATE "{'ice':{'candidate':'candidate:3600539631 1 tcp 1518149375 192.168.0.127 9 typ host tcptype active generation 0 ufrag l4kk network-id 3 network-cost 10','sdpMid':'video0','sdpMLineIndex':0}}" +#define TEST_DATA_CHANNEL_LABEL "test data channel" +#define TEST_STRING_DATA "test string" +#define TEST_BUFFER_SIZE 16 static GMainLoop *g_mainloop = NULL; static int g_timeout_id = 0; @@ -2179,13 +2182,13 @@ int utc_media_webrtc_get_stun_server_p(void) ret = webrtc_get_stun_server(webrtc, &result); assert_eq(ret, WEBRTC_ERROR_NONE); - dlog_print(DLOG_DEBUG, "NativeTCT", "[%s(%d)] %s %s", __FUNCTION__, __LINE__, result, TEST_STUN_SERVER_URL); - if (strcmp(result, TEST_STUN_SERVER_URL)) - return -1; - webrtc_destroy(webrtc); + dlog_print(DLOG_DEBUG, "NativeTCT", "[%s(%d)] %s %s", __FUNCTION__, __LINE__, result, TEST_STUN_SERVER_URL); + + ret = strcmp(result, TEST_STUN_SERVER_URL); free(result); + assert_eq(ret, 0); return 0; } @@ -3377,7 +3380,7 @@ int utc_media_webrtc_create_data_channel_p(void) ret = webrtc_create(&webrtc); assert_eq(ret, WEBRTC_ERROR_NONE); - ret = webrtc_create_data_channel(webrtc, "test channel", NULL, &channel); + ret = webrtc_create_data_channel(webrtc, TEST_DATA_CHANNEL_LABEL, NULL, &channel); assert_eq(ret, WEBRTC_ERROR_NONE); webrtc_destroy_data_channel(channel); @@ -3427,7 +3430,7 @@ int utc_media_webrtc_destroy_data_channel_p(void) ret = webrtc_create(&webrtc); assert_eq(ret, WEBRTC_ERROR_NONE); - ret = webrtc_create_data_channel(webrtc, "test channel", NULL, &channel); + ret = webrtc_create_data_channel(webrtc, TEST_DATA_CHANNEL_LABEL, NULL, &channel); assert_eq(ret, WEBRTC_ERROR_NONE); webrtc_destroy_data_channel(channel); @@ -3452,6 +3455,144 @@ int utc_media_webrtc_destroy_data_channel_n(void) return 0; } +/** + * @testcase utc_media_webrtc_data_channel_get_label_p + * @since_tizen 6.5 + * @description Gets the data channel label\n + * - Create a webrtc handle\n + * - Create a data channel\n + * - Get the data channel label + */ +int utc_media_webrtc_data_channel_get_label_p(void) +{ + int ret; + webrtc_h webrtc; + webrtc_data_channel_h channel; + char *label; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_create_data_channel(webrtc, TEST_DATA_CHANNEL_LABEL, NULL, &channel); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_data_channel_get_label(channel, &label); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy(webrtc); + + ret = strcmp(label, TEST_DATA_CHANNEL_LABEL); + free(label); + assert_eq(ret, 0); + + return 0; +} + +/** + * @testcase utc_media_webrtc_data_channel_get_label_n + * @since_tizen 6.5 + * @description Gets the data channel label\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_data_channel_get_label_n(void) +{ + int ret = webrtc_data_channel_get_label(NULL, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + return 0; +} + +/** + * @testcase utc_media_webrtc_data_channel_send_string_p + * @since_tizen 6.5 + * @description Sends string data to the data channel\n + * - Create a webrtc handle\n + * - Create a data channel\n + * - Send a string data + */ +int utc_media_webrtc_data_channel_send_string_p(void) +{ + int ret; + webrtc_h webrtc; + webrtc_data_channel_h channel; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_create_data_channel(webrtc, TEST_DATA_CHANNEL_LABEL, NULL, &channel); + assert_eq(ret, WEBRTC_ERROR_NONE); + + /* FIXME: It's not ready to send data before negotiation success with remote peer. + * For now, we don't handle a remote peer, therefore here just check the invalid + * state return value temporarily. */ + ret = webrtc_data_channel_send_string(channel, TEST_STRING_DATA); + assert_eq(ret, WEBRTC_ERROR_INVALID_STATE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_data_channel_send_string_n + * @since_tizen 6.5 + * @description Sends string data to the data channel\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_data_channel_send_string_n(void) +{ + int ret = webrtc_data_channel_send_string(NULL, TEST_STRING_DATA); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + return 0; +} + +/** + * @testcase utc_media_webrtc_data_channel_send_bytes_p + * @since_tizen 6.5 + * @description Sends bytes data to the data channel\n + * - Create a webrtc handle\n + * - Create a data channel\n + * - Send bytes data + */ +int utc_media_webrtc_data_channel_send_bytes_p(void) +{ + int ret; + webrtc_h webrtc; + webrtc_data_channel_h channel; + char buffer[TEST_BUFFER_SIZE] = {0, }; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_create_data_channel(webrtc, TEST_DATA_CHANNEL_LABEL, NULL, &channel); + assert_eq(ret, WEBRTC_ERROR_NONE); + + /* FIXME: It's not ready to send data before negotiation success with remote peer. + * For now, we don't handle a remote peer, therefore here just check the invalid + * state return value temporarily. */ + ret = webrtc_data_channel_send_bytes(channel, buffer, TEST_BUFFER_SIZE); + assert_eq(ret, WEBRTC_ERROR_INVALID_STATE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_data_channel_send_bytes_n + * @since_tizen 6.5 + * @description Sends bytes data to the data channel\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_data_channel_send_bytes_n(void) +{ + int ret = webrtc_data_channel_send_bytes(NULL, NULL, 0); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + return 0; +} + /** * @testcase utc_media_webrtc_get_data_p * @since_tizen 6.5