/**
* @brief Enumeration for WebRTC state.
+ * @details See \ref CAPI_MEDIA_WEBRTC_LIFE_CYCLE_STATE_TRANSITIONS.
* @since_tizen 6.5
*/
typedef enum {
/**
* @brief Enumeration for WebRTC peer connection state.
* @since_tizen 6.5
+ * @remarks It corresponds with the RTCPeerConnectionState enum described in https://www.w3.org/TR/webrtc/#rtcpeerconnectionstate-enum.
*/
typedef enum {
WEBRTC_PEER_CONNECTION_STATE_NEW, /**< New */
/**
* @brief Enumeration for WebRTC signaling state.
* @since_tizen 6.5
+ * @remarks It corresponds with the RTCSignalingState enum described in https://www.w3.org/TR/webrtc/#rtcsignalingstate-enum.
*/
typedef enum {
WEBRTC_SIGNALING_STATE_STABLE, /**< Stable */
/**
* @brief Enumeration for WebRTC ICE gathering state.
* @since_tizen 6.5
+ * @remarks It corresponds with the RTCIceGatheringState enum described in https://www.w3.org/TR/webrtc/#rtcicegatheringstate-enum.
*/
typedef enum {
WEBRTC_ICE_GATHERING_STATE_NEW, /**< New */
/**
* @brief Enumeration for WebRTC ICE connection state.
* @since_tizen 6.5
+ * @remarks It corresponds with the RTCIceConnectionState enum described in https://www.w3.org/TR/webrtc/#rtciceconnectionstate-enum.
*/
typedef enum {
WEBRTC_ICE_CONNECTION_STATE_NEW, /**< New */
/**
* @brief Enumeration for WebRTC ICE transport policy.
* @since_tizen 6.5
+ * @remarks It corresponds with the RTCIceTransportPolicy enum described in https://www.w3.org/TR/webrtc/#rtcicetransportpolicy-enum.
*/
typedef enum {
WEBRTC_ICE_TRANSPORT_POLICY_ALL, /**< All */
/**
* @brief WebRTC display handle type.
* @since_tizen 6.5
+ * @remarks The pointer of this handle can be obtained from EFL UI API.\n
+ * For example, in case of #WEBRTC_DISPLAY_TYPE_OVERLAY, elm_win_add() can be used to get the window handle.\n
+ * In case of #WEBRTC_DISPLAY_TYPE_EVAS, evas_object_image_add() can be used to get the renderable image handle.\n
+ * For more details, please refer to https://docs.tizen.org/application/native/guides/ui/efl/.
*/
typedef void *webrtc_display_h;
* @param[in] webrtc WebRTC handle
* @param[in] candidate The ICE candidate message
* @param[in] user_data The user data passed from the callback registration function
+ * @post @a candidate must be sent to the remote peer via the signaling channel.
* @see webrtc_set_ice_candidate_cb()
* @see webrtc_unset_ice_candidate_cb()
*/
* @remarks The @a channel is the same object for which the callback was set.\n
* The @a channel should not be released.\n
* When @a type is #WEBRTC_DATA_CHANNEL_TYPE_STRING, @a message should be casted to char pointer.\n
- * When @a type is #WEBRTC_DATA_CHANNEL_TYPE_BYTES, @a message should be casted to #webrtc_bytes_data_h.\n
+ * When @a type is #WEBRTC_DATA_CHANNEL_TYPE_BYTES, @a message should be casted to #webrtc_bytes_data_h.
* In this case, webrtc_get_data() can be used to get the data and its size inside of this callback.\n
* The @a message should not be released.
* @param[in] channel WebRTC data channel handle
* @since_tizen 6.5
* @privlevel public
* @privilege %http://tizen.org/privilege/internet
- * @remarks The @a webrtc should be released using webrtc_destroy().
+ * @remarks A signaling channel not addressed in this API should be established to send SDP or ICE candidate messages to each other.\n
+ * The @a webrtc should be released using webrtc_destroy().
* @param[out] webrtc WebRTC handle
* @return @c 0 on success,
* otherwise a negative error value
int webrtc_media_source_set_pause(webrtc_h webrtc, unsigned int source_id, webrtc_media_type_e media_type, bool pause);
/**
- * @brief Gets the pause of the media source.
+ * @brief Gets the pause state of the media source.
* @since_tizen 6.5
* @remarks The default value is @c false.
* @param[in] webrtc WebRTC handle
int webrtc_media_source_set_mute(webrtc_h webrtc, unsigned int source_id, webrtc_media_type_e media_type, bool mute);
/**
- * @brief Gets the mute of the media source.
+ * @brief Gets the mute state of the media source.
* @details If @a source_id is a media source of #WEBRTC_MEDIA_SOURCE_TYPE_FILE or #WEBRTC_MEDIA_SOURCE_TYPE_MEDIA_PACKET,
this function will return #WEBRTC_ERROR_INVALID_PARAMETER.
* @since_tizen 6.5
/**
* @brief Sets a video resolution to the media source.
- * @details The following media source types are for the video:\n
+ * @details The following media source types contain video:\n
* #WEBRTC_MEDIA_SOURCE_TYPE_VIDEOTEST\n
* #WEBRTC_MEDIA_SOURCE_TYPE_CAMERA\n
* #WEBRTC_MEDIA_SOURCE_TYPE_SCREEN
/**
* @brief Gets the video resolution of the media source.
- * @details The following media source types are for the video:\n
+ * @details The following media source types contain video:\n
* #WEBRTC_MEDIA_SOURCE_TYPE_VIDEOTEST\n
* #WEBRTC_MEDIA_SOURCE_TYPE_CAMERA\n
* #WEBRTC_MEDIA_SOURCE_TYPE_SCREEN
/**
* @brief Sets a STUN server URL.
* @since_tizen 6.5
+ * @remarks Regarding STUN, refer to the RFC7064(https://tools.ietf.org/html/rfc7064).
* @param[in] webrtc WebRTC handle
* @param[in] stun_server The STUN server URL
* @return @c 0 on success,
/**
* @brief Adds a TURN server URL.
* @since_tizen 6.5
+ * @remarks Regarding TURN, refer to the RFC7065(https://tools.ietf.org/html/rfc7065).
* @param[in] webrtc WebRTC handle
- * @param[in] turn_server The TURN server URL of the form turn(s)://username:password@host:port
+ * @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
/**
* @brief Sets a ICE transport policy that represents which candidates the ICE Agent is allowed to use.
* @since_tizen 6.5
- * @remarks The @a policy enum corresponds with the RTCIceTransportPolicy enum described in https://www.w3.org/TR/webrtc/#rtcicetransportpolicy-enum.\n
* @param[in] webrtc WebRTC handle
* @param[in] policy The ICE transport policy
* @return @c 0 on success,
/**
* @brief Gets the ICE transport policy.
* @since_tizen 6.5
- * @remarks The @a policy enum corresponds with the RTCIceTransportPolicy enum described in https://www.w3.org/TR/webrtc/#rtcicetransportpolicy-enum.\n
- * The default value is #WEBRTC_ICE_TRANSPORT_POLICY_ALL.
+ * @remarks The default value is #WEBRTC_ICE_TRANSPORT_POLICY_ALL.
* @param[in] webrtc WebRTC handle
* @param[out] policy The ICE transport policy
* @return @c 0 on success,
* @retval #WEBRTC_ERROR_INVALID_OPERATION Invalid operation
* @retval #WEBRTC_ERROR_INVALID_STATE Invalid state
* @pre @a webrtc state must be set to #WEBRTC_STATE_NEGOTIATING.
+ * @post @a offer must be set as a local description by calling webrtc_set_local_description()
+ * @post @a offer must be sent to the remote peer via the signaling channel.
* @see webrtc_state_changed_cb()
* @see webrtc_negotiation_needed_cb()
* @see webrtc_set_local_description()
* @pre @a webrtc state must be set to #WEBRTC_STATE_NEGOTIATING.
* @pre The remote SDP offer must be set by calling webrtc_set_remote_description().
* @pre The signaling state must be set to #WEBRTC_SIGNALING_STATE_HAVE_REMOTE_OFFER.
+ * @post @a answer must be set as a local description by calling webrtc_set_local_description()
+ * @post @a answer must be sent to the remote peer via the signaling channel.
* @see webrtc_set_remote_description()
* @see webrtc_set_local_description()
* @see webrtc_get_signaling_state()