From: backto.kim Date: Tue, 18 Jan 2022 07:32:57 +0000 (+0900) Subject: [UTC][capi-media-webrtc][ACR-1677] Add functions for data channel buffered amount X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2e52c5bf75e93ed9c8da18b8c3d0182e60b21e8e;p=test%2Ftct%2Fnative%2Fapi.git [UTC][capi-media-webrtc][ACR-1677] Add functions for data channel buffered amount Change-Id: Ibf3f065c61e7982b0ca2ecaf05eefd62ae2dc3d1 --- diff --git a/src/utc/webrtc/public.list b/src/utc/webrtc/public.list index e70a6d79a..cc4278f75 100644 --- a/src/utc/webrtc/public.list +++ b/src/utc/webrtc/public.list @@ -52,6 +52,10 @@ webrtc_data_channel_get_label webrtc_data_channel_send_string webrtc_data_channel_send_bytes webrtc_get_data +webrtc_data_channel_get_buffered_amount +webrtc_data_channel_set_buffered_amount_low_cb +webrtc_data_channel_get_buffered_amount_low_threshold +webrtc_data_channel_unset_buffered_amount_low_cb webrtc_set_state_changed_cb webrtc_unset_state_changed_cb webrtc_set_error_cb diff --git a/src/utc/webrtc/tct-webrtc-core_mobile.h b/src/utc/webrtc/tct-webrtc-core_mobile.h index df3a1a467..635c7d420 100644 --- a/src/utc/webrtc/tct-webrtc-core_mobile.h +++ b/src/utc/webrtc/tct-webrtc-core_mobile.h @@ -156,6 +156,14 @@ 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_data_channel_get_buffered_amount_p(void); +extern int utc_media_webrtc_data_channel_get_buffered_amount_n(void); +extern int utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p(void); +extern int utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n(void); +extern int utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p(void); +extern int utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n(void); +extern int utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p(void); +extern int utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n(void); extern int utc_media_webrtc_set_state_changed_cb_p(void); extern int utc_media_webrtc_set_state_changed_cb_n(void); extern int utc_media_webrtc_unset_state_changed_cb_p(void); @@ -360,6 +368,14 @@ testcase tc_array[] = { {"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_data_channel_get_buffered_amount_p",utc_media_webrtc_data_channel_get_buffered_amount_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_buffered_amount_n",utc_media_webrtc_data_channel_get_buffered_amount_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p",utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n",utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p",utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n",utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p",utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n",utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n,NULL,NULL}, {"utc_media_webrtc_set_state_changed_cb_p",utc_media_webrtc_set_state_changed_cb_p,NULL,NULL}, {"utc_media_webrtc_set_state_changed_cb_n",utc_media_webrtc_set_state_changed_cb_n,NULL,NULL}, {"utc_media_webrtc_unset_state_changed_cb_p",utc_media_webrtc_unset_state_changed_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 df3a1a467..635c7d420 100644 --- a/src/utc/webrtc/tct-webrtc-core_tizeniot.h +++ b/src/utc/webrtc/tct-webrtc-core_tizeniot.h @@ -156,6 +156,14 @@ 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_data_channel_get_buffered_amount_p(void); +extern int utc_media_webrtc_data_channel_get_buffered_amount_n(void); +extern int utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p(void); +extern int utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n(void); +extern int utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p(void); +extern int utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n(void); +extern int utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p(void); +extern int utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n(void); extern int utc_media_webrtc_set_state_changed_cb_p(void); extern int utc_media_webrtc_set_state_changed_cb_n(void); extern int utc_media_webrtc_unset_state_changed_cb_p(void); @@ -360,6 +368,14 @@ testcase tc_array[] = { {"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_data_channel_get_buffered_amount_p",utc_media_webrtc_data_channel_get_buffered_amount_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_buffered_amount_n",utc_media_webrtc_data_channel_get_buffered_amount_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p",utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n",utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p",utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n",utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p",utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n",utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n,NULL,NULL}, {"utc_media_webrtc_set_state_changed_cb_p",utc_media_webrtc_set_state_changed_cb_p,NULL,NULL}, {"utc_media_webrtc_set_state_changed_cb_n",utc_media_webrtc_set_state_changed_cb_n,NULL,NULL}, {"utc_media_webrtc_unset_state_changed_cb_p",utc_media_webrtc_unset_state_changed_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 df3a1a467..635c7d420 100644 --- a/src/utc/webrtc/tct-webrtc-core_tv.h +++ b/src/utc/webrtc/tct-webrtc-core_tv.h @@ -156,6 +156,14 @@ 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_data_channel_get_buffered_amount_p(void); +extern int utc_media_webrtc_data_channel_get_buffered_amount_n(void); +extern int utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p(void); +extern int utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n(void); +extern int utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p(void); +extern int utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n(void); +extern int utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p(void); +extern int utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n(void); extern int utc_media_webrtc_set_state_changed_cb_p(void); extern int utc_media_webrtc_set_state_changed_cb_n(void); extern int utc_media_webrtc_unset_state_changed_cb_p(void); @@ -360,6 +368,14 @@ testcase tc_array[] = { {"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_data_channel_get_buffered_amount_p",utc_media_webrtc_data_channel_get_buffered_amount_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_buffered_amount_n",utc_media_webrtc_data_channel_get_buffered_amount_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p",utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n",utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p",utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n",utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p",utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n",utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n,NULL,NULL}, {"utc_media_webrtc_set_state_changed_cb_p",utc_media_webrtc_set_state_changed_cb_p,NULL,NULL}, {"utc_media_webrtc_set_state_changed_cb_n",utc_media_webrtc_set_state_changed_cb_n,NULL,NULL}, {"utc_media_webrtc_unset_state_changed_cb_p",utc_media_webrtc_unset_state_changed_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 df3a1a467..635c7d420 100644 --- a/src/utc/webrtc/tct-webrtc-core_wearable.h +++ b/src/utc/webrtc/tct-webrtc-core_wearable.h @@ -156,6 +156,14 @@ 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_data_channel_get_buffered_amount_p(void); +extern int utc_media_webrtc_data_channel_get_buffered_amount_n(void); +extern int utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p(void); +extern int utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n(void); +extern int utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p(void); +extern int utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n(void); +extern int utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p(void); +extern int utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n(void); extern int utc_media_webrtc_set_state_changed_cb_p(void); extern int utc_media_webrtc_set_state_changed_cb_n(void); extern int utc_media_webrtc_unset_state_changed_cb_p(void); @@ -360,6 +368,14 @@ testcase tc_array[] = { {"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_data_channel_get_buffered_amount_p",utc_media_webrtc_data_channel_get_buffered_amount_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_buffered_amount_n",utc_media_webrtc_data_channel_get_buffered_amount_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p",utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n",utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p",utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n",utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n,NULL,NULL}, + {"utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p",utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p,NULL,NULL}, + {"utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n",utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n,NULL,NULL}, {"utc_media_webrtc_set_state_changed_cb_p",utc_media_webrtc_set_state_changed_cb_p,NULL,NULL}, {"utc_media_webrtc_set_state_changed_cb_n",utc_media_webrtc_set_state_changed_cb_n,NULL,NULL}, {"utc_media_webrtc_unset_state_changed_cb_p",utc_media_webrtc_unset_state_changed_cb_p,NULL,NULL}, diff --git a/src/utc/webrtc/utc-media-webrtc.c b/src/utc/webrtc/utc-media-webrtc.c index 629c9d035..1fd01803d 100644 --- a/src/utc/webrtc/utc-media-webrtc.c +++ b/src/utc/webrtc/utc-media-webrtc.c @@ -31,7 +31,7 @@ #define TEST_DATA_CHANNEL_LABEL "test data channel" #define TEST_STRING_DATA "test string" #define TEST_BUFFER_SIZE 16 - +#define TEST_BUFFERED_AMOUNT_THRESHOLD 65535 static GMainLoop *g_mainloop = NULL; static int g_timeout_id = 0; static Evas_Object *g_win = NULL; @@ -143,6 +143,10 @@ static void __webrtc_session_description_created_cb(webrtc_h webrtc, const char __quit_mainloop(); } +static void __data_channel_buffered_amount_low_cb(webrtc_data_channel_h channel, void *user_data) +{ +} + /** * @function utc_media_webrtc_startup_create_win * @description Should be called before a test using a window @@ -4172,3 +4176,254 @@ int utc_media_webrtc_get_data_n(void) return 0; } + +/** + * @testcase utc_media_webrtc_data_channel_get_buffered_amount_p + * @since_tizen 7.0 + * @description Gets the number of bytes of data currently queued to be sent through the data channel\n + * - Create a webrtc handle\n + * - Create a data channel\n + * - Get buffered amount + */ +int utc_media_webrtc_data_channel_get_buffered_amount_p(void) +{ + int ret; + webrtc_h webrtc; + webrtc_data_channel_h channel; + unsigned int buffered_amount; + + 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: Buffered amount should be checked while sending data over the data channel. + * But, 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 API usage. */ + ret = webrtc_data_channel_get_buffered_amount(channel, &buffered_amount); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy_data_channel(channel); + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_data_channel_get_buffered_amount_n + * @since_tizen 7.0 + * @description Gets the number of bytes of data currently queued to be sent through the data channel\n + * - Create a webrtc handle\n + * - Create a data channel\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_data_channel_get_buffered_amount_n(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); + + ret = webrtc_data_channel_get_buffered_amount(channel, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy_data_channel(channel); + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_data_channel_set_buffered_amount_low_cb_p + * @since_tizen 7.0 + * @description Sets the threshold at which the buffered amount is considered low and callback function\n + * - Create a webrtc handle\n + * - Create a data channel\n + * - Set the threshold and callback + */ +int utc_media_webrtc_data_channel_set_buffered_amount_low_cb_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); + + ret = webrtc_data_channel_set_buffered_amount_low_cb(channel, TEST_BUFFERED_AMOUNT_THRESHOLD, __data_channel_buffered_amount_low_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy_data_channel(channel); + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n + * @since_tizen 7.0 + * @description Sets the threshold at which the buffered amount is considered low and callback function\n + * - Create a webrtc handle\n + * - Create a data channel\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_data_channel_set_buffered_amount_low_cb_n(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); + + ret = webrtc_data_channel_set_buffered_amount_low_cb(channel, TEST_BUFFERED_AMOUNT_THRESHOLD, NULL, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy_data_channel(channel); + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p + * @since_tizen 7.0 + * @description Gets the threshold at which the buffered amount is considered low\n + * - Create a webrtc handle\n + * - Create a data channel\n + * - Set the threshold and callback\n + * - Get the threshold + */ +int utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_p(void) +{ + int ret; + webrtc_h webrtc; + webrtc_data_channel_h channel; + unsigned int threshold; + + 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_set_buffered_amount_low_cb(channel, TEST_BUFFERED_AMOUNT_THRESHOLD, __data_channel_buffered_amount_low_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_data_channel_get_buffered_amount_low_threshold(channel, &threshold); + assert_eq(ret, WEBRTC_ERROR_NONE); + + assert_eq(threshold, TEST_BUFFERED_AMOUNT_THRESHOLD); + + webrtc_destroy_data_channel(channel); + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n + * @since_tizen 7.0 + * @description Gets the threshold at which the buffered amount is considered low\n + * - Create a webrtc handle\n + * - Create a data channel\n + * - Set the threshold and callback\n + * - Pass invalid parameter to get negative result + */ +int utc_media_webrtc_data_channel_get_buffered_amount_low_threshold_n(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); + + ret = webrtc_data_channel_set_buffered_amount_low_cb(channel, TEST_BUFFERED_AMOUNT_THRESHOLD, __data_channel_buffered_amount_low_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_data_channel_get_buffered_amount_low_threshold(channel, NULL); + assert_eq(ret, WEBRTC_ERROR_INVALID_PARAMETER); + + webrtc_destroy_data_channel(channel); + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_p + * @since_tizen 7.0 + * @description Unsets the data channel buffered amount low callback function\n + * - Create a webrtc handle\n + * - Create a data channel\n + * - Set the threshold and callback\n + * - Unset the callback + */ +int utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_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); + + ret = webrtc_data_channel_set_buffered_amount_low_cb(channel, TEST_BUFFERED_AMOUNT_THRESHOLD, __data_channel_buffered_amount_low_cb, NULL); + assert_eq(ret, WEBRTC_ERROR_NONE); + + ret = webrtc_data_channel_unset_buffered_amount_low_cb(channel); + assert_eq(ret, WEBRTC_ERROR_NONE); + + webrtc_destroy_data_channel(channel); + webrtc_destroy(webrtc); + + return 0; +} + +/** + * @testcase utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n + * @since_tizen 7.0 + * @description Unsets the data channel buffered amount low callback function\n + * - Create a webrtc handle\n + * - Create a data channel\n + * - Unset the callback without setting it to get negative result + */ +int utc_media_webrtc_data_channel_unset_buffered_amount_low_cb_n(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); + + ret = webrtc_data_channel_unset_buffered_amount_low_cb(channel); + assert_eq(ret, WEBRTC_ERROR_INVALID_OPERATION); + + webrtc_destroy_data_channel(channel); + webrtc_destroy(webrtc); + + return 0; +}