From: Sangchul Lee Date: Tue, 29 Jun 2021 07:58:22 +0000 (+0900) Subject: Add webrtc_doc.h file X-Git-Tag: submit/tizen/20210729.023123~28 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F77%2F260577%2F5;p=platform%2Fcore%2Fapi%2Fwebrtc.git Add webrtc_doc.h file [Version] 0.2.32 [Issue Type] Doxygen Change-Id: I2aa0f8384f92ee2bdb366b817a10c9e1526ab2e1 Signed-off-by: Sangchul Lee --- diff --git a/doc/webrtc_doc.h b/doc/webrtc_doc.h new file mode 100644 index 00000000..438a9152 --- /dev/null +++ b/doc/webrtc_doc.h @@ -0,0 +1,238 @@ +/* + * Copyright (c) 2021 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +#ifndef __TIZEN_MEDIA_WEBRTC_DOC_H__ +#define __TIZEN_MEDIA_WEBRTC_DOC_H__ + + +/** + * @file webrtc_doc.h + * @brief This file contains high level documentation of the WebRTC API. + */ + +/** + * @ingroup CAPI_MEDIA_FRAMEWORK + * @defgroup CAPI_MEDIA_WEBRTC_MODULE WebRTC + * @brief The @ref CAPI_MEDIA_WEBRTC_MODULE API provides functions for real-time communication between peers. + * + * @section CAPI_MEDIA_WEBRTC_MODULE_HEADER Required Header + * \#include + * + * @section CAPI_MEDIA_WEBRTC_OVERVIEW Overview + * The WebRTC API provides functions to communicate with the remote peer using multimedia sources and generic data. + * The multimedia sources include audio/video stream from microphone, camera or media file. + * This API set allows you to: + * - add/remove/mute/pause the media source + * - create/destroy data channel and send/receive data via the channel + * - set display surface to render the received video data + * - start/stop the state of the handle + * - make negotiation with the remote peer + * - query the various states of the handle including session negotiation + * - get notified various states changes via callbacks + * + * @subsection CAPI_MEDIA_WEBRTC_LIFE_CYCLE_STATE_TRANSITIONS State Transitions + *
+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
FUNCTIONPRE-STATEPOST-STATESYNC TYPE
webrtc_create() NONE IDLE SYNC
webrtc_destroy() IDLE/NEGOTIATING/PLAYING NONE SYNC
webrtc_start() IDLE NEGOTIATING ASYNC
webrtc_stop() NEGOTIATING/PLAYING IDLE SYNC
webrtc_set_remote_description() NEGOTIATING PLAYING* ASYNC
webrtc_set_local_description() NEGOTIATING PLAYING* ASYNC
webrtc_add_ice_candidate() NEGOTIATING PLAYING* ASYNC
+ * + * (*) The transition from the NEGOTIATING state to the PLAYING state will be processed after finishing all the negotiation. \n + * + * @subsection CAPI_MEDIA_WEBRTC_LIFE_CYCLE_CALLBACK_OPERATIONS Callback(Event) Operations + * The callback mechanism is used to notify the application about significant webrtc events. + *
+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
REGISTERUNREGISTERCALLBACKDESCRIPTION
webrtc_set_state_changed_cb()webrtc_unset_state_changed_cb()webrtc_state_changed_cb()This callback is used to notify that the WebRTC state has changed
webrtc_set_error_cb()webrtc_unset_error_cb()webrtc_error_cb()This callback is used to notify that an error has occurred
webrtc_set_negotiation_needed_cb()webrtc_unset_negotiation_needed_cb()webrtc_negotiation_needed_cb()This callback is used to notify that the WebRTC requires session negotiation
webrtc_set_peer_connection_state_change_cb()webrtc_unset_peer_connection_state_change_cb()webrtc_peer_connection_state_change_cb()This callback is used to notify that the WebRTC peer connection state has changed
webrtc_set_signaling_state_change_cb()webrtc_unset_signaling_state_change_cb()webrtc_signaling_state_change_cb()This callback is used to notify that the WebRTC signaling state has changed
webrtc_set_ice_gathering_state_change_cb()webrtc_unset_ice_gathering_state_change_cb()webrtc_ice_gathering_state_change_cb()This callback is used to notify that the WebRTC ICE gathering state has changed
webrtc_set_ice_connection_state_change_cb()webrtc_unset_ice_connection_state_change_cb()webrtc_ice_connection_state_change_cb()This callback is used to notify that the WebRTC ICE connection state has changed
+ * + * @subsection CAPI_MEDIA_WEBRTC_FOREACH_OPERATIONS Foreach Operations + *
+ * + * + * + * + * + * + * + * + * + * + *
FOREACHCALLBACKDESCRIPTION
webrtc_foreach_turn_server()webrtc_turn_server_cb()It retrieves the added TURN server one by one
+ * + * @section CAPI_MEDIA_WEBRTC_MODULE_FEATURE Related Features + * This API is related with the following features:\n + * - %http://tizen.org/feature/network.wifi\n + * - %http://tizen.org/feature/network.telephony\n + * - %http://tizen.org/feature/network.ethernet\n + * + * It is recommended to design feature related codes in your application for reliability.\n + * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n + * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n + * More details on featuring your application can be found from Feature Element. + * + */ + +/** + * @ingroup CAPI_MEDIA_WEBRTC_MODULE + * @defgroup CAPI_MEDIA_WEBRTC_MEDIA_SOURCE_MODULE Media Source + * @brief The @ref CAPI_MEDIA_WEBRTC_MEDIA_SOURCE_MODULE API provides functions to manage media sources to send to the remote peer. + * @section CAPI_MEDIA_WEBRTC_MEDIA_SOURCE_MODULE_HEADER Required Header + * \#include + * + * @section CAPI_MEDIA_WEBRTC_MEDIA_SOURCE_MODULE_OVERVIEW Overview + * The WebRTC Media Source API allows you to: + * - add/remove the media source (audiotest, videotest, mic, camera, screen, media file, media packet) + * - pause/mute the media source + * - get/set the transceiver direction to the media source (sendrecv, sendonly, recvonly) + * - set/get the video resolution of the media source + * - push a media packet in case of the media packet source + * + * @section CAPI_MEDIA_WEBRTC_MEDIA_SOURCE_MODULE_FEATURE Related Features + * This API is related with the following features:\n + * - %http://tizen.org/feature/microphone\n + * - %http://tizen.org/feature/camera + * + * It is recommended to design feature related codes in your application for reliability.\n + * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n + * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n + * More details on featuring your application can be found from Feature Element. + * +*/ + +/** + * @ingroup CAPI_MEDIA_WEBRTC_MODULE + * @defgroup CAPI_MEDIA_WEBRTC_MEDIA_RENDER_MODULE Media Render + * @brief The @ref CAPI_MEDIA_WEBRTC_MEDIA_RENDER_MODULE API provides functions to render audio or video stream received from the remote peer. + * @section CAPI_MEDIA_WEBRTC_MEDIA_RENDER_MODULE_HEADER Required Header + * \#include + * + * @section CAPI_MEDIA_WEBRTC_MEDIA_RENDER_MODULE_OVERVIEW Overview + * The WebRTC Media Render API allows you to: + * - set a sound policy including routing and volume to the audio stream received from the remote peer + * - set a display type and a surface to render the video stream received from the remote peer + * - choose not to render the audio or video stream itself but forward it via the callback function with media packet. + * +*/ + +/** + * @ingroup CAPI_MEDIA_WEBRTC_MODULE + * @defgroup CAPI_MEDIA_WEBRTC_DATA_CHANNEL_MODULE Data Channel + * @brief The @ref CAPI_MEDIA_WEBRTC_DATA_CHANNEL_MODULE API provides functions to manage data channels. + * @section CAPI_MEDIA_WEBRTC_DATA_CHANNEL_MODULE_HEADER Required Header + * \#include + * + * @section CAPI_MEDIA_WEBRTC_DATA_CHANNEL_MODULE_OVERVIEW Overview + * The WebRTC Data Channel API allows you to: + * - create/destroy the data channel + * - send/receive bytes or string data to/from the data channel + * - get notified various states of the data channel + * +*/ + +#endif /* __TIZEN_MEDIA_WEBRTC_DOC_H__ */ diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index 527ce3ab..6df9b698 100644 --- a/packaging/capi-media-webrtc.spec +++ b/packaging/capi-media-webrtc.spec @@ -1,6 +1,6 @@ Name: capi-media-webrtc Summary: A WebRTC library in Tizen Native API -Version: 0.2.31 +Version: 0.2.32 Release: 0 Group: Multimedia/API License: Apache-2.0