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
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);
{"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},
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);
{"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},
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);
{"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},
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);
{"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},
#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;
__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
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;
+}