Remove state constraint on functions for configuration 50/308950/1
authorSangchul Lee <sc11.lee@samsung.com>
Wed, 3 Apr 2024 02:01:33 +0000 (11:01 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Wed, 3 Apr 2024 02:04:09 +0000 (11:04 +0900)
Functions below are revised.
 : webrtc_set_stun_server()
 : webrtc_add_turn_server()
 : webrtc_set_bundle_policy()
 : webrtc_set_ice_transport_policy()

[Version] 1.0.3
[Issue Type] Release state constraint

Change-Id: I8235391d57ec42d2886aeba2fcbdc511f7a7628d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
include/webrtc.h
packaging/capi-media-webrtc.spec
src/webrtc.c

index cc19922d9028d4aebf006ad97641a702c845276c..875c1404bfb63ddce60cba4bad621f2085b73f34 100644 (file)
@@ -1992,15 +1992,14 @@ int webrtc_media_source_unset_video_loopback(webrtc_h webrtc, unsigned int sourc
 /**
  * @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);
 
@@ -2020,15 +2019,14 @@ int webrtc_get_stun_server(webrtc_h webrtc, 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);
@@ -2051,14 +2049,13 @@ int webrtc_foreach_turn_server(webrtc_h webrtc, webrtc_turn_server_cb callback,
 /**
  * @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);
@@ -2080,14 +2077,13 @@ int webrtc_get_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);
index 3c7b3b9c488db9d588984a7093bdde2f1313c5da..50f31ac28f9f8c5d074c5978e33b12663c9b6ff6 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-webrtc
 Summary:    A WebRTC library in Tizen Native API
-Version:    1.0.2
+Version:    1.0.3
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 11ba7199cc20b497673b394f7a1440f3f08799f2..5f444bfeb3453d2d1a048974156199f4e45e0b2e 100644 (file)
@@ -1067,8 +1067,6 @@ int webrtc_set_stun_server(webrtc_h webrtc, const char *stun_server)
 
        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;
 
@@ -1119,8 +1117,6 @@ int webrtc_add_turn_server(webrtc_h webrtc, const char *turn_server)
 
        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;
 
@@ -1175,8 +1171,6 @@ int webrtc_set_bundle_policy(webrtc_h webrtc, webrtc_bundle_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");
-
        g_object_set(G_OBJECT(_webrtc->gst.webrtcbin), "bundle-policy", __bundle_policies[policy].gst_policy, NULL);
 
        _webrtc->bundle_policy = policy;
@@ -1214,8 +1208,6 @@ int webrtc_set_ice_transport_policy(webrtc_h webrtc, webrtc_ice_transport_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");