From: Sangchul Lee Date: Mon, 23 Aug 2021 12:19:24 +0000 (+0900) Subject: [UTC][capi-media-webrtc][ACR-1637] Add new API set for native WebRTC #2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c50f49f387464f59b50aab4a7690650ebe929b46;p=test%2Ftct%2Fnative%2Fapi.git [UTC][capi-media-webrtc][ACR-1637] Add new API set for native WebRTC #2 Change-Id: I29655030ed4ba494bd5e81387a2f6f55f65a128e Signed-off-by: Sangchul Lee --- diff --git a/src/utc/webrtc/public.list b/src/utc/webrtc/public.list index 90736ddd6..28ef678bb 100644 --- a/src/utc/webrtc/public.list +++ b/src/utc/webrtc/public.list @@ -5,6 +5,15 @@ webrtc_stop webrtc_get_state webrtc_add_media_source webrtc_remove_media_source +webrtc_set_stun_server +webrtc_get_stun_server +webrtc_add_turn_server +webrtc_foreach_turn_server +webrtc_create_offer +webrtc_create_answer +webrtc_set_local_description +webrtc_set_remote_description +webrtc_add_ice_candidate webrtc_get_peer_connection_state webrtc_get_signaling_state webrtc_get_ice_gathering_state @@ -24,4 +33,8 @@ webrtc_unset_signaling_state_change_cb 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 \ No newline at end of file +webrtc_unset_ice_connection_state_change_cb +webrtc_set_encoded_audio_frame_cb +webrtc_unset_encoded_audio_frame_cb +webrtc_set_encoded_video_frame_cb +webrtc_unset_encoded_video_frame_cb \ No newline at end of file diff --git a/src/utc/webrtc/tct-webrtc-core_mobile.h b/src/utc/webrtc/tct-webrtc-core_mobile.h index 7353e7a9c..ffb964e02 100644 --- a/src/utc/webrtc/tct-webrtc-core_mobile.h +++ b/src/utc/webrtc/tct-webrtc-core_mobile.h @@ -40,6 +40,30 @@ extern int utc_media_webrtc_add_media_source_n2(void); extern int utc_media_webrtc_remove_media_source_p(void); extern int utc_media_webrtc_remove_media_source_n1(void); extern int utc_media_webrtc_remove_media_source_n2(void); +extern int utc_media_webrtc_set_stun_server_p(void); +extern int utc_media_webrtc_set_stun_server_n1(void); +extern int utc_media_webrtc_set_stun_server_n2(void); +extern int utc_media_webrtc_get_stun_server_p(void); +extern int utc_media_webrtc_get_stun_server_n(void); +extern int utc_media_webrtc_add_turn_server_p(void); +extern int utc_media_webrtc_add_turn_server_n1(void); +extern int utc_media_webrtc_add_turn_server_n2(void); +extern int utc_media_webrtc_create_offer_p(void); +extern int utc_media_webrtc_create_offer_n1(void); +extern int utc_media_webrtc_create_offer_n2(void); +extern int utc_media_webrtc_create_answer_p(void); +extern int utc_media_webrtc_create_answer_n1(void); +extern int utc_media_webrtc_create_answer_n2(void); +extern int utc_media_webrtc_create_answer_n3(void); +extern int utc_media_webrtc_set_local_description_p(void); +extern int utc_media_webrtc_set_local_description_n(void); +extern int utc_media_webrtc_set_remote_description_p(void); +extern int utc_media_webrtc_set_remote_description_n(void); +extern int utc_media_webrtc_add_ice_candidate_p(void); +extern int utc_media_webrtc_add_ice_candidate_n1(void); +extern int utc_media_webrtc_add_ice_candidate_n2(void); +extern int utc_media_webrtc_foreach_turn_server_p(void); +extern int utc_media_webrtc_foreach_turn_server_n(void); extern int utc_media_webrtc_get_peer_connection_state_p(void); extern int utc_media_webrtc_get_peer_connection_state_n(void); extern int utc_media_webrtc_get_signaling_state_p(void); @@ -80,6 +104,14 @@ 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_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); +extern int utc_media_webrtc_unset_encoded_audio_frame_cb_n(void); +extern int utc_media_webrtc_set_encoded_video_frame_cb_p(void); +extern int utc_media_webrtc_set_encoded_video_frame_cb_n(void); +extern int utc_media_webrtc_unset_encoded_video_frame_cb_p(void); +extern int utc_media_webrtc_unset_encoded_video_frame_cb_n(void); testcase tc_array[] = { {"utc_media_webrtc_create_p",utc_media_webrtc_create_p,NULL,NULL}, @@ -101,6 +133,30 @@ testcase tc_array[] = { {"utc_media_webrtc_remove_media_source_p",utc_media_webrtc_remove_media_source_p,NULL,NULL}, {"utc_media_webrtc_remove_media_source_n1",utc_media_webrtc_remove_media_source_n1,NULL,NULL}, {"utc_media_webrtc_remove_media_source_n2",utc_media_webrtc_remove_media_source_n2,NULL,NULL}, + {"utc_media_webrtc_set_stun_server_p",utc_media_webrtc_set_stun_server_p,NULL,NULL}, + {"utc_media_webrtc_set_stun_server_n1",utc_media_webrtc_set_stun_server_n1,NULL,NULL}, + {"utc_media_webrtc_set_stun_server_n2",utc_media_webrtc_set_stun_server_n2,NULL,NULL}, + {"utc_media_webrtc_get_stun_server_p",utc_media_webrtc_get_stun_server_p,NULL,NULL}, + {"utc_media_webrtc_get_stun_server_n",utc_media_webrtc_get_stun_server_n,NULL,NULL}, + {"utc_media_webrtc_add_turn_server_p",utc_media_webrtc_add_turn_server_p,NULL,NULL}, + {"utc_media_webrtc_add_turn_server_n1",utc_media_webrtc_add_turn_server_n1,NULL,NULL}, + {"utc_media_webrtc_add_turn_server_n2",utc_media_webrtc_add_turn_server_n2,NULL,NULL}, + {"utc_media_webrtc_foreach_turn_server_p",utc_media_webrtc_foreach_turn_server_p,NULL,NULL}, + {"utc_media_webrtc_foreach_turn_server_n",utc_media_webrtc_foreach_turn_server_n,NULL,NULL}, + {"utc_media_webrtc_create_offer_p",utc_media_webrtc_create_offer_p,NULL,NULL}, + {"utc_media_webrtc_create_offer_n1",utc_media_webrtc_create_offer_n1,NULL,NULL}, + {"utc_media_webrtc_create_offer_n2",utc_media_webrtc_create_offer_n2,NULL,NULL}, + {"utc_media_webrtc_create_answer_p",utc_media_webrtc_create_answer_p,NULL,NULL}, + {"utc_media_webrtc_create_answer_n1",utc_media_webrtc_create_answer_n1,NULL,NULL}, + {"utc_media_webrtc_create_answer_n2",utc_media_webrtc_create_answer_n2,NULL,NULL}, + {"utc_media_webrtc_create_answer_n3",utc_media_webrtc_create_answer_n3,NULL,NULL}, + {"utc_media_webrtc_set_local_description_p",utc_media_webrtc_set_local_description_p,NULL,NULL}, + {"utc_media_webrtc_set_local_description_n",utc_media_webrtc_set_local_description_n,NULL,NULL}, + {"utc_media_webrtc_set_remote_description_p",utc_media_webrtc_set_remote_description_p,NULL,NULL}, + {"utc_media_webrtc_set_remote_description_n",utc_media_webrtc_set_remote_description_n,NULL,NULL}, + {"utc_media_webrtc_add_ice_candidate_p",utc_media_webrtc_add_ice_candidate_p,NULL,NULL}, + {"utc_media_webrtc_add_ice_candidate_n1",utc_media_webrtc_add_ice_candidate_n1,NULL,NULL}, + {"utc_media_webrtc_add_ice_candidate_n2",utc_media_webrtc_add_ice_candidate_n2,NULL,NULL}, {"utc_media_webrtc_get_peer_connection_state_p",utc_media_webrtc_get_peer_connection_state_p,NULL,NULL}, {"utc_media_webrtc_get_peer_connection_state_n",utc_media_webrtc_get_peer_connection_state_n,NULL,NULL}, {"utc_media_webrtc_get_signaling_state_p",utc_media_webrtc_get_signaling_state_p,NULL,NULL}, @@ -141,6 +197,14 @@ 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_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}, + {"utc_media_webrtc_unset_encoded_audio_frame_cb_n",utc_media_webrtc_unset_encoded_audio_frame_cb_n,NULL,NULL}, + {"utc_media_webrtc_set_encoded_video_frame_cb_p",utc_media_webrtc_set_encoded_video_frame_cb_p,NULL,NULL}, + {"utc_media_webrtc_set_encoded_video_frame_cb_n",utc_media_webrtc_set_encoded_video_frame_cb_n,NULL,NULL}, + {"utc_media_webrtc_unset_encoded_video_frame_cb_p",utc_media_webrtc_unset_encoded_video_frame_cb_p,NULL,NULL}, + {"utc_media_webrtc_unset_encoded_video_frame_cb_n",utc_media_webrtc_unset_encoded_video_frame_cb_n,NULL,NULL}, {NULL, NULL} }; diff --git a/src/utc/webrtc/tct-webrtc-core_tizeniot.h b/src/utc/webrtc/tct-webrtc-core_tizeniot.h index 7353e7a9c..ffb964e02 100644 --- a/src/utc/webrtc/tct-webrtc-core_tizeniot.h +++ b/src/utc/webrtc/tct-webrtc-core_tizeniot.h @@ -40,6 +40,30 @@ extern int utc_media_webrtc_add_media_source_n2(void); extern int utc_media_webrtc_remove_media_source_p(void); extern int utc_media_webrtc_remove_media_source_n1(void); extern int utc_media_webrtc_remove_media_source_n2(void); +extern int utc_media_webrtc_set_stun_server_p(void); +extern int utc_media_webrtc_set_stun_server_n1(void); +extern int utc_media_webrtc_set_stun_server_n2(void); +extern int utc_media_webrtc_get_stun_server_p(void); +extern int utc_media_webrtc_get_stun_server_n(void); +extern int utc_media_webrtc_add_turn_server_p(void); +extern int utc_media_webrtc_add_turn_server_n1(void); +extern int utc_media_webrtc_add_turn_server_n2(void); +extern int utc_media_webrtc_create_offer_p(void); +extern int utc_media_webrtc_create_offer_n1(void); +extern int utc_media_webrtc_create_offer_n2(void); +extern int utc_media_webrtc_create_answer_p(void); +extern int utc_media_webrtc_create_answer_n1(void); +extern int utc_media_webrtc_create_answer_n2(void); +extern int utc_media_webrtc_create_answer_n3(void); +extern int utc_media_webrtc_set_local_description_p(void); +extern int utc_media_webrtc_set_local_description_n(void); +extern int utc_media_webrtc_set_remote_description_p(void); +extern int utc_media_webrtc_set_remote_description_n(void); +extern int utc_media_webrtc_add_ice_candidate_p(void); +extern int utc_media_webrtc_add_ice_candidate_n1(void); +extern int utc_media_webrtc_add_ice_candidate_n2(void); +extern int utc_media_webrtc_foreach_turn_server_p(void); +extern int utc_media_webrtc_foreach_turn_server_n(void); extern int utc_media_webrtc_get_peer_connection_state_p(void); extern int utc_media_webrtc_get_peer_connection_state_n(void); extern int utc_media_webrtc_get_signaling_state_p(void); @@ -80,6 +104,14 @@ 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_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); +extern int utc_media_webrtc_unset_encoded_audio_frame_cb_n(void); +extern int utc_media_webrtc_set_encoded_video_frame_cb_p(void); +extern int utc_media_webrtc_set_encoded_video_frame_cb_n(void); +extern int utc_media_webrtc_unset_encoded_video_frame_cb_p(void); +extern int utc_media_webrtc_unset_encoded_video_frame_cb_n(void); testcase tc_array[] = { {"utc_media_webrtc_create_p",utc_media_webrtc_create_p,NULL,NULL}, @@ -101,6 +133,30 @@ testcase tc_array[] = { {"utc_media_webrtc_remove_media_source_p",utc_media_webrtc_remove_media_source_p,NULL,NULL}, {"utc_media_webrtc_remove_media_source_n1",utc_media_webrtc_remove_media_source_n1,NULL,NULL}, {"utc_media_webrtc_remove_media_source_n2",utc_media_webrtc_remove_media_source_n2,NULL,NULL}, + {"utc_media_webrtc_set_stun_server_p",utc_media_webrtc_set_stun_server_p,NULL,NULL}, + {"utc_media_webrtc_set_stun_server_n1",utc_media_webrtc_set_stun_server_n1,NULL,NULL}, + {"utc_media_webrtc_set_stun_server_n2",utc_media_webrtc_set_stun_server_n2,NULL,NULL}, + {"utc_media_webrtc_get_stun_server_p",utc_media_webrtc_get_stun_server_p,NULL,NULL}, + {"utc_media_webrtc_get_stun_server_n",utc_media_webrtc_get_stun_server_n,NULL,NULL}, + {"utc_media_webrtc_add_turn_server_p",utc_media_webrtc_add_turn_server_p,NULL,NULL}, + {"utc_media_webrtc_add_turn_server_n1",utc_media_webrtc_add_turn_server_n1,NULL,NULL}, + {"utc_media_webrtc_add_turn_server_n2",utc_media_webrtc_add_turn_server_n2,NULL,NULL}, + {"utc_media_webrtc_foreach_turn_server_p",utc_media_webrtc_foreach_turn_server_p,NULL,NULL}, + {"utc_media_webrtc_foreach_turn_server_n",utc_media_webrtc_foreach_turn_server_n,NULL,NULL}, + {"utc_media_webrtc_create_offer_p",utc_media_webrtc_create_offer_p,NULL,NULL}, + {"utc_media_webrtc_create_offer_n1",utc_media_webrtc_create_offer_n1,NULL,NULL}, + {"utc_media_webrtc_create_offer_n2",utc_media_webrtc_create_offer_n2,NULL,NULL}, + {"utc_media_webrtc_create_answer_p",utc_media_webrtc_create_answer_p,NULL,NULL}, + {"utc_media_webrtc_create_answer_n1",utc_media_webrtc_create_answer_n1,NULL,NULL}, + {"utc_media_webrtc_create_answer_n2",utc_media_webrtc_create_answer_n2,NULL,NULL}, + {"utc_media_webrtc_create_answer_n3",utc_media_webrtc_create_answer_n3,NULL,NULL}, + {"utc_media_webrtc_set_local_description_p",utc_media_webrtc_set_local_description_p,NULL,NULL}, + {"utc_media_webrtc_set_local_description_n",utc_media_webrtc_set_local_description_n,NULL,NULL}, + {"utc_media_webrtc_set_remote_description_p",utc_media_webrtc_set_remote_description_p,NULL,NULL}, + {"utc_media_webrtc_set_remote_description_n",utc_media_webrtc_set_remote_description_n,NULL,NULL}, + {"utc_media_webrtc_add_ice_candidate_p",utc_media_webrtc_add_ice_candidate_p,NULL,NULL}, + {"utc_media_webrtc_add_ice_candidate_n1",utc_media_webrtc_add_ice_candidate_n1,NULL,NULL}, + {"utc_media_webrtc_add_ice_candidate_n2",utc_media_webrtc_add_ice_candidate_n2,NULL,NULL}, {"utc_media_webrtc_get_peer_connection_state_p",utc_media_webrtc_get_peer_connection_state_p,NULL,NULL}, {"utc_media_webrtc_get_peer_connection_state_n",utc_media_webrtc_get_peer_connection_state_n,NULL,NULL}, {"utc_media_webrtc_get_signaling_state_p",utc_media_webrtc_get_signaling_state_p,NULL,NULL}, @@ -141,6 +197,14 @@ 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_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}, + {"utc_media_webrtc_unset_encoded_audio_frame_cb_n",utc_media_webrtc_unset_encoded_audio_frame_cb_n,NULL,NULL}, + {"utc_media_webrtc_set_encoded_video_frame_cb_p",utc_media_webrtc_set_encoded_video_frame_cb_p,NULL,NULL}, + {"utc_media_webrtc_set_encoded_video_frame_cb_n",utc_media_webrtc_set_encoded_video_frame_cb_n,NULL,NULL}, + {"utc_media_webrtc_unset_encoded_video_frame_cb_p",utc_media_webrtc_unset_encoded_video_frame_cb_p,NULL,NULL}, + {"utc_media_webrtc_unset_encoded_video_frame_cb_n",utc_media_webrtc_unset_encoded_video_frame_cb_n,NULL,NULL}, {NULL, NULL} }; diff --git a/src/utc/webrtc/tct-webrtc-core_tv.h b/src/utc/webrtc/tct-webrtc-core_tv.h index 7353e7a9c..ffb964e02 100644 --- a/src/utc/webrtc/tct-webrtc-core_tv.h +++ b/src/utc/webrtc/tct-webrtc-core_tv.h @@ -40,6 +40,30 @@ extern int utc_media_webrtc_add_media_source_n2(void); extern int utc_media_webrtc_remove_media_source_p(void); extern int utc_media_webrtc_remove_media_source_n1(void); extern int utc_media_webrtc_remove_media_source_n2(void); +extern int utc_media_webrtc_set_stun_server_p(void); +extern int utc_media_webrtc_set_stun_server_n1(void); +extern int utc_media_webrtc_set_stun_server_n2(void); +extern int utc_media_webrtc_get_stun_server_p(void); +extern int utc_media_webrtc_get_stun_server_n(void); +extern int utc_media_webrtc_add_turn_server_p(void); +extern int utc_media_webrtc_add_turn_server_n1(void); +extern int utc_media_webrtc_add_turn_server_n2(void); +extern int utc_media_webrtc_create_offer_p(void); +extern int utc_media_webrtc_create_offer_n1(void); +extern int utc_media_webrtc_create_offer_n2(void); +extern int utc_media_webrtc_create_answer_p(void); +extern int utc_media_webrtc_create_answer_n1(void); +extern int utc_media_webrtc_create_answer_n2(void); +extern int utc_media_webrtc_create_answer_n3(void); +extern int utc_media_webrtc_set_local_description_p(void); +extern int utc_media_webrtc_set_local_description_n(void); +extern int utc_media_webrtc_set_remote_description_p(void); +extern int utc_media_webrtc_set_remote_description_n(void); +extern int utc_media_webrtc_add_ice_candidate_p(void); +extern int utc_media_webrtc_add_ice_candidate_n1(void); +extern int utc_media_webrtc_add_ice_candidate_n2(void); +extern int utc_media_webrtc_foreach_turn_server_p(void); +extern int utc_media_webrtc_foreach_turn_server_n(void); extern int utc_media_webrtc_get_peer_connection_state_p(void); extern int utc_media_webrtc_get_peer_connection_state_n(void); extern int utc_media_webrtc_get_signaling_state_p(void); @@ -80,6 +104,14 @@ 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_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); +extern int utc_media_webrtc_unset_encoded_audio_frame_cb_n(void); +extern int utc_media_webrtc_set_encoded_video_frame_cb_p(void); +extern int utc_media_webrtc_set_encoded_video_frame_cb_n(void); +extern int utc_media_webrtc_unset_encoded_video_frame_cb_p(void); +extern int utc_media_webrtc_unset_encoded_video_frame_cb_n(void); testcase tc_array[] = { {"utc_media_webrtc_create_p",utc_media_webrtc_create_p,NULL,NULL}, @@ -101,6 +133,30 @@ testcase tc_array[] = { {"utc_media_webrtc_remove_media_source_p",utc_media_webrtc_remove_media_source_p,NULL,NULL}, {"utc_media_webrtc_remove_media_source_n1",utc_media_webrtc_remove_media_source_n1,NULL,NULL}, {"utc_media_webrtc_remove_media_source_n2",utc_media_webrtc_remove_media_source_n2,NULL,NULL}, + {"utc_media_webrtc_set_stun_server_p",utc_media_webrtc_set_stun_server_p,NULL,NULL}, + {"utc_media_webrtc_set_stun_server_n1",utc_media_webrtc_set_stun_server_n1,NULL,NULL}, + {"utc_media_webrtc_set_stun_server_n2",utc_media_webrtc_set_stun_server_n2,NULL,NULL}, + {"utc_media_webrtc_get_stun_server_p",utc_media_webrtc_get_stun_server_p,NULL,NULL}, + {"utc_media_webrtc_get_stun_server_n",utc_media_webrtc_get_stun_server_n,NULL,NULL}, + {"utc_media_webrtc_add_turn_server_p",utc_media_webrtc_add_turn_server_p,NULL,NULL}, + {"utc_media_webrtc_add_turn_server_n1",utc_media_webrtc_add_turn_server_n1,NULL,NULL}, + {"utc_media_webrtc_add_turn_server_n2",utc_media_webrtc_add_turn_server_n2,NULL,NULL}, + {"utc_media_webrtc_foreach_turn_server_p",utc_media_webrtc_foreach_turn_server_p,NULL,NULL}, + {"utc_media_webrtc_foreach_turn_server_n",utc_media_webrtc_foreach_turn_server_n,NULL,NULL}, + {"utc_media_webrtc_create_offer_p",utc_media_webrtc_create_offer_p,NULL,NULL}, + {"utc_media_webrtc_create_offer_n1",utc_media_webrtc_create_offer_n1,NULL,NULL}, + {"utc_media_webrtc_create_offer_n2",utc_media_webrtc_create_offer_n2,NULL,NULL}, + {"utc_media_webrtc_create_answer_p",utc_media_webrtc_create_answer_p,NULL,NULL}, + {"utc_media_webrtc_create_answer_n1",utc_media_webrtc_create_answer_n1,NULL,NULL}, + {"utc_media_webrtc_create_answer_n2",utc_media_webrtc_create_answer_n2,NULL,NULL}, + {"utc_media_webrtc_create_answer_n3",utc_media_webrtc_create_answer_n3,NULL,NULL}, + {"utc_media_webrtc_set_local_description_p",utc_media_webrtc_set_local_description_p,NULL,NULL}, + {"utc_media_webrtc_set_local_description_n",utc_media_webrtc_set_local_description_n,NULL,NULL}, + {"utc_media_webrtc_set_remote_description_p",utc_media_webrtc_set_remote_description_p,NULL,NULL}, + {"utc_media_webrtc_set_remote_description_n",utc_media_webrtc_set_remote_description_n,NULL,NULL}, + {"utc_media_webrtc_add_ice_candidate_p",utc_media_webrtc_add_ice_candidate_p,NULL,NULL}, + {"utc_media_webrtc_add_ice_candidate_n1",utc_media_webrtc_add_ice_candidate_n1,NULL,NULL}, + {"utc_media_webrtc_add_ice_candidate_n2",utc_media_webrtc_add_ice_candidate_n2,NULL,NULL}, {"utc_media_webrtc_get_peer_connection_state_p",utc_media_webrtc_get_peer_connection_state_p,NULL,NULL}, {"utc_media_webrtc_get_peer_connection_state_n",utc_media_webrtc_get_peer_connection_state_n,NULL,NULL}, {"utc_media_webrtc_get_signaling_state_p",utc_media_webrtc_get_signaling_state_p,NULL,NULL}, @@ -141,6 +197,14 @@ 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_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}, + {"utc_media_webrtc_unset_encoded_audio_frame_cb_n",utc_media_webrtc_unset_encoded_audio_frame_cb_n,NULL,NULL}, + {"utc_media_webrtc_set_encoded_video_frame_cb_p",utc_media_webrtc_set_encoded_video_frame_cb_p,NULL,NULL}, + {"utc_media_webrtc_set_encoded_video_frame_cb_n",utc_media_webrtc_set_encoded_video_frame_cb_n,NULL,NULL}, + {"utc_media_webrtc_unset_encoded_video_frame_cb_p",utc_media_webrtc_unset_encoded_video_frame_cb_p,NULL,NULL}, + {"utc_media_webrtc_unset_encoded_video_frame_cb_n",utc_media_webrtc_unset_encoded_video_frame_cb_n,NULL,NULL}, {NULL, NULL} }; diff --git a/src/utc/webrtc/tct-webrtc-core_wearable.h b/src/utc/webrtc/tct-webrtc-core_wearable.h index 7353e7a9c..ffb964e02 100644 --- a/src/utc/webrtc/tct-webrtc-core_wearable.h +++ b/src/utc/webrtc/tct-webrtc-core_wearable.h @@ -40,6 +40,30 @@ extern int utc_media_webrtc_add_media_source_n2(void); extern int utc_media_webrtc_remove_media_source_p(void); extern int utc_media_webrtc_remove_media_source_n1(void); extern int utc_media_webrtc_remove_media_source_n2(void); +extern int utc_media_webrtc_set_stun_server_p(void); +extern int utc_media_webrtc_set_stun_server_n1(void); +extern int utc_media_webrtc_set_stun_server_n2(void); +extern int utc_media_webrtc_get_stun_server_p(void); +extern int utc_media_webrtc_get_stun_server_n(void); +extern int utc_media_webrtc_add_turn_server_p(void); +extern int utc_media_webrtc_add_turn_server_n1(void); +extern int utc_media_webrtc_add_turn_server_n2(void); +extern int utc_media_webrtc_create_offer_p(void); +extern int utc_media_webrtc_create_offer_n1(void); +extern int utc_media_webrtc_create_offer_n2(void); +extern int utc_media_webrtc_create_answer_p(void); +extern int utc_media_webrtc_create_answer_n1(void); +extern int utc_media_webrtc_create_answer_n2(void); +extern int utc_media_webrtc_create_answer_n3(void); +extern int utc_media_webrtc_set_local_description_p(void); +extern int utc_media_webrtc_set_local_description_n(void); +extern int utc_media_webrtc_set_remote_description_p(void); +extern int utc_media_webrtc_set_remote_description_n(void); +extern int utc_media_webrtc_add_ice_candidate_p(void); +extern int utc_media_webrtc_add_ice_candidate_n1(void); +extern int utc_media_webrtc_add_ice_candidate_n2(void); +extern int utc_media_webrtc_foreach_turn_server_p(void); +extern int utc_media_webrtc_foreach_turn_server_n(void); extern int utc_media_webrtc_get_peer_connection_state_p(void); extern int utc_media_webrtc_get_peer_connection_state_n(void); extern int utc_media_webrtc_get_signaling_state_p(void); @@ -80,6 +104,14 @@ 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_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); +extern int utc_media_webrtc_unset_encoded_audio_frame_cb_n(void); +extern int utc_media_webrtc_set_encoded_video_frame_cb_p(void); +extern int utc_media_webrtc_set_encoded_video_frame_cb_n(void); +extern int utc_media_webrtc_unset_encoded_video_frame_cb_p(void); +extern int utc_media_webrtc_unset_encoded_video_frame_cb_n(void); testcase tc_array[] = { {"utc_media_webrtc_create_p",utc_media_webrtc_create_p,NULL,NULL}, @@ -101,6 +133,30 @@ testcase tc_array[] = { {"utc_media_webrtc_remove_media_source_p",utc_media_webrtc_remove_media_source_p,NULL,NULL}, {"utc_media_webrtc_remove_media_source_n1",utc_media_webrtc_remove_media_source_n1,NULL,NULL}, {"utc_media_webrtc_remove_media_source_n2",utc_media_webrtc_remove_media_source_n2,NULL,NULL}, + {"utc_media_webrtc_set_stun_server_p",utc_media_webrtc_set_stun_server_p,NULL,NULL}, + {"utc_media_webrtc_set_stun_server_n1",utc_media_webrtc_set_stun_server_n1,NULL,NULL}, + {"utc_media_webrtc_set_stun_server_n2",utc_media_webrtc_set_stun_server_n2,NULL,NULL}, + {"utc_media_webrtc_get_stun_server_p",utc_media_webrtc_get_stun_server_p,NULL,NULL}, + {"utc_media_webrtc_get_stun_server_n",utc_media_webrtc_get_stun_server_n,NULL,NULL}, + {"utc_media_webrtc_add_turn_server_p",utc_media_webrtc_add_turn_server_p,NULL,NULL}, + {"utc_media_webrtc_add_turn_server_n1",utc_media_webrtc_add_turn_server_n1,NULL,NULL}, + {"utc_media_webrtc_add_turn_server_n2",utc_media_webrtc_add_turn_server_n2,NULL,NULL}, + {"utc_media_webrtc_foreach_turn_server_p",utc_media_webrtc_foreach_turn_server_p,NULL,NULL}, + {"utc_media_webrtc_foreach_turn_server_n",utc_media_webrtc_foreach_turn_server_n,NULL,NULL}, + {"utc_media_webrtc_create_offer_p",utc_media_webrtc_create_offer_p,NULL,NULL}, + {"utc_media_webrtc_create_offer_n1",utc_media_webrtc_create_offer_n1,NULL,NULL}, + {"utc_media_webrtc_create_offer_n2",utc_media_webrtc_create_offer_n2,NULL,NULL}, + {"utc_media_webrtc_create_answer_p",utc_media_webrtc_create_answer_p,NULL,NULL}, + {"utc_media_webrtc_create_answer_n1",utc_media_webrtc_create_answer_n1,NULL,NULL}, + {"utc_media_webrtc_create_answer_n2",utc_media_webrtc_create_answer_n2,NULL,NULL}, + {"utc_media_webrtc_create_answer_n3",utc_media_webrtc_create_answer_n3,NULL,NULL}, + {"utc_media_webrtc_set_local_description_p",utc_media_webrtc_set_local_description_p,NULL,NULL}, + {"utc_media_webrtc_set_local_description_n",utc_media_webrtc_set_local_description_n,NULL,NULL}, + {"utc_media_webrtc_set_remote_description_p",utc_media_webrtc_set_remote_description_p,NULL,NULL}, + {"utc_media_webrtc_set_remote_description_n",utc_media_webrtc_set_remote_description_n,NULL,NULL}, + {"utc_media_webrtc_add_ice_candidate_p",utc_media_webrtc_add_ice_candidate_p,NULL,NULL}, + {"utc_media_webrtc_add_ice_candidate_n1",utc_media_webrtc_add_ice_candidate_n1,NULL,NULL}, + {"utc_media_webrtc_add_ice_candidate_n2",utc_media_webrtc_add_ice_candidate_n2,NULL,NULL}, {"utc_media_webrtc_get_peer_connection_state_p",utc_media_webrtc_get_peer_connection_state_p,NULL,NULL}, {"utc_media_webrtc_get_peer_connection_state_n",utc_media_webrtc_get_peer_connection_state_n,NULL,NULL}, {"utc_media_webrtc_get_signaling_state_p",utc_media_webrtc_get_signaling_state_p,NULL,NULL}, @@ -141,6 +197,14 @@ 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_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}, + {"utc_media_webrtc_unset_encoded_audio_frame_cb_n",utc_media_webrtc_unset_encoded_audio_frame_cb_n,NULL,NULL}, + {"utc_media_webrtc_set_encoded_video_frame_cb_p",utc_media_webrtc_set_encoded_video_frame_cb_p,NULL,NULL}, + {"utc_media_webrtc_set_encoded_video_frame_cb_n",utc_media_webrtc_set_encoded_video_frame_cb_n,NULL,NULL}, + {"utc_media_webrtc_unset_encoded_video_frame_cb_p",utc_media_webrtc_unset_encoded_video_frame_cb_p,NULL,NULL}, + {"utc_media_webrtc_unset_encoded_video_frame_cb_n",utc_media_webrtc_unset_encoded_video_frame_cb_n,NULL,NULL}, {NULL, NULL} }; diff --git a/src/utc/webrtc/utc-media-webrtc-callback.c b/src/utc/webrtc/utc-media-webrtc-callback.c index 26e2d0cab..1de12a5bf 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_encoded_frame_cb(webrtc_h webrtc, webrtc_media_type_e type, unsigned int track_id, media_packet_h packet, void *user_data) +{ +} + /** * @testcase utc_media_webrtc_set_state_changed_cb_p * @since_tizen 6.5 @@ -708,3 +712,181 @@ int utc_media_webrtc_unset_ice_connection_state_change_cb_n(void) return 0; } + +/** + * @testcase utc_media_webrtc_set_encoded_audio_frame_cb_p + * @since_tizen 6.5 + * @description Sets an encoded audio frame callback + */ +int utc_media_webrtc_set_encoded_audio_frame_cb_p(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_encoded_audio_frame_cb(webrtc, __webrtc_encoded_frame_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_set_encoded_audio_frame_cb_n + * @since_tizen 6.5 + * @description Sets an encoded audio frame callback + * - Sets the callback without callback function pointer to get negative result + */ +int utc_media_webrtc_set_encoded_audio_frame_cb_n(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_encoded_audio_frame_cb(webrtc, NULL, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_unset_encoded_audio_frame_cb_p + * @since_tizen 6.5 + * @description Unsets the encoded audio frame callback + */ +int utc_media_webrtc_unset_encoded_audio_frame_cb_p(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_encoded_audio_frame_cb(webrtc, __webrtc_encoded_frame_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_unset_encoded_audio_frame_cb(webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_unset_encoded_audio_frame_cb_n + * @since_tizen 6.5 + * @description Unsets the encoded audio frame callback + * - Unsets the callback without setting it to get negative result + */ +int utc_media_webrtc_unset_encoded_audio_frame_cb_n(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_unset_encoded_audio_frame_cb(webrtc); + assert_eq(ret, WEBRTC_ERROR_INVALID_OPERATION); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_set_encoded_video_frame_cb_p + * @since_tizen 6.5 + * @description Sets an encoded video frame callback + */ +int utc_media_webrtc_set_encoded_video_frame_cb_p(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_encoded_video_frame_cb(webrtc, __webrtc_encoded_frame_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_set_encoded_video_frame_cb_n + * @since_tizen 6.5 + * @description Sets an encoded video frame callback + * - Sets the callback without callback function pointer to get negative result + */ +int utc_media_webrtc_set_encoded_video_frame_cb_n(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_encoded_video_frame_cb(webrtc, NULL, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_unset_encoded_video_frame_cb_p + * @since_tizen 6.5 + * @description Unsets the encoded video frame callback + */ +int utc_media_webrtc_unset_encoded_video_frame_cb_p(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_encoded_video_frame_cb(webrtc, __webrtc_encoded_frame_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_unset_encoded_video_frame_cb(webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_unset_encoded_video_frame_cb_n + * @since_tizen 6.5 + * @description Unsets the encoded video frame callback + * - Unsets the callback without setting it to get negative result + */ +int utc_media_webrtc_unset_encoded_video_frame_cb_n(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_unset_encoded_video_frame_cb(webrtc); + assert_eq(ret, WEBRTC_ERROR_INVALID_OPERATION); + + webrtc_destroy(webrtc); + + return 0; +} diff --git a/src/utc/webrtc/utc-media-webrtc.c b/src/utc/webrtc/utc-media-webrtc.c index 3f24d3e2b..ea623fd94 100644 --- a/src/utc/webrtc/utc-media-webrtc.c +++ b/src/utc/webrtc/utc-media-webrtc.c @@ -20,6 +20,10 @@ #include #define TIMEOUT_MS 1000 +#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}}" static GMainLoop *g_mainloop = NULL; static int g_timeout_id = 0; @@ -70,6 +74,24 @@ static void __webrtc_state_changed_cb(webrtc_h webrtc, webrtc_state_e previous, __quit_mainloop(); } +static void __webrtc_signaling_state_change_cb(webrtc_h webrtc, webrtc_signaling_state_e state, void *user_data) +{ + dlog_print(DLOG_DEBUG, "NativeTCT", "[%s:%d] current state[%d]", __FUNCTION__, __LINE__, state); + + __quit_mainloop(); +} + +static bool __webrtc_turn_server_cb(const char *turn_server, void *user_data) +{ + int *count = (int*)user_data; + + dlog_print(DLOG_DEBUG, "NativeTCT", "[%s:%d] turn_server[%s]", __FUNCTION__, __LINE__, turn_server); + + (*count)--; + + return true; +} + /** * @testcase utc_media_webrtc_create_p * @since_tizen 6.5 @@ -485,6 +507,744 @@ int utc_media_webrtc_remove_media_source_n2(void) return 0; } +/** + * @testcase utc_media_webrtc_set_stun_server_p + * @since_tizen 6.5 + * @description Sets STUN server\n + * - Create a webrtc handle\n + * - Set STUN server + */ +int utc_media_webrtc_set_stun_server_p(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_stun_server(webrtc, TEST_STUN_SERVER_URL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_set_stun_server_n1 + * @since_tizen 6.5 + * @description Sets STUN server\n + * - Create a webrtc handle\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_set_stun_server_n1(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_stun_server(webrtc, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_set_stun_server_n2 + * @since_tizen 6.5 + * @description Sets STUN server\n + * - Create a webrtc handle\n + * - Start the webrtc handle and set it to get negative result + */ +int utc_media_webrtc_set_stun_server_n2(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_ice_candidate_cb(webrtc, __webrtc_ice_candidate_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_state_changed_cb(webrtc, __webrtc_state_changed_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_start(webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + __run_mainloop(); + + ret = webrtc_set_stun_server(webrtc, TEST_STUN_SERVER_URL); + assert_eq(ret, WEBRTC_ERROR_INVALID_STATE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_get_stun_server_p + * @since_tizen 6.5 + * @description Gets STUN server\n + * - Create a webrtc handle\n + * - Set STUN server + * - Get the server + */ +int utc_media_webrtc_get_stun_server_p(void) +{ + int ret; + webrtc_h webrtc; + char *result = NULL; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_stun_server(webrtc, TEST_STUN_SERVER_URL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + 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); + + free(result); + + return 0; +} + +/** + * @testcase utc_media_webrtc_get_stun_server_n + * @since_tizen 6.5 + * @description Gets STUN server\n + * - Create a webrtc handle\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_get_stun_server_n(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_get_stun_server(webrtc, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy(webrtc); + + return 0; +} + + +/** + * @testcase utc_media_webrtc_add_turn_server_p + * @since_tizen 6.5 + * @description Adds TURN server\n + * - Create a webrtc handle\n + * - Add TURN server + */ +int utc_media_webrtc_add_turn_server_p(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_add_turn_server(webrtc, TEST_TURN_SERVER_URL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_add_turn_server_n1 + * @since_tizen 6.5 + * @description Adds TURN server\n + * - Create a webrtc handle\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_add_turn_server_n1(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_add_turn_server(webrtc, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_add_turn_server_n2 + * @since_tizen 6.5 + * @description Adds TURN server\n + * - Create a webrtc handle\n + * - Start the webrtc handle and set it to get negative result + */ +int utc_media_webrtc_add_turn_server_n2(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_ice_candidate_cb(webrtc, __webrtc_ice_candidate_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_state_changed_cb(webrtc, __webrtc_state_changed_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_start(webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + __run_mainloop(); + + ret = webrtc_add_turn_server(webrtc, TEST_TURN_SERVER_URL); + assert_eq(ret, WEBRTC_ERROR_INVALID_STATE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_foreach_turn_server_p + * @since_tizen 6.5 + * @description Retrieves TURN servers\n + * - Create a webrtc handle\n + * - Add TURN server\n + * - Foreach TURN server + */ +int utc_media_webrtc_foreach_turn_server_p(void) +{ + int ret; + webrtc_h webrtc; + int count = 0; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_add_turn_server(webrtc, TEST_TURN_SERVER_URL); + assert_eq(ret, WEBRTC_ERROR_NONE); + count++; + + ret = webrtc_add_turn_server(webrtc, TEST_TURN_SERVER_URL2); + assert_eq(ret, WEBRTC_ERROR_NONE); + count++; + + ret = webrtc_foreach_turn_server(webrtc, __webrtc_turn_server_cb, (void *)&count); + assert_eq(ret, WEBRTC_ERROR_NONE); + assert_eq(count, 0); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_foreach_turn_server_n + * @since_tizen 6.5 + * @description Adds TURN server\n + * - Create a webrtc handle\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_foreach_turn_server_n(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_foreach_turn_server(webrtc, NULL, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_create_offer_p + * @since_tizen 6.5 + * @description Creates an offer message\n + * - Create a webrtc handle\n + * - Add a media source\n + * - Start the webrtc handle\n + * - Create an offer message + */ +int utc_media_webrtc_create_offer_p(void) +{ + int ret; + webrtc_h webrtc; + unsigned int id; + char *offer; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_CAMERA, &id); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_ice_candidate_cb(webrtc, __webrtc_ice_candidate_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_state_changed_cb(webrtc, __webrtc_state_changed_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_start(webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + __run_mainloop(); + + ret = webrtc_create_offer(webrtc, NULL, &offer); + assert_eq(ret, WEBRTC_ERROR_NONE); + + free(offer); + + webrtc_stop(webrtc); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_create_offer_n1 + * @since_tizen 6.5 + * @description Creates an offer message\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_create_offer_n1(void) +{ + int ret = webrtc_create_offer(NULL, NULL, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + return 0; +} + +/** + * @testcase utc_media_webrtc_create_offer_n2 + * @since_tizen 6.5 + * @description Creates an offer message\n + * - Create a webrtc handle\n + * - Create an offer in IDLE state to get negative result + */ +int utc_media_webrtc_create_offer_n2(void) +{ + int ret; + webrtc_h webrtc; + char *offer; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_create_offer(webrtc, NULL, &offer); + assert_eq(ret, WEBRTC_ERROR_INVALID_STATE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_create_answer_p + * @since_tizen 6.5 + * @description Creates an answer message\n + * - handle1 : Create a webrtc handle\n + * - handle1 : Add a media source\n + * - handle1 : Start the webrtc handle\n + * - handle1 : Create an offer message\n + * - handle2 : Create a webrtc handle\n + * - handle2 : Start the webrtc handle\n + * - handle2 : Set the remote description\n + * - handle2 : Create an answer message + */ +int utc_media_webrtc_create_answer_p(void) +{ + int ret; + webrtc_h webrtc; + webrtc_h webrtc2; + unsigned int id; + char *offer; + char *answer; + + /* handle 1: offerer */ + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_SCREEN, &id); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_ice_candidate_cb(webrtc, __webrtc_ice_candidate_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_state_changed_cb(webrtc, __webrtc_state_changed_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_start(webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + __run_mainloop(); + + ret = webrtc_create_offer(webrtc, NULL, &offer); + assert_eq(ret, WEBRTC_ERROR_NONE); + + dlog_print(DLOG_DEBUG, "NativeTCT", "[%s(%d)] offer[%s]", __FUNCTION__, __LINE__, offer); + + /* handle 2: answerer */ + ret = webrtc_create(&webrtc2); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_ice_candidate_cb(webrtc2, __webrtc_ice_candidate_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_state_changed_cb(webrtc2, __webrtc_state_changed_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_signaling_state_change_cb(webrtc2, __webrtc_signaling_state_change_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_start(webrtc2); + assert_eq(ret, WEBRTC_ERROR_NONE); + + __run_mainloop(); + + ret = webrtc_set_remote_description(webrtc2, offer); + assert_eq(ret, WEBRTC_ERROR_NONE); + + __run_mainloop(); + + ret = webrtc_create_answer(webrtc2, NULL, &answer); + assert_eq(ret, WEBRTC_ERROR_NONE); + + dlog_print(DLOG_DEBUG, "NativeTCT", "[%s(%d)] answer[%s]", __FUNCTION__, __LINE__, answer); + + free(offer); + free(answer); + +#if 0 /* FIXME: blocking issue */ + webrtc_stop(webrtc); + webrtc_destroy(webrtc); + + webrtc_stop(webrtc2); + webrtc_destroy(webrtc2); +#endif + return 0; +} + +/** + * @testcase utc_media_webrtc_create_answer_n1 + * @since_tizen 6.5 + * @description Creates an answer message\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_create_answer_n1(void) +{ + int ret = webrtc_create_answer(NULL, NULL, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + return 0; +} + +/** + * @testcase utc_media_webrtc_create_answer_n2 + * @since_tizen 6.5 + * @description Creates an answer message\n + * - Create a webrtc handle\n + * - Create an answer in IDLE state to get negative result + */ +int utc_media_webrtc_create_answer_n2(void) +{ + int ret; + webrtc_h webrtc; + char *offer; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_create_answer(webrtc, NULL, &offer); + assert_eq(ret, WEBRTC_ERROR_INVALID_STATE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_create_answer_n3 + * @since_tizen 6.5 + * @description Creates an answer message\n + * - Create a webrtc handle\n + * - Start the webrtc handle\n + * - Create an answer without setting a remote description to get negative result + */ +int utc_media_webrtc_create_answer_n3(void) +{ + int ret; + webrtc_h webrtc; + char *offer; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_ice_candidate_cb(webrtc, __webrtc_ice_candidate_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_state_changed_cb(webrtc, __webrtc_state_changed_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_start(webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + __run_mainloop(); + + ret = webrtc_create_answer(webrtc, NULL, &offer); + assert_eq(ret, WEBRTC_ERROR_INVALID_STATE); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_set_local_description_p + * @since_tizen 6.5 + * @description Creates an offer message\n + * - Create a webrtc handle\n + * - Add a media source\n + * - Start the webrtc handle\n + * - Create an offer message\n + * - Set the offer message as local description + */ +int utc_media_webrtc_set_local_description_p(void) +{ + int ret; + webrtc_h webrtc; + unsigned int id; + char *offer; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_CAMERA, &id); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_ice_candidate_cb(webrtc, __webrtc_ice_candidate_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_state_changed_cb(webrtc, __webrtc_state_changed_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_start(webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + __run_mainloop(); + + ret = webrtc_create_offer(webrtc, NULL, &offer); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_local_description(webrtc, offer); + assert_eq(ret, WEBRTC_ERROR_NONE); + + free(offer); + + webrtc_stop(webrtc); + + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_set_local_description_n + * @since_tizen 6.5 + * @description Sets a local description\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_set_local_description_n(void) +{ + int ret = webrtc_set_local_description(NULL, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + return 0; +} + +/** + * @testcase utc_media_webrtc_set_remote_description_p + * @since_tizen 6.5 + * @description Creates an answer message\n + * - handle1 : Create a webrtc handle\n + * - handle1 : Add a media source\n + * - handle1 : Start the webrtc handle\n + * - handle1 : Create an offer message\n + * - handle2 : Create a webrtc handle\n + * - handle2 : Start the webrtc handle\n + * - handle2 : Set the remote description + */ +int utc_media_webrtc_set_remote_description_p(void) +{ + int ret; + webrtc_h webrtc; + webrtc_h webrtc2; + unsigned int id; + char *offer; + + /* handle 1: offerer */ + 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_set_ice_candidate_cb(webrtc, __webrtc_ice_candidate_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_state_changed_cb(webrtc, __webrtc_state_changed_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_start(webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + __run_mainloop(); + + ret = webrtc_create_offer(webrtc, NULL, &offer); + assert_eq(ret, WEBRTC_ERROR_NONE); + + dlog_print(DLOG_DEBUG, "NativeTCT", "[%s(%d)] offer[%s]", __FUNCTION__, __LINE__, offer); + + /* handle 2: answerer */ + ret = webrtc_create(&webrtc2); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_ice_candidate_cb(webrtc2, __webrtc_ice_candidate_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_state_changed_cb(webrtc2, __webrtc_state_changed_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_start(webrtc2); + assert_eq(ret, WEBRTC_ERROR_NONE); + + __run_mainloop(); + + ret = webrtc_set_remote_description(webrtc2, offer); + assert_eq(ret, WEBRTC_ERROR_NONE); + + free(offer); + + webrtc_stop(webrtc); + webrtc_destroy(webrtc); + + webrtc_stop(webrtc2); + webrtc_destroy(webrtc2); + + return 0; +} + +/** + * @testcase utc_media_webrtc_set_remote_description_n + * @since_tizen 6.5 + * @description Sets a remote description\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_set_remote_description_n(void) +{ + int ret = webrtc_set_remote_description(NULL, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + return 0; +} + +/** + * @testcase utc_media_webrtc_add_ice_candidate_p + * @since_tizen 6.5 + * @description Adds an ICE candidate\n + * - Create a webrtc handle\n + * - Set ICE candidate callback\n + * - Start the handle\n + * - Add an ICE candidate + */ +int utc_media_webrtc_add_ice_candidate_p(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_ice_candidate_cb(webrtc, __webrtc_ice_candidate_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_set_state_changed_cb(webrtc, __webrtc_state_changed_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_start(webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + __run_mainloop(); + + ret = webrtc_add_ice_candidate(webrtc, TEST_ICE_CANDIDATE); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_stop(webrtc); + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_add_ice_candidate_n1 + * @since_tizen 6.5 + * @description Adds an ICE candidate\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_add_ice_candidate_n1(void) +{ + int ret = webrtc_add_ice_candidate(NULL, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + return 0; +} + +/** + * @testcase utc_media_webrtc_add_ice_candidate_n2 + * @since_tizen 6.5 + * @description Adds an ICE candidate\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_add_ice_candidate_n2(void) +{ + int ret; + webrtc_h webrtc; + + ret = webrtc_create(&webrtc); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_add_ice_candidate(webrtc, TEST_ICE_CANDIDATE); + assert_eq(ret, WEBRTC_ERROR_INVALID_STATE); + + return 0; +} + /** * @testcase utc_media_webrtc_get_peer_connection_state_p * @since_tizen 6.5