[ITC][webrtc][ACR-1671][added 3 new apis cases] 51/268551/2
authorAnkit <ankit.sri1@samsung.com>
Fri, 24 Dec 2021 10:25:02 +0000 (15:55 +0530)
committershobhit verma <shobhit.v@samsung.com>
Fri, 24 Dec 2021 10:49:01 +0000 (10:49 +0000)
Change-Id: Id1d737e715bfa0e5bdaf360b0cf1e4bea6005f8a
Signed-off-by: Ankit <ankit.sri1@samsung.com>
src/itc/webrtc/ITs-webrtc-common.c
src/itc/webrtc/ITs-webrtc-common.h
src/itc/webrtc/ITs-webrtc.c
src/itc/webrtc/res/mobile/movie.mp4 [new file with mode: 0755]
src/itc/webrtc/res/tizeniot/movie.mp4 [new file with mode: 0755]
src/itc/webrtc/res/tv/movie.mp4 [new file with mode: 0755]
src/itc/webrtc/res/wearable/movie.mp4 [new file with mode: 0755]
src/itc/webrtc/tct-webrtc-native_mobile.h
src/itc/webrtc/tct-webrtc-native_tizeniot.h
src/itc/webrtc/tct-webrtc-native_tv.h
src/itc/webrtc/tct-webrtc-native_wearable.h

index ed2e16bf1be1d527ec08d97767a6dbfcbfec49f6..44b779755b26dba5e0333985dafee35f11f6751a 100755 (executable)
@@ -48,6 +48,36 @@ char* WebRtcGetError(int nErrorType)
        return szErrorVal;
 }
 
+/**
+* @function                    GetDataFromFile
+* @description         Called to get data
+* @parameter           NA
+* @return                      NA
+*/
+unsigned int GetDataFromFile()
+{
+       char pszValue[CONFIG_VALUE_LEN_MAX] = {0,};
+       if ( true == GetValueForTCTSetting("DEVICE_SUITE_TARGET_30", pszValue, API_NAMESPACE ))
+       {
+                       FPRINTF("[Line : %d][%s] 'DEVICE_SUITE_TARGET_30' Values Received = %s\\n", __LINE__, API_NAMESPACE,  pszValue);
+                       int path_size = strlen(pszValue)+strlen("/res/movie.mp4")+1;
+                       g_pszFilePath=(char*)calloc(path_size, sizeof(char));
+                       if( NULL == g_pszFilePath )
+                       {
+                                       FPRINTF("[Line : %d][%s] 'Memory allocation to g_pszFilePath failed\\n", __LINE__, API_NAMESPACE);
+                                       return 1;
+                       }
+                       snprintf(g_pszFilePath, path_size, "%s/res/movie.mp4", pszValue);
+                       FPRINTF("[Line : %d][%s] g_pszFilePath = %s\\n", __LINE__, API_NAMESPACE,  g_pszFilePath);
+       }
+       else
+       {
+                       FPRINTF("[Line : %d][%s] GetValueForTCTSetting returned error for 'DEVICE_SUITE_TARGET_30'\\n", __LINE__, API_NAMESPACE);
+                       return 1;
+       }
+       return 0;
+}
+
 /**
 * @function            Timeout
 * @description         Called if some callback is not invoked for a particular timeout
index 7344704940a55aff94ef6138198119bb55d6a50d..cc783b37b58802051601bb620dbe61e25a2a0711 100755 (executable)
        }\
 }
 bool g_bWebRTCCreation;
+char *g_pszFilePath;
 webrtc_h g_hWebRtcHandle;
 static GMainLoop *g_pMainLoop = NULL;
 bool g_bCallbackCalled;
 gboolean Timeout(gpointer data);
 char* WebRtcGetError(int nErrorType);
+unsigned int GetDataFromFile();
 /** @} */
 #endif  //_ITS_WEBRTC_COMMON_H_
index 9d006abed3dced3101c81438bf94ef7573ac39b4..d361bf89d48f5566d336490e7ba641a789a3a3f8 100755 (executable)
@@ -1794,5 +1794,102 @@ int ITc_media_webrtc_set_get_ice_transport_policy_p(void)
        destroyWindow();
        return 0;
 }
+
+//& purpose: Sets and Gets looping mode of the file source.
+//& type: auto
+/**
+* @testcase                    ITc_webrtc_file_source_set_get_looping_p
+* @since_tizen                         7.0
+* @author                              SRID(ankit.sri1)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Sets and Gets looping mode of the file source.
+* @scenario                            Sets and Gets looping mode of the file source.
+* @apicovered                  webrtc_file_source_set_looping,webrtc_file_source_get_looping
+* @passcase                            If webrtc_file_source_set_looping,webrtc_file_source_get_looping is successfull
+* @failcase                    If webrtc_file_source_set_looping,webrtc_file_source_get_looping fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_webrtc_file_source_set_get_looping_p(void)
+{
+       START_TEST;
+       unsigned int nId;
+       bool isGetLooping, isSetLooping=true;
+
+       int nRet = webrtc_add_media_source(g_hWebRtcHandle, WEBRTC_MEDIA_SOURCE_TYPE_FILE, &nId);
+       PRINT_RESULT(WEBRTC_ERROR_NONE, nRet, "webrtc_add_media_source", WebRtcGetError(nRet));
+
+       nRet = webrtc_file_source_set_looping(g_hWebRtcHandle, nId, isSetLooping);
+       PRINT_RESULT(WEBRTC_ERROR_NONE, nRet, "webrtc_file_source_set_looping", WebRtcGetError(nRet));
+
+       nRet = webrtc_file_source_get_looping(g_hWebRtcHandle, nId, &isGetLooping);
+       PRINT_RESULT(WEBRTC_ERROR_NONE, nRet, "webrtc_file_source_get_looping", WebRtcGetError(nRet));
+
+       if(isSetLooping != isGetLooping)
+       {
+               FPRINTF("[Line : %d][%s] set get values mismatch\\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+
+       return 0;
+}
+
+//& purpose: Sets media path of the file source.
+//& type: auto
+/**
+* @testcase                    ITc_webrtc_file_source_set_path_p
+* @since_tizen                         7.0
+* @author                              SRID(ankit.sri1)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Sets media path of the file source.
+* @scenario                            Sets media path of the file source.
+* @apicovered                  webrtc_file_source_set_path
+* @passcase                            If webrtc_file_source_set_path is successfull
+* @failcase                    If webrtc_file_source_set_path fails
+* @precondition                        NA
+* @postcondition               NA
+*/
+int ITc_webrtc_file_source_set_path_p(void)
+{
+       START_TEST;
+       unsigned int nId;
+
+       int nRet = GetDataFromFile();
+       if(nRet != 0)
+       {
+               FPRINTF("[Line : %d][%s] Media file path not found\\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+       g_bCallbackCalled = false;
+       nRet = webrtc_add_media_source(g_hWebRtcHandle, WEBRTC_MEDIA_SOURCE_TYPE_FILE, &nId);
+       PRINT_RESULT(WEBRTC_ERROR_NONE, nRet, "webrtc_add_media_source", WebRtcGetError(nRet));
+
+       nRet = webrtc_set_ice_candidate_cb(g_hWebRtcHandle, webrtcIceCandidateCB, NULL);
+       PRINT_RESULT(WEBRTC_ERROR_NONE, nRet, "webrtc_set_ice_candidate_cb", WebRtcGetError(nRet));
+
+       nRet = webrtc_set_state_changed_cb(g_hWebRtcHandle, webrtcStateChangedCB, NULL);
+       PRINT_RESULT(WEBRTC_ERROR_NONE, nRet, "webrtc_set_state_changed_cb", WebRtcGetError(nRet));
+
+       FPRINTF("[Line : %d][%s] g_pszFilePath = %s\\n", __LINE__, API_NAMESPACE,  g_pszFilePath);
+
+       nRet = webrtc_file_source_set_path(g_hWebRtcHandle, nId, g_pszFilePath);
+       PRINT_RESULT(WEBRTC_ERROR_NONE, nRet, "webrtc_file_source_set_path", WebRtcGetError(nRet));
+
+       nRet = webrtc_start(g_hWebRtcHandle);
+       PRINT_RESULT(WEBRTC_ERROR_NONE, nRet, "webrtc_start", WebRtcGetError(nRet));
+
+       RUN_POLLING_LOOP;
+       if (!g_bCallbackCalled) {
+               FPRINTF("[Line : %d][%s] Callback webrtcStateChangedCB not invoked\\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+
+       nRet = webrtc_stop(g_hWebRtcHandle);
+       PRINT_RESULT_NORETURN(WEBRTC_ERROR_NONE, nRet, "webrtc_start", WebRtcGetError(nRet));
+       FREE_MEMORY(g_pszFilePath);
+       return 0;
+}
 /** @} */
 /** @} */
diff --git a/src/itc/webrtc/res/mobile/movie.mp4 b/src/itc/webrtc/res/mobile/movie.mp4
new file mode 100755 (executable)
index 0000000..84ba7de
Binary files /dev/null and b/src/itc/webrtc/res/mobile/movie.mp4 differ
diff --git a/src/itc/webrtc/res/tizeniot/movie.mp4 b/src/itc/webrtc/res/tizeniot/movie.mp4
new file mode 100755 (executable)
index 0000000..84ba7de
Binary files /dev/null and b/src/itc/webrtc/res/tizeniot/movie.mp4 differ
diff --git a/src/itc/webrtc/res/tv/movie.mp4 b/src/itc/webrtc/res/tv/movie.mp4
new file mode 100755 (executable)
index 0000000..84ba7de
Binary files /dev/null and b/src/itc/webrtc/res/tv/movie.mp4 differ
diff --git a/src/itc/webrtc/res/wearable/movie.mp4 b/src/itc/webrtc/res/wearable/movie.mp4
new file mode 100755 (executable)
index 0000000..84ba7de
Binary files /dev/null and b/src/itc/webrtc/res/wearable/movie.mp4 differ
index 8b82e897e90ef45c849118137823370d592fc2fc..c6d1a7e0379006a981417d91ef390dc37f56833e 100755 (executable)
@@ -75,6 +75,8 @@ extern int ITc_media_webrtc_media_source_set_unset_video_loopback_p(void);
 extern int ITc_media_webrtc_set_get_display_mode_p(void);
 extern int ITc_media_webrtc_set_get_display_visible_p(void);
 extern int ITc_media_webrtc_set_get_ice_transport_policy_p(void);
+extern int ITc_webrtc_file_source_set_get_looping_p(void);
+extern int ITc_webrtc_file_source_set_path_p(void);
 
 testcase tc_array[] = {
     {"ITc_webrtc_create_destroy_p", ITc_webrtc_create_destroy_p, ITs_webrtc_startup, ITs_webrtc_cleanup},
@@ -128,6 +130,8 @@ testcase tc_array[] = {
     {"ITc_media_webrtc_data_channel_set_unset_error_cb_p",ITc_media_webrtc_data_channel_set_unset_error_cb_p,ITs_webrtc_callback_startup, ITs_webrtc_callback_cleanup},
     {"ITc_media_webrtc_data_channel_set_unset_close_cb_p",ITc_media_webrtc_data_channel_set_unset_close_cb_p,ITs_webrtc_callback_startup, ITs_webrtc_callback_cleanup},
     {"ITc_webrtc_set_unset_track_added_cb_p",ITc_webrtc_set_unset_track_added_cb_p,ITs_webrtc_callback_startup, ITs_webrtc_callback_cleanup},
+    {"ITc_webrtc_file_source_set_get_looping_p", ITc_webrtc_file_source_set_get_looping_p, ITs_webrtc_startup, ITs_webrtc_cleanup},
+    {"ITc_webrtc_file_source_set_path_p", ITc_webrtc_file_source_set_path_p, ITs_webrtc_startup, ITs_webrtc_cleanup},
     {NULL, NULL}
 };
 
index 8b82e897e90ef45c849118137823370d592fc2fc..c6d1a7e0379006a981417d91ef390dc37f56833e 100755 (executable)
@@ -75,6 +75,8 @@ extern int ITc_media_webrtc_media_source_set_unset_video_loopback_p(void);
 extern int ITc_media_webrtc_set_get_display_mode_p(void);
 extern int ITc_media_webrtc_set_get_display_visible_p(void);
 extern int ITc_media_webrtc_set_get_ice_transport_policy_p(void);
+extern int ITc_webrtc_file_source_set_get_looping_p(void);
+extern int ITc_webrtc_file_source_set_path_p(void);
 
 testcase tc_array[] = {
     {"ITc_webrtc_create_destroy_p", ITc_webrtc_create_destroy_p, ITs_webrtc_startup, ITs_webrtc_cleanup},
@@ -128,6 +130,8 @@ testcase tc_array[] = {
     {"ITc_media_webrtc_data_channel_set_unset_error_cb_p",ITc_media_webrtc_data_channel_set_unset_error_cb_p,ITs_webrtc_callback_startup, ITs_webrtc_callback_cleanup},
     {"ITc_media_webrtc_data_channel_set_unset_close_cb_p",ITc_media_webrtc_data_channel_set_unset_close_cb_p,ITs_webrtc_callback_startup, ITs_webrtc_callback_cleanup},
     {"ITc_webrtc_set_unset_track_added_cb_p",ITc_webrtc_set_unset_track_added_cb_p,ITs_webrtc_callback_startup, ITs_webrtc_callback_cleanup},
+    {"ITc_webrtc_file_source_set_get_looping_p", ITc_webrtc_file_source_set_get_looping_p, ITs_webrtc_startup, ITs_webrtc_cleanup},
+    {"ITc_webrtc_file_source_set_path_p", ITc_webrtc_file_source_set_path_p, ITs_webrtc_startup, ITs_webrtc_cleanup},
     {NULL, NULL}
 };
 
index 8b82e897e90ef45c849118137823370d592fc2fc..c6d1a7e0379006a981417d91ef390dc37f56833e 100755 (executable)
@@ -75,6 +75,8 @@ extern int ITc_media_webrtc_media_source_set_unset_video_loopback_p(void);
 extern int ITc_media_webrtc_set_get_display_mode_p(void);
 extern int ITc_media_webrtc_set_get_display_visible_p(void);
 extern int ITc_media_webrtc_set_get_ice_transport_policy_p(void);
+extern int ITc_webrtc_file_source_set_get_looping_p(void);
+extern int ITc_webrtc_file_source_set_path_p(void);
 
 testcase tc_array[] = {
     {"ITc_webrtc_create_destroy_p", ITc_webrtc_create_destroy_p, ITs_webrtc_startup, ITs_webrtc_cleanup},
@@ -128,6 +130,8 @@ testcase tc_array[] = {
     {"ITc_media_webrtc_data_channel_set_unset_error_cb_p",ITc_media_webrtc_data_channel_set_unset_error_cb_p,ITs_webrtc_callback_startup, ITs_webrtc_callback_cleanup},
     {"ITc_media_webrtc_data_channel_set_unset_close_cb_p",ITc_media_webrtc_data_channel_set_unset_close_cb_p,ITs_webrtc_callback_startup, ITs_webrtc_callback_cleanup},
     {"ITc_webrtc_set_unset_track_added_cb_p",ITc_webrtc_set_unset_track_added_cb_p,ITs_webrtc_callback_startup, ITs_webrtc_callback_cleanup},
+    {"ITc_webrtc_file_source_set_get_looping_p", ITc_webrtc_file_source_set_get_looping_p, ITs_webrtc_startup, ITs_webrtc_cleanup},
+    {"ITc_webrtc_file_source_set_path_p", ITc_webrtc_file_source_set_path_p, ITs_webrtc_startup, ITs_webrtc_cleanup},
     {NULL, NULL}
 };
 
index 8b82e897e90ef45c849118137823370d592fc2fc..c6d1a7e0379006a981417d91ef390dc37f56833e 100755 (executable)
@@ -75,6 +75,8 @@ extern int ITc_media_webrtc_media_source_set_unset_video_loopback_p(void);
 extern int ITc_media_webrtc_set_get_display_mode_p(void);
 extern int ITc_media_webrtc_set_get_display_visible_p(void);
 extern int ITc_media_webrtc_set_get_ice_transport_policy_p(void);
+extern int ITc_webrtc_file_source_set_get_looping_p(void);
+extern int ITc_webrtc_file_source_set_path_p(void);
 
 testcase tc_array[] = {
     {"ITc_webrtc_create_destroy_p", ITc_webrtc_create_destroy_p, ITs_webrtc_startup, ITs_webrtc_cleanup},
@@ -128,6 +130,8 @@ testcase tc_array[] = {
     {"ITc_media_webrtc_data_channel_set_unset_error_cb_p",ITc_media_webrtc_data_channel_set_unset_error_cb_p,ITs_webrtc_callback_startup, ITs_webrtc_callback_cleanup},
     {"ITc_media_webrtc_data_channel_set_unset_close_cb_p",ITc_media_webrtc_data_channel_set_unset_close_cb_p,ITs_webrtc_callback_startup, ITs_webrtc_callback_cleanup},
     {"ITc_webrtc_set_unset_track_added_cb_p",ITc_webrtc_set_unset_track_added_cb_p,ITs_webrtc_callback_startup, ITs_webrtc_callback_cleanup},
+    {"ITc_webrtc_file_source_set_get_looping_p", ITc_webrtc_file_source_set_get_looping_p, ITs_webrtc_startup, ITs_webrtc_cleanup},
+    {"ITc_webrtc_file_source_set_path_p", ITc_webrtc_file_source_set_path_p, ITs_webrtc_startup, ITs_webrtc_cleanup},
     {NULL, NULL}
 };