platform/core/api/webrtc.git
4 years agowebrtc_private: Set bundle-policy to max-bundle 84/250684/5
Sangchul Lee [Thu, 31 Dec 2020 10:35:42 +0000 (19:35 +0900)]
webrtc_private: Set bundle-policy to max-bundle

[Version] 0.1.109
[Issue Type] Improvement

Change-Id: I49cf86977d7abb2574eaff77e951adc6e665aa5e
Signed-off-by: Sangchul Lee <sangchul1011@gmail.com>
4 years agowebrtc_source: Add missing unref call of the media format when an error occurs 92/253092/4
Sangchul Lee [Thu, 4 Feb 2021 09:47:39 +0000 (18:47 +0900)]
webrtc_source: Add missing unref call of the media format when an error occurs

[Version] 0.1.108
[Issue Type] Bug fix

Change-Id: I79fcbe483146e4463196588e30a27af6231afd0a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoApply network related features to webrtc_create() API 94/253094/4
Sangchul Lee [Thu, 4 Feb 2021 10:13:32 +0000 (19:13 +0900)]
Apply network related features to webrtc_create() API

One of features below must be supported to use this webrtc API set.
 - http://tizen.org/feature/network.wifi
 - http://tizen.org/feature/network.telephony
 - http://tizen.org/feature/network.ethernet

[Version] 0.1.107
[Issue Type] Feature

Change-Id: I9719036e4346f0f56919e4ebb6299c1676a3424c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc: Print warning log before overwriting user callback address 46/253146/2
Sangchul Lee [Thu, 4 Feb 2021 13:30:56 +0000 (22:30 +0900)]
webrtc: Print warning log before overwriting user callback address

[Version] 0.1.106
[Issue Type] Log

Change-Id: I80848724b4ef90ac1f1d357c166a5ac9a4a29017
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_sink: Add capsfilter to apply stream-format and alignment in case of H264... 56/253256/1
Sangchul Lee [Mon, 8 Feb 2021 04:09:21 +0000 (13:09 +0900)]
webrtc_sink: Add capsfilter to apply stream-format and alignment in case of H264/H265

In case of H264/H265 encoded frame callback, it is added to apply
'byte-stream' of stream format and 'au' of alignment, as default values.

[Version] 0.1.105
[Issue Type] Improvement

Change-Id: I352962743b714d3e45f4854faeb9984d357d304e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add test cases for encoded audio/video frame callback 03/252803/9
Sangchul Lee [Tue, 2 Feb 2021 10:11:42 +0000 (19:11 +0900)]
webrtc_test: Add test cases for encoded audio/video frame callback

[Version] 0.1.104
[Issue Type] Test application

Change-Id: Ide975cd7fc5e5abf1029e4f98b2c1cce12ad70d3
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set for encoded audio/video frame callback 52/252752/8
Sangchul Lee [Tue, 2 Feb 2021 06:26:10 +0000 (15:26 +0900)]
Add API set for encoded audio/video frame callback

Functions are added as below.
 - webrtc_set_encoded_audio_frame_cb()
 - webrtc_unset_encoded_audio_frame_cb()
 - webrtc_set_encoded_video_frame_cb()
 - webrtc_unset_encoded_video_frame_cb()

Callback prototype
 - typedef void (*webrtc_encoded_frame_cb)(webrtc_h webrtc,
                  webrtc_media_type_e type, unsigned int track_id,
                  media_packet_h packet, void *user_data)

[Version] 0.1.103
[Issue Type] API

Change-Id: I96c897f735a549fc84514b02727158b7e6892819
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_private/sink: Add forwarding sink to support the encoded frame callback 76/252576/8
Sangchul Lee [Fri, 29 Jan 2021 11:06:01 +0000 (20:06 +0900)]
webrtc_private/sink: Add forwarding sink to support the encoded frame callback

[Version] 0.1.102
[Issue Type] New feature

Change-Id: I680cd9c3e00df22fe0e98c6de1df427f9e4d2924
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add H264 test case for media packet source 69/252069/10
Sangchul Lee [Fri, 22 Jan 2021 08:12:15 +0000 (17:12 +0900)]
webrtc_test: Add H264 test case for media packet source

__DEBUG_VALIDATE_MEDIA_PACKET__ definition is added to test
the media packet for H264 encoded data only with local rendering
pipeline.

[Version] 0.1.101
[Issue Type] Test application

Change-Id: I8f3d4ffd9113ec61f1d224f9a43f7d6942591067
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Revise caps information of appsrc in case of H264 format 55/252355/7
Sangchul Lee [Wed, 27 Jan 2021 05:45:37 +0000 (14:45 +0900)]
webrtc_source: Revise caps information of appsrc in case of H264 format

To make negotiation with incoming media packet source of H264 byte stream data
caps information set to appsrc is revised.

[Version] 0.1.100
[Issue Type] Improvement

Change-Id: I0a95e4f5bdb1a02e195095ce1b862409fd65c64d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Remove H263-related codes 98/252498/4
Sangchul Lee [Thu, 28 Jan 2021 09:57:33 +0000 (18:57 +0900)]
webrtc_source: Remove H263-related codes

These will not be used.

[Version] 0.1.99
[Issue Type] Clean-up

Change-Id: Idac647008161b5d7ea95e9c499b7eea7e9e34976
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoApply camera/microphone feature to webrtc_add_media_source() API 97/252497/4
Sangchul Lee [Thu, 28 Jan 2021 09:44:10 +0000 (18:44 +0900)]
Apply camera/microphone feature to webrtc_add_media_source() API

For WEBRTC_MEDIA_SOURCE_TYPE_CAMERA type
  feature: http://tizen.org/feature/camera

For WEBRTC_MEDIA_SOURCE_TYPE_MIC type
  feature: http://tizen.org/feature/microphone

[Version] 0.1.98
[Issue Type] Feature

Change-Id: Ife9d500d3c2ee743aa133a21134105429f5f0c61
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_restriction: Add function to check feature 96/252496/3
Sangchul Lee [Thu, 28 Jan 2021 09:09:10 +0000 (18:09 +0900)]
webrtc_restriction: Add function to check feature

RET_ERR_IF_FEATURE_IS_NOT_SUPPORTED macro is also added in
webrtc_private.h.

[Version] 0.1.97
[Issue Type] Feature

Change-Id: I6b154da971830d2392fe691370fe88ec88afddfc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add test cases to use signaling server/client API 84/251584/13
Sangchul Lee [Fri, 15 Jan 2021 09:26:32 +0000 (18:26 +0900)]
webrtc_test: Add test cases to use signaling server/client API

[Version] 0.1.96
[Issue Type] Test application

Change-Id: I72388c8c15babfbec032ca85b956c0c29031480a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_signaling_client: Parse message and forward it to user callback 72/251572/14
Sangchul Lee [Fri, 15 Jan 2021 04:52:39 +0000 (13:52 +0900)]
webrtc_signaling_client: Parse message and forward it to user callback

A condition to allow only SDP or ICE candidate message is also added
in webrtc_signaling_send_message().

[Version] 0.1.95
[Issue Type] Implementation

Change-Id: Ia5c4de309c25825b5b94d81f0ecc30ed848255c1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_signaling_client: Add internal API set for client of signaling server 51/251251/22
Sangchul Lee [Tue, 12 Jan 2021 03:53:06 +0000 (12:53 +0900)]
webrtc_signaling_client: Add internal API set for client of signaling server

Functions are added as below.
 - webrtc_signaling_connect()
 - webrtc_signaling_request_session()
 - webrtc_signaling_send_message()
 - webrtc_signaling_get_id()
 - webrtc_signaling_disconnect()

[Version] 0.1.94
[Issue Type] API

Change-Id: I95fe182d70cb6f255abee96a7e99793b3777a269
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_signaling_server: Handle received SDP or ICE candidate message 76/251576/14
Sangchul Lee [Fri, 15 Jan 2021 07:01:07 +0000 (16:01 +0900)]
webrtc_signaling_server: Handle received SDP or ICE candidate message

[Version] 0.1.93
[Issue Type] Implementation

Change-Id: Ic265706a4c6fbec017444ad35178bdc7850d7441
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_signaling_server: Handle request session message 43/251443/17
Sangchul Lee [Thu, 14 Jan 2021 00:42:25 +0000 (09:42 +0900)]
webrtc_signaling_server: Handle request session message

Codes in LWS_CALLBACK_ESTABLISHED case are also revised
with new function.

[Version] 0.1.92
[Issue Type] Implementation

Change-Id: I710cd45fe1bdbc1c76c2a14f98f6990fddffe04c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_signaling_server: Assign new id to incoming client 21/251421/13
Sangchul Lee [Wed, 13 Jan 2021 10:41:19 +0000 (19:41 +0900)]
webrtc_signaling_server: Assign new id to incoming client

[Version] 0.1.91
[Issue Type] Implementation

Change-Id: Ia16f762883f232fab937ee3fb2c055f2f1102a7b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_signaling_server: Add internal API set for signaling server 24/251224/16
Sangchul Lee [Mon, 11 Jan 2021 12:10:28 +0000 (21:10 +0900)]
webrtc_signaling_server: Add internal API set for signaling server

This signaling server is only for private network.
Handling messages between server and client will be added with
following patches.

Functions are adde as below.
 - webrtc_signaling_server_create()
 - webrtc_signaling_server_start()
 - webrtc_signaling_server_stop()
 - webrtc_signaling_server_destroy()

[Version] 0.1.90
[Issue Type] API

Change-Id: I7719cacb9bcb1a0639b0e425067beba5fcb4a881
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoApply h/w resource management 19/251219/29
Hyunil [Mon, 11 Jan 2021 10:26:44 +0000 (19:26 +0900)]
Apply h/w resource management

- In case of TV profile, functions are disabled.

[Version] 0.1.89
[Issue Type] New feature

Change-Id: Ida0e5049b667c2cb14756d03dae25d9d757178bf
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
4 years agoApply camera/recoder privilege to webrtc_add_media_source() API 35/252035/3
Sangchul Lee [Fri, 22 Jan 2021 03:20:09 +0000 (12:20 +0900)]
Apply camera/recoder privilege to webrtc_add_media_source() API

For WEBRTC_MEDIA_SOURCE_TYPE_CAMERA type
  privilege: http://tizen.org/privilege/camera
  privilege level: public

For WEBRTC_MEDIA_SOURCE_TYPE_MIC type
  privilege: http://tizen.org/privilege/recorder
  privilege level: public

[Version] 0.1.88
[Issue Type] Privilege

Change-Id: Idc91e92e73807e44678e795f34ff951b9ed57822
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoApply internet privilege to webrtc_create() API 04/252004/4
Sangchul Lee [Thu, 21 Jan 2021 11:53:32 +0000 (20:53 +0900)]
Apply internet privilege to webrtc_create() API

privilege: http://tizen.org/privilege/internet
privilege level: public

[Version] 0.1.87
[Issue Type] Privilege

Change-Id: I31a0015e206a7e27534960c387b3d4e16d2add8d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd support for checking privilege 03/252003/3
Sangchul Lee [Thu, 21 Jan 2021 11:07:33 +0000 (20:07 +0900)]
Add support for checking privilege

webrtc_restriction.c file is added.
Function and macro to check the privilege are added.

[Version] 0.1.86
[Issue Type] New feature

Change-Id: I492cdd743330d7a82c3979318089e9ed3777e973
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc: Improve description 87/251987/4
Sangchul Lee [Thu, 21 Jan 2021 08:19:36 +0000 (17:19 +0900)]
webrtc: Improve description

Fix wrong sentence in webrtc_start().

Add precondition to webrtc_set_transceiver_direction() and
webrtc_get_transceiver_direction().

[Version] 0.1.85
[Issue Type] Doxygen

Change-Id: Ibf3fe67f43c09b1324088ece4d616892de4fccb0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Postpone the link timing in case of media packet source 72/251872/5
Sangchul Lee [Wed, 20 Jan 2021 07:34:35 +0000 (16:34 +0900)]
webrtc_source: Postpone the link timing in case of media packet source

These is an issue that could not set transceiver direction to media
packet source. In case of media packet source, the media type is
determined when setting the format of the source by API. It affects
this issue because the media type which is not set yet is used inside
of the new transceiver callback triggered by reqeust pad to the webrtcbin
to link with the source.

This patch postphones the link timing including trigger of new transceiver
callback to avoid the fault.

[Version] 0.1.84
[Issue Type] Bug fix

Change-Id: I65c0d45703f825e3d200caf1b9aa739d4e442e22
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_websocket: Add support for websocket service 18/251218/12
Sangchul Lee [Mon, 11 Jan 2021 10:03:00 +0000 (19:03 +0900)]
webrtc_websocket: Add support for websocket service

These internal API set will be called by the signaling server
added by patches coming up next.

[Version] 0.1.83
[Issue Type] New feature

Change-Id: I9f047750aa36bbaa67625ac440de73f157c7aaa9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_sink: Skip element when auto-plugging if it is in the excluded list 62/251362/7
Sangchul Lee [Wed, 13 Jan 2021 05:13:08 +0000 (14:13 +0900)]
webrtc_sink: Skip element when auto-plugging if it is in the excluded list

[Version] 0.1.82
[Issue Type] New feature

Change-Id: Ia051348d59944b0e7150399c2373678723abf083
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_sink: Add more conditions to skip hw plugin 58/251258/2
Sangchul Lee [Tue, 12 Jan 2021 04:27:28 +0000 (13:27 +0900)]
webrtc_sink: Add more conditions to skip hw plugin

Ideally, klass metadata of hw element has the suffix of 'Hardware'.
But many cases are found without the suffix.

This patch responds to that case.

[Version] 0.1.81
[Issue Type] Improvement

Change-Id: Ib1d6a2863f1afac0fff7af7ff803c22b98f213d3
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Fix crash by adding null checking code 34/251234/3
Sangchul Lee [Mon, 11 Jan 2021 23:14:04 +0000 (08:14 +0900)]
webrtc_test: Fix crash by adding null checking code

It happended when the stun_server is NULL.

[Version] 0.1.80
[Issue Type] Bug fix

Change-Id: Icd42e710ae171afd2689e67623c6b4d45b5d78f4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_private: Have internal states in handle 19/251019/2
Sangchul Lee [Thu, 7 Jan 2021 02:47:46 +0000 (11:47 +0900)]
webrtc_private: Have internal states in handle

Signaling state, peer connection state, ice connection state and
ice gathering state are defined as internal state.
The last states of those are kept in webrtc handle.

[Version] 0.1.79
[Issue Type] Improvement

Change-Id: I89b4ac5306ea6e111640199dc5f62989f35e3b41
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Use gst_audio_info_* functions of gst-plugins-base 72/250772/4
Sangchul Lee [Mon, 4 Jan 2021 10:31:35 +0000 (19:31 +0900)]
webrtc_source: Use gst_audio_info_* functions of gst-plugins-base

gst_audio_info_set_format() and gst_audio_info_to_caps() are
used to make caps for raw media format.

[Version] 0.1.78
[Issue Type] Improvement

Change-Id: I1dd2aa407a2d5f6627c1856d83a992154a746954
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add test cases for media packet source 80/250680/6
Sangchul Lee [Thu, 31 Dec 2020 08:36:48 +0000 (17:36 +0900)]
webrtc_test: Add test cases for media packet source

Menu items are added as below.
 a. 5:media packet
 sf. Set media format to media packet source
 sm. Set media packet source buffer state changed callback
 um. Unset media packet source buffer state changed callback
 sp. Start pushing packet to media packet source
 tp. Stop pushing packet to media packet source

[Version] 0.1.77
[Issue Type] Test application

Change-Id: I2ca228d956418268d7810a3e34a50f75fc37b41f
Signed-off-by: Sangchul Lee <sangchul1011@gmail.com>
4 years agoAdd new API set for media packet source 15/249715/12
Sangchul Lee [Wed, 16 Dec 2020 08:30:18 +0000 (17:30 +0900)]
Add new API set for media packet source

Enumeration is added as below.
 - WEBRTC_MEDIA_PACKET_SOURCE_BUFFER_STATE_UNDERFLOW
 - WEBRTC_MEDIA_PACKET_SOURCE_BUFFER_STATE_OVERFLOW

Functions are added as below.
 - webrtc_media_packet_source_set_format()
 - webrtc_media_packet_source_push_packet()
 - webrtc_media_packet_source_set_buffer_state_changed_cb()
 - webrtc_media_packet_source_unset_buffer_state_changed_cb()

[Version] 0.1.76
[Issue Type] API

Change-Id: Idca077c8f1e933ef1a79828a0cf00a8f07c936ae
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Add support for media packet of encoded format 14/249714/10
Sangchul Lee [Wed, 16 Dec 2020 08:14:03 +0000 (17:14 +0900)]
webrtc_source: Add support for media packet of encoded format

Limited types of encoded format can be used with media packet
for the media packet type source pipeline.

[Version] 0.1.75
[Issue Type] New feature

Change-Id: I82400178ad34ead3e78321207af97ee258d63c3d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd support for media packet source pipeline 96/249696/8
Sangchul Lee [Wed, 16 Dec 2020 07:16:57 +0000 (16:16 +0900)]
Add support for media packet source pipeline

The appsrc element is used to build this new type of media source
pipeline. A buffer packetizing by media packet API will be able to
be pushed to this new source pipeline with further patches.

In this patch, only limited types of raw format are supported to make
the new media source pipeline.

[Version] 0.1.74
[Issue Type] New feature

Change-Id: I44b207010df183ca350f763187e6aca063f98f42
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd system setting to use ULPFEC and RED 84/250384/13
Hyunil [Thu, 24 Dec 2020 04:47:47 +0000 (13:47 +0900)]
Add system setting to use ULPFEC and RED

- ULPFEC: Generic Forward Error Correction(FEC) using
          Uneven Level Protection(ULP) as described in
          RFC 5109(https://tools.ietf.org/html/rfc5109)
- RED: Encoded Redundant Audio Data (RED) as per
       RFC 2198(https://tools.ietf.org/html/rfc2198)
- Apply only to video with a large amount of RTP packet such as Chrome

[Version] 0.1.73
[Issue Type] New feature

Change-Id: If3fce2c16a626c1d4196a25209d9670396a9bb77
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
4 years agowebrtc_display: Use mm_display_interface_set_display_mainloop_sync() 29/249529/2
Sangchul Lee [Mon, 14 Dec 2020 10:20:08 +0000 (19:20 +0900)]
webrtc_display: Use mm_display_interface_set_display_mainloop_sync()

It is changed to use the new function of mm-display instead of calling
mm_display_interface_set_display() in default context by invoking
g_main_context_invoke().

It is updated by following new patch of mm-display.
 : https://review.tizen.org/gerrit/#/c/platform/core/multimedia/libmm-display/+/249487/

[Version] 0.1.72
[Issue Type] Improvement

Change-Id: I2616bedefd19cac90d6a9450e3c4ab37f7b74fbd
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_display: Remove unused out-parameter 99/249499/3
Sangchul Lee [Mon, 14 Dec 2020 06:38:18 +0000 (15:38 +0900)]
webrtc_display: Remove unused out-parameter

This out-parameter was not filled with the mm-display function.
It is updated by following new patch of mm-display.
 : https://review.tizen.org/gerrit/#/c/platform/core/multimedia/libmm-display/+/249087/

[Version] 0.1.71
[Issue Type] Improvement

Change-Id: Icb69cb49d5797cb59fc7f1a653d2ba243df133d7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agofixup! Add webrtc_set_display() API 96/249496/4
Sangchul Lee [Mon, 14 Dec 2020 05:46:29 +0000 (14:46 +0900)]
fixup! Add webrtc_set_display() API

Change-Id: I7f1012eef50700f2aaf556576cd6f988f17caa1a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_display: Improve codes regarding applying display in default context 56/249256/2
Sangchul Lee [Wed, 9 Dec 2020 08:37:07 +0000 (17:37 +0900)]
webrtc_display: Improve codes regarding applying display in default context

Use g_main_context_invoke() instead of g_idle_add() to call the callback
function directly if the context is owned by caller.
Use g_idle_remove_by_data() to remove the idle function that might remain.

[Version] 0.1.70
[Issue Type] Improvement

Change-Id: I089c3cc876f55330050f532719d391a0181d07dc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_internal: Add webrtc_set_ecore_wl_display() API 11/249111/6
Sangchul Lee [Mon, 7 Dec 2020 06:57:58 +0000 (15:57 +0900)]
webrtc_internal: Add webrtc_set_ecore_wl_display() API

It can be utilized to set the ecore wayland window.

[Version] 0.1.69
[Issue Type] API

Change-Id: I036185364c75ab5c6e25c32855e7cabbbdc9bca9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd support for rendering video to overlay surface 83/249083/6
Sangchul Lee [Mon, 7 Dec 2020 03:05:47 +0000 (12:05 +0900)]
Add support for rendering video to overlay surface

[Version] 0.1.68
[Issue Type] New feature

Change-Id: I63d4e95a6bad43eca4083ac94a17564d51104cc3
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add support for making up to four connections 60/248660/11
Sangchul Lee [Tue, 1 Dec 2020 08:09:05 +0000 (17:09 +0900)]
webrtc_test: Add support for making up to four connections

Now it can make up to four connections to the signaling server.
Each connection can have one webrtc handle.

A test case for webrtc_set_display() is added.

[Version] 0.1.67
[Issue Type] Test application

Change-Id: I4d7d3d7991ef3a74018435c4e95ca16df6a0c1b7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd webrtc_set_display() API 59/248659/10
Sangchul Lee [Tue, 1 Dec 2020 08:05:46 +0000 (17:05 +0900)]
Add webrtc_set_display() API

[Version] 0.1.66
[Issue Type] API

Change-Id: I3fc91168cb7d6ead52292262014234897cfccaa1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd support for rendering video to EVAS surface 10/248610/11
Sangchul Lee [Tue, 1 Dec 2020 01:11:41 +0000 (10:11 +0900)]
Add support for rendering video to EVAS surface

In case of evas rendering, the handoff signal of fakesink is used
to forward each video frame. After making a media packet based on
the GstBuffer with creating tbm bo and surface, use the evas render
function of mm-display to request it render.

Most of codes are based on the implemenation of player/muse-player
functions except for the server-client structure and zero copy
implementation.

[Version] 0.1.65
[Issue Type] New feature

Change-Id: I138ee1ae01b9de042a1c560f59f4a6a4bee934ed
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_tbm: Add internal functions regarding TBM buffer 82/248582/14
Sangchul Lee [Mon, 30 Nov 2020 07:29:04 +0000 (16:29 +0900)]
webrtc_tbm: Add internal functions regarding TBM buffer

It'll be used for video rendering pipeline of EVAS surface
without zerocopy format.

[Version] 0.1.64
[Issue Type] New feature

Change-Id: I15377253173684f86bc770f3bea717507fcc8f3b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd infrastructure for setting display object 81/248581/1
Sangchul Lee [Thu, 26 Nov 2020 11:23:53 +0000 (20:23 +0900)]
Add infrastructure for setting display object

Display type and object can be set to each video sink pipeline.
Now it has a dependency on mm-display-interface.

[Version] 0.1.63
[Issue Type] New feature

Change-Id: I856457101cc858acec86f68a86651bac116e8fdf
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add menu for setting all the callbacks 64/248164/1
Sangchul Lee [Mon, 23 Nov 2020 06:20:55 +0000 (15:20 +0900)]
webrtc_test: Add menu for setting all the callbacks

[Version] 0.1.62
[Issue Type] Test application

Change-Id: I63167d8f25861196aa73e3d1937d952f1aaa5f37
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd webrtc_get_stun_server() API 63/248163/1
Sangchul Lee [Mon, 23 Nov 2020 06:07:37 +0000 (15:07 +0900)]
Add webrtc_get_stun_server() API

[Version] 0.1.61
[Issue Type] API

Change-Id: I57f394e91b4708b34cea637a31f6c0536efbece5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_ini: Return NULL when empty string is returned by iniparser_getstring() 38/248038/2
Sangchul Lee [Fri, 20 Nov 2020 00:30:06 +0000 (09:30 +0900)]
webrtc_ini: Return NULL when empty string is returned by iniparser_getstring()

[Version] 0.1.60
[Issue Type] Improvement

Change-Id: I50e03c14ad4a0eb7dff421c89086e61e0a90b390
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_ini: Add new item to set source element name 81/247981/2
Sangchul Lee [Thu, 19 Nov 2020 03:17:58 +0000 (12:17 +0900)]
webrtc_ini: Add new item to set source element name

This item can be added in categories below.
[source camera] or [source mic] or [source audiotest] or [source videotest]

source element =

[Version] 0.1.59
[Issue Type] Improvement

Change-Id: I369278068526f15d214b5c0f5820146b9d85ec80
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_data_channel: Remove unnecessary g_object_unref() of data channel 80/247980/2
Sangchul Lee [Thu, 19 Nov 2020 03:07:33 +0000 (12:07 +0900)]
webrtc_data_channel: Remove unnecessary g_object_unref() of data channel

[Version] 0.1.58
[Issue Type] Bug fix

Change-Id: I2551164bfb960f840c346fdaab8fbcc2f6a2c329
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_ini: Add new item to set jitterbuffer latency inside of rtpbin 86/247886/3
Sangchul Lee [Wed, 18 Nov 2020 05:57:20 +0000 (14:57 +0900)]
webrtc_ini: Add new item to set jitterbuffer latency inside of rtpbin

This property can be set in ini file as below.

[general]
rtp jitterbuffer latency =

[Version] 0.1.57
[Issue Type] Improvement

Change-Id: I052f86539fb2b3b8f887ef9fe128f76a46027bce
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_ini: Add new category for supporting hw decoder elements 78/247878/4
Sangchul Lee [Wed, 18 Nov 2020 02:21:16 +0000 (11:21 +0900)]
webrtc_ini: Add new category for supporting hw decoder elements

For rendering audio or video data from the remote peer, we are
leaning on the decodebin to manipulate the rendering pipeline.
There can be cases that some elements of h/w decoder should not
be used in the rendering pipepline. Therefore this patch is added
to skip the h/w decoder element that is not specified in the ini
file.

The new category and items will be added in ini file as below.

[rendering sink]
; comma separated list of elements, it should be one by one per codec type
audio hw decoder elements =
video hw decoder elements =

[Version] 0.1.56
[Issue Type] Improvement

Change-Id: I13faa9fc2632a2b4b4082d70c9a86e67ef3d923b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add test case to send/receive a file via data channel 17/247817/3
Sangchul Lee [Tue, 17 Nov 2020 07:08:38 +0000 (16:08 +0900)]
webrtc_test: Add test case to send/receive a file via data channel

[Version] 0.1.55
[Issue Type] Test application

Change-Id: Ie38f3d76a1c6b47f14a1ee7e3b1be74bb729f81a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API to send byte data via data channel 05/246205/15
Sangchul Lee [Tue, 27 Oct 2020 02:13:45 +0000 (11:13 +0900)]
Add API to send byte data via data channel

New handle is added to be used inside of the data channel message callback
 - webrtc_bytes_data_h

Functions are added as below.
 - webrtc_data_channel_send_bytes()
 - webrtc_get_data()

Test cases for these functions are added to webrtc_test.

Some descriptions are fixed correctly.

[Version] 0.1.54
[Issue Type] API

Change-Id: I9e6937e7cf0f9ce5c5bd28419156b8e4382d37c9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_ini: Fix condition to get delimiter of gst arguments configuration 40/247240/4
Sangchul Lee [Mon, 9 Nov 2020 07:31:16 +0000 (16:31 +0900)]
webrtc_ini: Fix condition to get delimiter of gst arguments configuration

It's a side-effect of the commit below.
 - webrtc_ini: Revise ini related codes (3aa1d048c4df223ddd2f90e642b2420f5e79fba6)

Some log levels are changed.

[Version] 0.1.53
[Issue Type] Bug fix

Change-Id: I1641e6eee0be078bfdd1eb87dabbd68d1054a603
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_ini: Load default STUN server url from ini configuration file 66/247566/2
Sangchul Lee [Thu, 12 Nov 2020 05:42:12 +0000 (14:42 +0900)]
webrtc_ini: Load default STUN server url from ini configuration file

The value of 'stun server' item in [general] category in ini file
is used as default value.

[Version] 0.1.52
[Issue Type] Improvement

Change-Id: If66c0fc5514d7dcf57f1f54db9bbe46253f1c6ab
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Add support for h/w encoder element 39/247239/4
Sangchul Lee [Mon, 9 Nov 2020 07:30:26 +0000 (16:30 +0900)]
webrtc_source: Add support for h/w encoder element

[Version] 0.1.51
[Issue Type] Improvement

Change-Id: Ib5da2035f8f3b6cb68e6b147f4ece345332e5c35
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_ini: Add support for values per each media source 67/246967/5
Sangchul Lee [Thu, 5 Nov 2020 10:51:13 +0000 (19:51 +0900)]
webrtc_ini: Add support for values per each media source

Values of each media source can be set in ini configuration file.
These values will overwrite same things of [media source] default values.

Items for audio/video hw encoder element are also added.

[Version] 0.1.50
[Issue Type] Improvement

Change-Id: I41bfbe4f7d24d4b0dc09660c1b349cfc933ad827
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoUse bool instead of gboolean 10/247310/2
Sangchul Lee [Mon, 9 Nov 2020 10:04:36 +0000 (19:04 +0900)]
Use bool instead of gboolean

One exception is following original function prototype.
 e.g) type of return value and callback function

[Version] 0.1.49
[Issue Type] Revision

Change-Id: I44bcd10c34c254d5b92b709deb7b8d518801ba56
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_ini: Revise ini related codes 19/246919/4
Sangchul Lee [Wed, 4 Nov 2020 07:32:55 +0000 (16:32 +0900)]
webrtc_ini: Revise ini related codes

video/audio codec items are moved to media source category.
Divide defines into category and item.

[Version] 0.1.48
[Issue Type] Improvement

Change-Id: Iaea41b20e00265833a7454f8ca1baa85b6a85604
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_sink: Set wait-for-keyframe to rtpv8depay 78/246878/2
Hyunil [Thu, 5 Nov 2020 01:57:10 +0000 (10:57 +0900)]
webrtc_sink: Set wait-for-keyframe to rtpv8depay

- If property is set, rtpvp8depay drops the buffer being depayed and wait intra frame when packet loss occurs
- Add element-added callback

[Version] 0.1.47
[Issue Type] Improvement

Change-Id: Ia1289fc3e954e42dde53e8910c4a8e94c529563c
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
4 years agowebrtc_source: Use 'ball' pattern of videotestsrc for default 87/246687/2
Sangchul Lee [Tue, 3 Nov 2020 06:44:09 +0000 (15:44 +0900)]
webrtc_source: Use 'ball' pattern of videotestsrc for default

It is added to check frame rate variation more easily by looking
at the display.

[Version] 0.1.46
[Issue Type] Improvement

Change-Id: I298cd809f2e17e21e694ca921223db8115f66027
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Fix memory leak when an error occurs in macro 15/246315/3
Sangchul Lee [Wed, 28 Oct 2020 05:56:29 +0000 (14:56 +0900)]
webrtc_source: Fix memory leak when an error occurs in macro

[Version] 0.1.45
[Issue Type] Bug fix

Change-Id: I33958aed4c8f39cc521c849b7dff93df8b4f0d2d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoApply values of newly added items in ini configuration file 18/246118/4
Sangchul Lee [Fri, 23 Oct 2020 12:02:07 +0000 (21:02 +0900)]
Apply values of newly added items in ini configuration file

Items regarding media source and codec are added in ini structure.
These values are now applied when creating a media source.

The new items are as below.

  [general]
  gstreamer excluded elements =

  [media source]
  video format =
  video width =
  video height =
  video framerate =

  audio format =
  audio samplerate =
  audio channels =

  [codec]
  audio codec =
  video codec =

[Version] 0.1.44
[Issue Type] Improvement

Change-Id: I8a1a3570f5cf3001a25c529e63d0bdef900a44b9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoImport iniparser 76/246076/4
Sangchul Lee [Fri, 23 Oct 2020 04:50:20 +0000 (13:50 +0900)]
Import iniparser

webrtc_ini.c is added.
 - get ready for reading items of ini configuration file as below.

  [general]
  generate dot =
  dot path =
  gstreamer arguments =
  gstreamer excluded elements =

[Version] 0.1.43
[Issue Type] Improvement

Change-Id: Ib5a19ad4253867ff4e03d6daf6e5ada96aa54dcb
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set for notifying user when a track is added 21/245921/3
Sangchul Lee [Mon, 19 Oct 2020 23:49:27 +0000 (08:49 +0900)]
Add API set for notifying user when a track is added

This corresponds to the 'ontrack' property of the RTCPeerConnection.

Functions are added as below.
 - webrtc_set_track_added_cb()
 - webrtc_unset_track_added_cb()

Test cases for these functions are added to webrtc_test.

[Version] 0.1.42
[Issue Type] API

Change-Id: I32de15dda73f2654294505a8b478e6d589d77e3a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoCheck the signaling state in webrtc_create_answer() 48/245748/6
Sangchul Lee [Thu, 15 Oct 2020 08:12:02 +0000 (17:12 +0900)]
Check the signaling state in webrtc_create_answer()

This function will return STATE error if a remote offer
message has not been set yet.

[Version] 0.1.41
[Issue Type] Improvement

Change-Id: I8cfaacbb2f72d0b6882c24af24a6aecde3d69587
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set for data channel 11/245011/13
Sangchul Lee [Tue, 29 Sep 2020 06:13:34 +0000 (15:13 +0900)]
Add API set for data channel

These correspond to methods and event handlers of the RTCPeerConnection
and RTCDataChannel as below.
 - RTCPeerConnection: createDataChannel(), ondatachannel
 - RTCDataChannel: send(), onopen, onclose, onerror, onmessage

Functions are added as below.
 - webrtc_set[unset]_data_channel_cb()
 - webrtc_create[destroy]_data_channel()
 - webrtc_data_channel_set[unset]_open_cb()
 - webrtc_data_channel_set[unset]_message_cb()
 - webrtc_data_channel_set[unset]_error_cb()
 - webrtc_data_channel_set[unset]_close_cb()
 - webrtc_data_channel_send_string()

Test cases for these functions are added to webrtc_test.

[Version] 0.1.40
[Issue Type] API

Change-Id: Ic03a03499de2e44475469b119d2fa8d2f3b72e03
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoRevise webrtc_stop() 08/245608/4
Sangchul Lee [Tue, 13 Oct 2020 06:20:33 +0000 (15:20 +0900)]
Revise webrtc_stop()

The gstreamer pipeline state is changed to NULL when after webrtc_stop().
In this situation, webrtc state is IDLE in which a media source can be added
or removed. This change intends to be sure to release all the resources
inside of the webrtcbin as well as avoid warning message when calling the
gst_bin_remove() within gstreamer READY state.

Release missing sink slots which have been created after finishing
negotiation APIs.

[Version] 0.1.39
[Issue Type] Improvement

Change-Id: Ia51d8f98d8e778619e20c36c6a87ed56721065db
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd missing g_array_unref() 55/245555/1
Sangchul Lee [Mon, 12 Oct 2020 08:48:45 +0000 (17:48 +0900)]
Add missing g_array_unref()

It should be called after getting GArray pointer from
'get-transceivers' of webrtcbin.

[Version] 0.1.38
[Issue Type] Bug fix

Change-Id: I10564beba8579e59be95e475c9f38fd1baa733ab
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoInvoke state changed callback when webrtc_stop() is called 22/245422/2
Sangchul Lee [Thu, 8 Oct 2020 09:57:05 +0000 (18:57 +0900)]
Invoke state changed callback when webrtc_stop() is called

These was no state change when it is called. Now it is fixed.

[Version] 0.1.37
[Issue Type] Bug fix

Change-Id: I6aec1947114f6cc81ee58b03e5d9c820f57a0af8
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd codes to invoke error callback in two cases 68/245268/3
Sangchul Lee [Tue, 6 Oct 2020 07:59:43 +0000 (16:59 +0900)]
Add codes to invoke error callback in two cases

There are cases that 'peer connection state callback' or
'ice connection state callback' of webrtcbin is called
with FAILED state. Such cases deserve to be forwarded to
user via the error callback.

[Version] 0.1.36
[Issue Type] Improvement

Change-Id: I54f85da412b200b53b07f9ca5011df8f0295c11b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoUnlock mutex before invoking state callback 67/245267/2
Sangchul Lee [Tue, 6 Oct 2020 07:37:02 +0000 (16:37 +0900)]
Unlock mutex before invoking state callback

Codes about the mutex to secure the state are also added
in __webrtcbin_peer_connection_state_cb().

[Version] 0.1.35
[Issue Type] Improvement

Change-Id: I1c811912b3d9432fbae74b0c2037e9a78247fe23
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoSplit webrtc_private.c 46/244946/3
Sangchul Lee [Mon, 28 Sep 2020 07:44:42 +0000 (16:44 +0900)]
Split webrtc_private.c

webrtc_source.c is added and codes regarding media source are moved
into it.

webrtc_sink.c is added and codes regarding rendering audio and video
are moved into it.

[Version] 0.1.34
[Issue Type] Refactoring

Change-Id: I5835ddbc832386151cb537388da503714c44f64d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc: Print logs within critical section 27/244927/3
Sangchul Lee [Mon, 28 Sep 2020 03:58:19 +0000 (12:58 +0900)]
webrtc: Print logs within critical section

Some logs are also revised not to be confusing with its contents.

[Version] 0.1.33
[Issue Type] Log

Change-Id: Ie490f3a0d346018e393e505bce012799436cb8cb
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd precondition to webrtc_start() 74/244774/5
Sangchul Lee [Thu, 24 Sep 2020 06:17:38 +0000 (15:17 +0900)]
Add precondition to webrtc_start()

The @pre command with the statement as below is added to the doxygen.
 - @pre webrtc_ice_candidate_cb() must be set by calling
   webrtc_set_ice_candidate_cb().

This condition is added because both offer and answer sides should
send ICE candidates after setting local description inevitably.

[Version] 0.1.32
[Issue Type] Improvement

Change-Id: Ic190e4924d3ef84a2170e364f78e56da7eced2aa
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set to get/set transceiver direction 19/244719/7
Sangchul Lee [Wed, 23 Sep 2020 11:13:50 +0000 (20:13 +0900)]
Add API set to get/set transceiver direction

Enums are added as below.
 - WEBRTC_MEDIA_TYPE_AUDIO
 - WEBRTC_MEDIA_TYPE_VIDEO
 - WEBRTC_TRANSCEIVER_DIRECTION_SENDONLY
 - WEBRTC_TRANSCEIVER_DIRECTION_RECVONLY
 - WEBRTC_TRANSCEIVER_DIRECTION_SENDRECV

Functions are added as below.
 - webrtc_get_transceiver_direction()
 - webrtc_set_transceiver_direction()

Test cases for these functions are added to webrtc_test.

[Version] 0.1.31
[Issue Type] API

Change-Id: I6753b7480a6b363f262cf9edbcdf08c9cb20f24c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd more members to the slot structure for source/sink 41/244541/6
Sangchul Lee [Mon, 21 Sep 2020 10:44:46 +0000 (19:44 +0900)]
Add more members to the slot structure for source/sink

The mline value is got from the transceiver object via
on-new-transceiver callback. It will be used to find the
tranceiver object to modify the direction.

[Version] 0.1.30
[Issue Type] Improvement

Change-Id: I279f7ed5870b228eccbe6d14af1105f1f01b3d2c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Show handle state and STUN server 30/244430/4
Sangchul Lee [Fri, 18 Sep 2020 10:03:56 +0000 (19:03 +0900)]
webrtc_test: Show handle state and STUN server

[Version] 0.1.29
[Issue Type] Test application

Change-Id: Ie69368af3a563f4b1ce98f05e6d684475d9051be
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoGenerate dot files to take snapshots of pipeline 29/244429/4
Sangchul Lee [Fri, 18 Sep 2020 09:38:02 +0000 (18:38 +0900)]
Generate dot files to take snapshots of pipeline

Add code to create dot files when
 - after invoking state changed callback
 - a decodebin is added inside of pad-added callback of the webrtcbin
 - a rendering sink is added inside of pad-added callback of the decodebin

[Version] 0.1.28
[Issue Type] Debug

Change-Id: I3a752d5af5cb58cf21fbca3e9e45785b5e542c1d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoRevise description 48/244348/5
Sangchul Lee [Thu, 17 Sep 2020 11:25:50 +0000 (20:25 +0900)]
Revise description

Add omitted description of webrtc_media_source_type_e.
Add @details regarding possbile error codes to webrtc_error_cb()
Remove unneeded space.

[Version] 0.1.27
[Issue Type] Doxygen

Change-Id: Id52bca581a6a8c007c15117d9519c3a28b40130d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd support for audio/video rendering pipelines 79/244179/8
Sangchul Lee [Tue, 15 Sep 2020 13:31:14 +0000 (22:31 +0900)]
Add support for audio/video rendering pipelines

Multiple rendering pipelines can be added.
The decodebin is used to make each audio/video rendering pipeline.
These will be triggered by webrtcbin based on the session description
from remote peer during the negotiation.

[Version] 0.1.26
[Issue Type] Improvement

Change-Id: Iaade731f695181b8fe1a2a9aafa299c73feb4d32
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoRevise @since_tizen 60/244160/7
Sangchul Lee [Tue, 15 Sep 2020 09:30:56 +0000 (18:30 +0900)]
Revise @since_tizen

Fix it from 6.0 to 6.5.

[Version] 0.1.25
[Issue Type] Doxygen

Change-Id: Iaa9c834604c2da4a5a61b8dacb49ea090a9e63ad
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd new error types 58/244158/6
Sangchul Lee [Tue, 15 Sep 2020 09:26:26 +0000 (18:26 +0900)]
Add new error types

WEBRTC_ERROR_STREAM_FAILED and WEBRTC_ERROR_RESOURCE_FAILED
are added.

These will be delivered by error callback.

[Version] 0.1.24
[Issue Type] API

Change-Id: I1f493aa4f14708e4bf55890d50140caab3554263
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAssign source id with a value of limited range (1-32) 99/244099/7
Sangchul Lee [Tue, 15 Sep 2020 04:12:51 +0000 (13:12 +0900)]
Assign source id with a value of limited range (1-32)

Unused value in ascending order is the most priority.

Payload identifier which is set for RTP caps is also
modified to assign it in range of 96-127 dynamically.

Please refer to the link below regarding the dynamic
payload types.
 : https://tools.ietf.org/html/rfc3551

[Version] 0.1.23
[Issue Type] Improvement

Change-Id: I2d028617f621fbaf91f2b76e6dc266f6f2ffa7ae
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd new state for negotiation stage 34/244034/8
Sangchul Lee [Mon, 14 Sep 2020 07:52:18 +0000 (16:52 +0900)]
Add new state for negotiation stage

WEBRTC_STATE_NEGOTIATING is added.

[Version] 0.1.22
[Issue Type] API

Change-Id: Ibedaadb1f82e5482174da6d85f46e7f42073cd8a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd capsfilter after RTP payloader 06/244006/8
Sangchul Lee [Fri, 11 Sep 2020 13:22:21 +0000 (22:22 +0900)]
Add capsfilter after RTP payloader

It is added to set detailed GstCaps to the source
which will be linked to webrtcbin.

__close_websocket() is revised in webrtc_test.

[Version] 0.1.21
[Issue Type] Improvement

Change-Id: I63bd4b3c60faff72600dcdc0974947528e697aa0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoConnect to signals for various states inside of webrtcbin 33/243833/7
Sangchul Lee [Thu, 10 Sep 2020 10:07:45 +0000 (19:07 +0900)]
Connect to signals for various states inside of webrtcbin

Internal callbacks for state types below are added.
 - peer connection state
 - signaling state
 - ICE gathering state
 - ICE connection state

These are implementation in webrtcbin based on
 - https://w3c.github.io/webrtc-pc/#state-definitions

These will be utilized for dividing current states of this API set
into more steps with further patches.

[Version] 0.1.20
[Issue Type] Improvement

Change-Id: I28c540bf69952070485d09d9e06a6b9635caf93a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set for ICE candidate 71/243671/10
Sangchul Lee [Wed, 9 Sep 2020 04:56:06 +0000 (13:56 +0900)]
Add API set for ICE candidate

These correspond to the 'onicecandidate' property
and 'addIceCandidate' method of the RTCPeerConnection
respectively.

Functions are added as below.
 - webrtc_set_ice_candidate_cb()
 - webrtc_unset_ice_candidate_cb()
 - webrtc_add_ice_candidate()

Test cases for these functions are added to webrtc_test.
Some release handle information are added to @remarks.

[Version] 0.1.19
[Issue Type] API

Change-Id: Ib6675943d3aa2917360b8de82a4e76700089c961
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Revise setting remote description 49/243649/8
Sangchul Lee [Wed, 9 Sep 2020 02:19:40 +0000 (11:19 +0900)]
webrtc_test: Revise setting remote description

It should be set after receiving it from server.

[Version] 0.1.18
[Issue Type] Test application

Change-Id: I50f1ef6beefd24238fa2e9df1e6a890887262d43
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add code to show setting and server status 42/243642/7
Sangchul Lee [Wed, 9 Sep 2020 01:49:02 +0000 (10:49 +0900)]
webrtc_test: Add code to show setting and server status

[Version] 0.1.17
[Issue Type] Test application

Change-Id: I2a5194af68f695909b874f64f43bf539746d8a2f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add more menu regarding signaling server 90/243590/7
Sangchul Lee [Tue, 8 Sep 2020 10:01:52 +0000 (19:01 +0900)]
webrtc_test: Add more menu regarding signaling server

Menu for request session of remote peer id and
sending local description to server are added.

[Version] 0.1.16
[Issue Type] Test application

Change-Id: I97fd587d656e237fa82468a1c36f18c7dfb3000a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add support for connecting to a signaling server 00/243500/9
Sangchul Lee [Mon, 7 Sep 2020 14:38:09 +0000 (23:38 +0900)]
webrtc_test: Add support for connecting to a signaling server

A menu for this is added to the test application.
 : cs. Connect to the signaling server

We assume that the signaling server provides websocket interface.
The logics for handshaking from a peer to the server can be
different in each server. The upcoming patch will address this
handshaking protocol for demo server.

[Version] 0.1.15
[Issue Type] Test application

Change-Id: I95ed1ab2d0b6cf44d5d24cd39b8559d6be0024c4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Check URL length before setting it 93/243393/8
Sangchul Lee [Mon, 7 Sep 2020 08:56:11 +0000 (17:56 +0900)]
webrtc_test: Check URL length before setting it

Two similar functions are merged into one.

[Version] 0.1.14
[Issue Type] Test application

Change-Id: I6e0760278b177eef6a3d835fe2d59910ca91a6b2
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Fix typo - signalling to signaling 05/243905/1
Sangchul Lee [Fri, 11 Sep 2020 05:30:33 +0000 (14:30 +0900)]
webrtc_test: Fix typo - signalling to signaling

[Version] 0.1.13
[Issue Type] Typo fix

Change-Id: I4edaf287387842f2c04df52c544b546f3ff80bda
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set for error callback 54/243254/9
Sangchul Lee [Fri, 4 Sep 2020 08:01:44 +0000 (17:01 +0900)]
Add API set for error callback

Functions are added as below.
 - webrtc_set_error_cb()
 - webrtc_unset_error_cb()

Test cases for these functions are added to webrtc_test.

[Version] 0.1.12
[Issue Type] API

Change-Id: Ib4393388e3e440d88fd5f1aa013bb3d62c7b92c2
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set for state changed callback 01/243201/12
Sangchul Lee [Fri, 4 Sep 2020 01:45:39 +0000 (10:45 +0900)]
Add API set for state changed callback

Functions are added as below.
 - webrtc_set_state_changed_cb()
 - webrtc_unset_state_changed_cb()

Test cases for these functions are added to webrtc_test.

[Version] 0.1.11
[Issue Type] API

Change-Id: I384ce3da148cd6181795a998abb33b98855543c2
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>