[UTC][webrtc][ACR-1702] Add test cases for transceiver codec functions 37/276837/4
authorSangchul Lee <sc11.lee@samsung.com>
Mon, 27 Jun 2022 05:35:14 +0000 (14:35 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Mon, 4 Jul 2022 07:10:18 +0000 (07:10 +0000)
Change-Id: I5e05ff9d8c82f505e1f38542a466c216221276a1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
src/utc/webrtc/public.list
src/utc/webrtc/tct-webrtc-core_mobile.h
src/utc/webrtc/tct-webrtc-core_tizeniot.h
src/utc/webrtc/tct-webrtc-core_tv.h
src/utc/webrtc/tct-webrtc-core_wearable.h
src/utc/webrtc/utc-media-webrtc.c

index 131e84f078cd3bd9b7c90583173653077d97f2a0..f3817d1968364ed2cc837dacad2f689623f519d6 100644 (file)
@@ -7,6 +7,9 @@ webrtc_add_media_source
 webrtc_remove_media_source
 webrtc_media_source_set_transceiver_direction
 webrtc_media_source_get_transceiver_direction
+webrtc_media_source_foreach_supported_transceiver_codec
+webrtc_media_source_set_transceiver_codec
+webrtc_media_source_get_transceiver_codec
 webrtc_media_source_set_pause
 webrtc_media_source_get_pause
 webrtc_media_source_set_mute
index f6ffa0994b6a90fe0b641a32f3ecccae3a44f915..076438d9fe76a0c2a432aa3db06ea716e0a72df6 100644 (file)
@@ -46,6 +46,13 @@ extern int utc_media_webrtc_media_source_set_transceiver_direction_p(void);
 extern int utc_media_webrtc_media_source_set_transceiver_direction_n(void);
 extern int utc_media_webrtc_media_source_get_transceiver_direction_p(void);
 extern int utc_media_webrtc_media_source_get_transceiver_direction_n(void);
+extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p(void);
+extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n(void);
+extern int utc_media_webrtc_media_source_set_transceiver_codec_p(void);
+extern int utc_media_webrtc_media_source_set_transceiver_codec_n1(void);
+extern int utc_media_webrtc_media_source_set_transceiver_codec_n2(void);
+extern int utc_media_webrtc_media_source_get_transceiver_codec_p(void);
+extern int utc_media_webrtc_media_source_get_transceiver_codec_n(void);
 extern int utc_media_webrtc_media_source_set_pause_p(void);
 extern int utc_media_webrtc_media_source_set_pause_n(void);
 extern int utc_media_webrtc_media_source_get_pause_p(void);
@@ -270,6 +277,13 @@ testcase tc_array[] = {
        {"utc_media_webrtc_media_source_set_transceiver_direction_n",utc_media_webrtc_media_source_set_transceiver_direction_n,NULL,NULL},
        {"utc_media_webrtc_media_source_get_transceiver_direction_p",utc_media_webrtc_media_source_get_transceiver_direction_p,NULL,NULL},
        {"utc_media_webrtc_media_source_get_transceiver_direction_n",utc_media_webrtc_media_source_get_transceiver_direction_n,NULL,NULL},
+       {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p,NULL,NULL},
+       {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n,NULL,NULL},
+       {"utc_media_webrtc_media_source_set_transceiver_codec_p",utc_media_webrtc_media_source_set_transceiver_codec_p,NULL,NULL},
+       {"utc_media_webrtc_media_source_set_transceiver_codec_n1",utc_media_webrtc_media_source_set_transceiver_codec_n1,NULL,NULL},
+       {"utc_media_webrtc_media_source_set_transceiver_codec_n2",utc_media_webrtc_media_source_set_transceiver_codec_n2,NULL,NULL},
+       {"utc_media_webrtc_media_source_get_transceiver_codec_p",utc_media_webrtc_media_source_get_transceiver_codec_p,NULL,NULL},
+       {"utc_media_webrtc_media_source_get_transceiver_codec_n",utc_media_webrtc_media_source_get_transceiver_codec_n,NULL,NULL},
        {"utc_media_webrtc_media_source_set_pause_p",utc_media_webrtc_media_source_set_pause_p,NULL,NULL},
        {"utc_media_webrtc_media_source_set_pause_n",utc_media_webrtc_media_source_set_pause_n,NULL,NULL},
        {"utc_media_webrtc_media_source_get_pause_p",utc_media_webrtc_media_source_get_pause_p,NULL,NULL},
index f6ffa0994b6a90fe0b641a32f3ecccae3a44f915..076438d9fe76a0c2a432aa3db06ea716e0a72df6 100644 (file)
@@ -46,6 +46,13 @@ extern int utc_media_webrtc_media_source_set_transceiver_direction_p(void);
 extern int utc_media_webrtc_media_source_set_transceiver_direction_n(void);
 extern int utc_media_webrtc_media_source_get_transceiver_direction_p(void);
 extern int utc_media_webrtc_media_source_get_transceiver_direction_n(void);
+extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p(void);
+extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n(void);
+extern int utc_media_webrtc_media_source_set_transceiver_codec_p(void);
+extern int utc_media_webrtc_media_source_set_transceiver_codec_n1(void);
+extern int utc_media_webrtc_media_source_set_transceiver_codec_n2(void);
+extern int utc_media_webrtc_media_source_get_transceiver_codec_p(void);
+extern int utc_media_webrtc_media_source_get_transceiver_codec_n(void);
 extern int utc_media_webrtc_media_source_set_pause_p(void);
 extern int utc_media_webrtc_media_source_set_pause_n(void);
 extern int utc_media_webrtc_media_source_get_pause_p(void);
@@ -270,6 +277,13 @@ testcase tc_array[] = {
        {"utc_media_webrtc_media_source_set_transceiver_direction_n",utc_media_webrtc_media_source_set_transceiver_direction_n,NULL,NULL},
        {"utc_media_webrtc_media_source_get_transceiver_direction_p",utc_media_webrtc_media_source_get_transceiver_direction_p,NULL,NULL},
        {"utc_media_webrtc_media_source_get_transceiver_direction_n",utc_media_webrtc_media_source_get_transceiver_direction_n,NULL,NULL},
+       {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p,NULL,NULL},
+       {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n,NULL,NULL},
+       {"utc_media_webrtc_media_source_set_transceiver_codec_p",utc_media_webrtc_media_source_set_transceiver_codec_p,NULL,NULL},
+       {"utc_media_webrtc_media_source_set_transceiver_codec_n1",utc_media_webrtc_media_source_set_transceiver_codec_n1,NULL,NULL},
+       {"utc_media_webrtc_media_source_set_transceiver_codec_n2",utc_media_webrtc_media_source_set_transceiver_codec_n2,NULL,NULL},
+       {"utc_media_webrtc_media_source_get_transceiver_codec_p",utc_media_webrtc_media_source_get_transceiver_codec_p,NULL,NULL},
+       {"utc_media_webrtc_media_source_get_transceiver_codec_n",utc_media_webrtc_media_source_get_transceiver_codec_n,NULL,NULL},
        {"utc_media_webrtc_media_source_set_pause_p",utc_media_webrtc_media_source_set_pause_p,NULL,NULL},
        {"utc_media_webrtc_media_source_set_pause_n",utc_media_webrtc_media_source_set_pause_n,NULL,NULL},
        {"utc_media_webrtc_media_source_get_pause_p",utc_media_webrtc_media_source_get_pause_p,NULL,NULL},
index f6ffa0994b6a90fe0b641a32f3ecccae3a44f915..076438d9fe76a0c2a432aa3db06ea716e0a72df6 100644 (file)
@@ -46,6 +46,13 @@ extern int utc_media_webrtc_media_source_set_transceiver_direction_p(void);
 extern int utc_media_webrtc_media_source_set_transceiver_direction_n(void);
 extern int utc_media_webrtc_media_source_get_transceiver_direction_p(void);
 extern int utc_media_webrtc_media_source_get_transceiver_direction_n(void);
+extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p(void);
+extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n(void);
+extern int utc_media_webrtc_media_source_set_transceiver_codec_p(void);
+extern int utc_media_webrtc_media_source_set_transceiver_codec_n1(void);
+extern int utc_media_webrtc_media_source_set_transceiver_codec_n2(void);
+extern int utc_media_webrtc_media_source_get_transceiver_codec_p(void);
+extern int utc_media_webrtc_media_source_get_transceiver_codec_n(void);
 extern int utc_media_webrtc_media_source_set_pause_p(void);
 extern int utc_media_webrtc_media_source_set_pause_n(void);
 extern int utc_media_webrtc_media_source_get_pause_p(void);
@@ -270,6 +277,13 @@ testcase tc_array[] = {
        {"utc_media_webrtc_media_source_set_transceiver_direction_n",utc_media_webrtc_media_source_set_transceiver_direction_n,NULL,NULL},
        {"utc_media_webrtc_media_source_get_transceiver_direction_p",utc_media_webrtc_media_source_get_transceiver_direction_p,NULL,NULL},
        {"utc_media_webrtc_media_source_get_transceiver_direction_n",utc_media_webrtc_media_source_get_transceiver_direction_n,NULL,NULL},
+       {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p,NULL,NULL},
+       {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n,NULL,NULL},
+       {"utc_media_webrtc_media_source_set_transceiver_codec_p",utc_media_webrtc_media_source_set_transceiver_codec_p,NULL,NULL},
+       {"utc_media_webrtc_media_source_set_transceiver_codec_n1",utc_media_webrtc_media_source_set_transceiver_codec_n1,NULL,NULL},
+       {"utc_media_webrtc_media_source_set_transceiver_codec_n2",utc_media_webrtc_media_source_set_transceiver_codec_n2,NULL,NULL},
+       {"utc_media_webrtc_media_source_get_transceiver_codec_p",utc_media_webrtc_media_source_get_transceiver_codec_p,NULL,NULL},
+       {"utc_media_webrtc_media_source_get_transceiver_codec_n",utc_media_webrtc_media_source_get_transceiver_codec_n,NULL,NULL},
        {"utc_media_webrtc_media_source_set_pause_p",utc_media_webrtc_media_source_set_pause_p,NULL,NULL},
        {"utc_media_webrtc_media_source_set_pause_n",utc_media_webrtc_media_source_set_pause_n,NULL,NULL},
        {"utc_media_webrtc_media_source_get_pause_p",utc_media_webrtc_media_source_get_pause_p,NULL,NULL},
index f6ffa0994b6a90fe0b641a32f3ecccae3a44f915..076438d9fe76a0c2a432aa3db06ea716e0a72df6 100644 (file)
@@ -46,6 +46,13 @@ extern int utc_media_webrtc_media_source_set_transceiver_direction_p(void);
 extern int utc_media_webrtc_media_source_set_transceiver_direction_n(void);
 extern int utc_media_webrtc_media_source_get_transceiver_direction_p(void);
 extern int utc_media_webrtc_media_source_get_transceiver_direction_n(void);
+extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p(void);
+extern int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n(void);
+extern int utc_media_webrtc_media_source_set_transceiver_codec_p(void);
+extern int utc_media_webrtc_media_source_set_transceiver_codec_n1(void);
+extern int utc_media_webrtc_media_source_set_transceiver_codec_n2(void);
+extern int utc_media_webrtc_media_source_get_transceiver_codec_p(void);
+extern int utc_media_webrtc_media_source_get_transceiver_codec_n(void);
 extern int utc_media_webrtc_media_source_set_pause_p(void);
 extern int utc_media_webrtc_media_source_set_pause_n(void);
 extern int utc_media_webrtc_media_source_get_pause_p(void);
@@ -270,6 +277,13 @@ testcase tc_array[] = {
        {"utc_media_webrtc_media_source_set_transceiver_direction_n",utc_media_webrtc_media_source_set_transceiver_direction_n,NULL,NULL},
        {"utc_media_webrtc_media_source_get_transceiver_direction_p",utc_media_webrtc_media_source_get_transceiver_direction_p,NULL,NULL},
        {"utc_media_webrtc_media_source_get_transceiver_direction_n",utc_media_webrtc_media_source_get_transceiver_direction_n,NULL,NULL},
+       {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p,NULL,NULL},
+       {"utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n",utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n,NULL,NULL},
+       {"utc_media_webrtc_media_source_set_transceiver_codec_p",utc_media_webrtc_media_source_set_transceiver_codec_p,NULL,NULL},
+       {"utc_media_webrtc_media_source_set_transceiver_codec_n1",utc_media_webrtc_media_source_set_transceiver_codec_n1,NULL,NULL},
+       {"utc_media_webrtc_media_source_set_transceiver_codec_n2",utc_media_webrtc_media_source_set_transceiver_codec_n2,NULL,NULL},
+       {"utc_media_webrtc_media_source_get_transceiver_codec_p",utc_media_webrtc_media_source_get_transceiver_codec_p,NULL,NULL},
+       {"utc_media_webrtc_media_source_get_transceiver_codec_n",utc_media_webrtc_media_source_get_transceiver_codec_n,NULL,NULL},
        {"utc_media_webrtc_media_source_set_pause_p",utc_media_webrtc_media_source_set_pause_p,NULL,NULL},
        {"utc_media_webrtc_media_source_set_pause_n",utc_media_webrtc_media_source_set_pause_n,NULL,NULL},
        {"utc_media_webrtc_media_source_get_pause_p",utc_media_webrtc_media_source_get_pause_p,NULL,NULL},
index e9fe920627bd672a2e29fba45c0baef99506fdd5..f479b12d1d4d7d42dcb2db24df027a19134bd08a 100644 (file)
@@ -156,6 +156,13 @@ static void __data_channel_buffered_amount_low_cb(webrtc_data_channel_h channel,
 {
 }
 
+static bool __supported_transceiver_codec_cb(webrtc_transceiver_codec_e codec, void *user_data)
+{
+       dlog_print(DLOG_DEBUG, "NativeTCT", "[%s:%d] codec[0x%x]", __FUNCTION__, __LINE__, codec);
+
+       return true;
+}
+
 /**
  * @function           utc_media_webrtc_startup_create_win
  * @description                Should be called before a test using a window
@@ -719,6 +726,203 @@ int utc_media_webrtc_media_source_get_transceiver_direction_n(void)
        return 0;
 }
 
+/**
+ * @testcase           utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p
+ * @since_tizen                7.0
+ * @description                Retrieves supported transceiver codecs\n
+ *                             - Create a webrtc handle\n
+ *                             - Foreach supported transceiver codecs
+ */
+int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_p(void)
+{
+       int ret;
+       webrtc_h webrtc;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_media_source_foreach_supported_transceiver_codec(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_NULL, WEBRTC_MEDIA_TYPE_AUDIO, __supported_transceiver_codec_cb, webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_media_source_foreach_supported_transceiver_codec(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_NULL, WEBRTC_MEDIA_TYPE_VIDEO, __supported_transceiver_codec_cb, webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n
+ * @since_tizen                7.0
+ * @description                Retrieves supported transceiver codecs\n
+ *                             - Create a webrtc handle\n
+ *                             - Set an invalid media type to get negative result
+ */
+int utc_media_webrtc_media_source_foreach_supported_transceiver_codec_n(void)
+{
+       int ret;
+       webrtc_h webrtc;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_media_source_foreach_supported_transceiver_codec(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_AUDIOTEST, WEBRTC_MEDIA_TYPE_VIDEO, __supported_transceiver_codec_cb, webrtc);
+       assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_media_source_set_transceiver_codec_p
+ * @since_tizen                7.0
+ * @description                Sets a transceiver codec\n
+ *                             - Create a webrtc handle\n
+ *                             - Add a media source\n
+ *                             - Set a codec
+ */
+int utc_media_webrtc_media_source_set_transceiver_codec_p(void)
+{
+       int ret;
+       webrtc_h webrtc;
+       unsigned int id;
+       webrtc_transceiver_codec_e codec;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_AUDIOTEST, &id);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_media_source_set_transceiver_codec(webrtc, id, WEBRTC_MEDIA_TYPE_AUDIO, WEBRTC_TRANSCEIVER_CODEC_OPUS);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_media_source_get_transceiver_codec(webrtc, id, WEBRTC_MEDIA_TYPE_AUDIO, &codec);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+       assert_eq(codec, WEBRTC_TRANSCEIVER_CODEC_OPUS);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_media_source_set_transceiver_codec_n1
+ * @since_tizen                7.0
+ * @description                Sets a transceiver codec\n
+ *                             - Create a webrtc handle\n
+ *                             - Add a media source\n
+ *                             - Set an invalid codec to get negative result
+ */
+int utc_media_webrtc_media_source_set_transceiver_codec_n1(void)
+{
+       int ret;
+       webrtc_h webrtc;
+       unsigned int id;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_AUDIOTEST, &id);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_media_source_set_transceiver_direction(webrtc, id, WEBRTC_MEDIA_TYPE_AUDIO, WEBRTC_TRANSCEIVER_CODEC_VP8);
+       assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_media_source_set_transceiver_codec_n2
+ * @since_tizen                7.0
+ * @description                Sets a transceiver codec\n
+ *                             - Create a webrtc handle\n
+ *                             - Add a media source\n
+ *                             - Set an invalid media type to get negative result
+ */
+int utc_media_webrtc_media_source_set_transceiver_codec_n2(void)
+{
+       int ret;
+       webrtc_h webrtc;
+       unsigned int id;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_VIDEOTEST, &id);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_media_source_set_transceiver_codec(webrtc, id, WEBRTC_MEDIA_TYPE_AUDIO, WEBRTC_TRANSCEIVER_CODEC_VP8);
+       assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_media_source_get_transceiver_codec_p
+ * @since_tizen                7.0
+ * @description                Gets the transceiver codec\n
+ *                             - Create a webrtc handle\n
+ *                             - Add a media source\n
+ *                             - Get the codec
+ */
+int utc_media_webrtc_media_source_get_transceiver_codec_p(void)
+{
+       int ret;
+       webrtc_h webrtc;
+       unsigned int id;
+       webrtc_transceiver_codec_e codec;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_MIC, &id);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_media_source_get_transceiver_codec(webrtc, id, WEBRTC_MEDIA_TYPE_AUDIO, &codec);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+       assert_eq(codec, WEBRTC_TRANSCEIVER_CODEC_OPUS);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_media_webrtc_media_source_get_transceiver_codec_n
+ * @since_tizen                7.0
+ * @description                Gets the transceiver codec\n
+ *                             - Create a webrtc handle\n
+ *                             - Add a media source\n
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_media_webrtc_media_source_get_transceiver_codec_n(void)
+{
+       int ret;
+       webrtc_h webrtc;
+       unsigned int id;
+       webrtc_transceiver_codec_e codec;
+
+       ret = webrtc_create(&webrtc);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_add_media_source(webrtc, WEBRTC_MEDIA_SOURCE_TYPE_VIDEOTEST, &id);
+       assert_eq(ret, WEBRTC_ERROR_NONE);
+
+       ret = webrtc_media_source_get_transceiver_codec(webrtc, id, WEBRTC_MEDIA_TYPE_AUDIO, &codec);
+       assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER);
+
+       webrtc_destroy(webrtc);
+
+       return 0;
+}
+
 /**
  * @testcase           utc_media_webrtc_media_source_set_pause_p
  * @since_tizen                6.5
@@ -3053,7 +3257,7 @@ int utc_media_webrtc_foreach_turn_server_p(void)
 /**
  * @testcase           utc_media_webrtc_foreach_turn_server_n
  * @since_tizen                6.5
- * @description                Adds TURN server\n
+ * @description                Retrieves TURN servers\n
  *                             - Create a webrtc handle\n
  *                             - Pass invalid parameter to get negative result
  */