/**
* @brief Sets a STUN server URL.
* @since_tizen 6.5
- * @remarks Regarding STUN, refer to the RFC7064(https://tools.ietf.org/html/rfc7064).
+ * @remarks Regarding STUN, refer to the RFC7064(https://tools.ietf.org/html/rfc7064).\n
+ * #WEBRTC_ERROR_INVALID_STATE will no longer occur. (Since 9.0)
* @param[in] webrtc WebRTC handle
* @param[in] stun_server The STUN server URL of the form stun://host:port
* @return @c 0 on success,
* otherwise a negative error value
* @retval #WEBRTC_ERROR_NONE Successful
* @retval #WEBRTC_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #WEBRTC_ERROR_INVALID_STATE Invalid state
- * @pre @a webrtc state must be set to #WEBRTC_STATE_IDLE.
*/
int webrtc_set_stun_server(webrtc_h webrtc, const char *stun_server);
/**
* @brief Adds a TURN server URL.
* @since_tizen 6.5
- * @remarks Regarding TURN, refer to the RFC7065(https://tools.ietf.org/html/rfc7065).
+ * @remarks Regarding TURN, refer to the RFC7065(https://tools.ietf.org/html/rfc7065).\n
+ * #WEBRTC_ERROR_INVALID_STATE will no longer occur. (Since 9.0)
* @param[in] webrtc WebRTC handle
* @param[in] turn_server The TURN server URL of the form turn(s)://username:password@@host:port
* @return @c 0 on success,
* otherwise a negative error value
* @retval #WEBRTC_ERROR_NONE Successful
* @retval #WEBRTC_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #WEBRTC_ERROR_INVALID_STATE Invalid state
- * @pre @a webrtc state must be set to #WEBRTC_STATE_IDLE.
* @see webrtc_foreach_turn_server()
*/
int webrtc_add_turn_server(webrtc_h webrtc, const char *turn_server);
/**
* @brief Sets a bundle policy.
* @since_tizen 7.0
+ * @remarks #WEBRTC_ERROR_INVALID_STATE will no longer occur. (Since 9.0)
* @param[in] webrtc WebRTC handle
* @param[in] policy The bundle policy
* @return @c 0 on success,
* otherwise a negative error value
* @retval #WEBRTC_ERROR_NONE Successful
* @retval #WEBRTC_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #WEBRTC_ERROR_INVALID_STATE Invalid state
- * @pre @a webrtc state must be set to #WEBRTC_STATE_IDLE.
* @see webrtc_get_bundle_policy()
*/
int webrtc_set_bundle_policy(webrtc_h webrtc, webrtc_bundle_policy_e policy);
/**
* @brief Sets a ICE transport policy that represents which candidates the ICE Agent is allowed to use.
* @since_tizen 6.5
+ * @remarks #WEBRTC_ERROR_INVALID_STATE will no longer occur. (Since 9.0)
* @param[in] webrtc WebRTC handle
* @param[in] policy The ICE transport policy
* @return @c 0 on success,
* otherwise a negative error value
* @retval #WEBRTC_ERROR_NONE Successful
* @retval #WEBRTC_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #WEBRTC_ERROR_INVALID_STATE Invalid state
- * @pre @a webrtc state must be set to #WEBRTC_STATE_IDLE.
* @see webrtc_get_ice_transport_policy()
*/
int webrtc_set_ice_transport_policy(webrtc_h webrtc, webrtc_ice_transport_policy_e policy);
locker = g_mutex_locker_new(&_webrtc->mutex);
- RET_VAL_IF(_webrtc->state != WEBRTC_STATE_IDLE, WEBRTC_ERROR_INVALID_STATE, "the state should be IDLE");
-
if (!_stun_url_has_valid_prefix(stun_server))
return WEBRTC_ERROR_INVALID_PARAMETER;
locker = g_mutex_locker_new(&_webrtc->mutex);
- RET_VAL_IF(_webrtc->state != WEBRTC_STATE_IDLE, WEBRTC_ERROR_INVALID_STATE, "the state should be IDLE");
-
if (!(turn_url = _check_and_encode_turn_url(turn_server)))
return WEBRTC_ERROR_INVALID_PARAMETER;
locker = g_mutex_locker_new(&_webrtc->mutex);
- RET_VAL_IF(_webrtc->state != WEBRTC_STATE_IDLE, WEBRTC_ERROR_INVALID_STATE, "the state should be IDLE");
-
g_object_set(G_OBJECT(_webrtc->gst.webrtcbin), "bundle-policy", __bundle_policies[policy].gst_policy, NULL);
_webrtc->bundle_policy = policy;
locker = g_mutex_locker_new(&_webrtc->mutex);
- RET_VAL_IF(_webrtc->state != WEBRTC_STATE_IDLE, WEBRTC_ERROR_INVALID_STATE, "the state should be IDLE");
-
g_object_set(G_OBJECT(_webrtc->gst.webrtcbin), "ice-transport-policy", (GstWebRTCICETransportPolicy)policy, NULL);
LOG_INFO("webrtc[%p] policy[%s]", webrtc, (policy == WEBRTC_ICE_TRANSPORT_POLICY_ALL) ? "all" : "relay");