platform/core/api/webrtc.git
4 years agoAdd API set for media source pause 39/257839/10
Sangchul Lee [Tue, 4 May 2021 05:38:58 +0000 (14:38 +0900)]
Add API set for media source pause

These correspond to the 'replaceTrack()' method with 'null' or
'track' parameter of the RTCRtpSender.

Functions are added as below.
 - webrtc_set_media_source_pause()
 - webrtc_get_media_source_pause()

Test cases are also added in webrtc_test.
 p. Pause/play media source
 o. Get the pause of media source

[Version] 0.1.171
[Issue Type] API

Change-Id: I7a67eb4dea0c386876b901ece5aa5660968da776
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc: Add invalid operation error return value to webrtc_destroy() 54/258154/3
Sangchul Lee [Tue, 11 May 2021 08:26:12 +0000 (17:26 +0900)]
webrtc: Add invalid operation error return value to webrtc_destroy()

Gstreamer pipeline state change error or resource release error can
occur during destroying webrtc handle. In this case, it will return
WEBRTC_ERROR_INVALID_OPERATION error value.

[Version] 0.1.170
[Issue Type] Improvement

Change-Id: Ia17540054fbba9205820ac533fbbfb936d84f5aa
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_private: Add Macro definition for printing caps and apply it 87/258087/5
Sangchul Lee [Mon, 10 May 2021 09:01:15 +0000 (18:01 +0900)]
webrtc_private: Add Macro definition for printing caps and apply it

[Version] 0.1.169
[Issue Type] Improvement

Change-Id: I82a007e7ea059df648e0c4feecb48e932804293e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_private: Reset all the negotiation states in _webrtc_stop() 44/258044/3
Sangchul Lee [Mon, 10 May 2021 02:06:35 +0000 (11:06 +0900)]
webrtc_private: Reset all the negotiation states in _webrtc_stop()

The webrtc_stop() function changes the handle state to WEBRTC_STATE_IDLE.
It'll be changed to WEBRTC_STATE_NEGOTIATING again after calling
webrtc_start(), hence this patch is needed to set the states to
initial one.

Test case to get all the negotiation states is added.
 gan. Gets all the negotiation change callbacks

[Version] 0.1.168
[Issue Type] Improvement

Change-Id: Ib9aabafcdc2528303e65c58960f55c5451f49ecc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Get ready for audio/video source pads in a media source 95/257895/1
Sangchul Lee [Thu, 6 May 2021 05:43:19 +0000 (14:43 +0900)]
webrtc_source: Get ready for audio/video source pads in a media source

This patch is to prepare a media source that have two source pads.
Currently, we only support two kinds of stream, audio and video.

[Version] 0.1.167
[Issue Type] Improvement

Change-Id: I2fbccfc66d2fff36faa98ae98c01a8051a71216b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_private: Replace some macro definitions to enum types 85/257885/3
Sangchul Lee [Thu, 6 May 2021 02:09:19 +0000 (11:09 +0900)]
webrtc_private: Replace some macro definitions to enum types

MLINES_IDX_AUDIO is replaced to AV_IDX_AUDIO.
MLINES_IDX_VIDEO is replaced to AV_IDX_VIDEO.
AV_IDX_MAX is added.

[Version] 0.1.166
[Issue Type] Improvement

Change-Id: Idb3ea3a120730f41b4c58f5984ae287b1937b016
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add test cases for new negotiation callbacks 87/257687/6
Sangchul Lee [Thu, 29 Apr 2021 10:51:20 +0000 (19:51 +0900)]
webrtc_test: Add test cases for new negotiation callbacks

san. Set all the negotiation change callbacks
uan. Unset all the negotiation change callbacks

[Version] 0.1.165
[Issue Type] Test application

Change-Id: Ib7eb8e7f89806d6fda22d32ecc12d94d2e5501c4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set for the ICE connection state 55/257355/8
Sangchul Lee [Fri, 23 Apr 2021 04:09:16 +0000 (13:09 +0900)]
Add API set for the ICE connection state

These correspond to the 'iceConnectionState' and 'oniceconnectionstatechange'
property of the RTCPeerConnection respectively.

Enums are added as below.
 - WEBRTC_ICE_CONNECTION_STATE_NEW
 - WEBRTC_ICE_CONNECTION_STATE_CHECKING
 - WEBRTC_ICE_CONNECTION_STATE_CONNECTED
 - WEBRTC_ICE_CONNECTION_STATE_COMPLETED
 - WEBRTC_ICE_CONNECTION_STATE_FAILED
 - WEBRTC_ICE_CONNECTION_STATE_DISCONNECTED
 - WEBRTC_ICE_CONNECTION_STATE_CLOSED

Functions are added as below.
 - webrtc_set[unset]_ice_connection_state_change_cb()
 - webrtc_get_ice_connection_state()

[Version] 0.1.164
[Issue Type] API

Change-Id: If11019e7d57667d031c676e12c8c688fcc03da30
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set for the ICE gathering state 12/257312/9
Sangchul Lee [Thu, 22 Apr 2021 11:18:52 +0000 (20:18 +0900)]
Add API set for the ICE gathering state

These correspond to the 'iceGatheringState' and 'onicegatheringstatechange'
property of the RTCPeerConnection respectively.

Enums are added as below.
 - WEBRTC_ICE_GATHERING_STATE_NEW
 - WEBRTC_ICE_GATHERING_STATE_GATHERING
 - WEBRTC_ICE_GATHERING_STATE_COMPLETE

Functions are added as below.
 - webrtc_set[unset]_ice_gathering_state_change_cb()
 - webrtc_get_ice_gathering_state()

[Version] 0.1.163
[Issue Type] API

Change-Id: I3076aede623598d191b3792ec9cb2dcf849b325d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set for the signaling state 86/256986/11
Sangchul Lee [Fri, 16 Apr 2021 04:47:59 +0000 (13:47 +0900)]
Add API set for the signaling state

These correspond to the 'signalingState' and 'onsignalingstatechange'
property of the RTCPeerConnection respectively.

Enums are added as below.
 - WEBRTC_SIGNALING_STATE_STABLE
 - WEBRTC_SIGNALING_STATE_HAVE_LOCAL_OFFER
 - WEBRTC_SIGNALING_STATE_HAVE_REMOTE_OFFER
 - WEBRTC_SIGNALING_STATE_HAVE_LOCAL_PRANSWER
 - WEBRTC_SIGNALING_STATE_HAVE_REMOTE_PRANSWER
 - WEBRTC_SIGNALING_STATE_CLOSED

Functions are added as below.
 - webrtc_set[unset]_signaling_state_change_cb()
 - webrtc_get_signaling_state()

[Version] 0.1.162
[Issue Type] API

Change-Id: Ide27303b7905567654fa1a67359f60a237d20bb6
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set for the peer connection state 83/256983/10
Sangchul Lee [Fri, 16 Apr 2021 02:51:41 +0000 (11:51 +0900)]
Add API set for the peer connection state

These correspond to the 'connectionState' and 'onconnectionstatechange'
property of the RTCPeerConnection respectively.

Enums are added as below.
 - WEBRTC_PEER_CONNECTION_STATE_NEW
 - WEBRTC_PEER_CONNECTION_STATE_CONNECTING
 - WEBRTC_PEER_CONNECTION_STATE_CONNECTED
 - WEBRTC_PEER_CONNECTION_STATE_DISCONNECTED
 - WEBRTC_PEER_CONNECTION_STATE_FAILED
 - WEBRTC_PEER_CONNECTION_STATE_CLOSED

Functions are added as below.
 - webrtc_set[unset]_peer_connection_state_change_cb()
 - webrtc_get_peer_connection_state()

[Version] 0.1.161
[Issue Type] API

Change-Id: I271413364e4e3704d1df021d9174aac6a18cd225
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set for video source resolution 79/257379/14
Sangchul Lee [Fri, 23 Apr 2021 07:13:21 +0000 (16:13 +0900)]
Add API set for video source resolution

Functions are added as below.
 - webrtc_set_video_source_resolution()
 - webrtc_get_video_source_resolution()

Test cases for these are added in webrtc_test.

[Version] 0.1.160
[Issue Type] API

Change-Id: Iea0ec96d4e05f900cd4d83e9480e38fb604ad1ab
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoInvoke state changed callback in the main context 80/257580/3
Sangchul Lee [Tue, 27 Apr 2021 23:27:20 +0000 (08:27 +0900)]
Invoke state changed callback in the main context

Some of caller of state changed callback invoked it in a thread context.
It is now fixed that all of the callbacks are called in the main context.

[Version] 0.1.159
[Issue Type] Improvement

Change-Id: Ib3e1047e306247405189bdd2bededed558edec37
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoRevise descriptions 69/257469/4
Sangchul Lee [Mon, 26 Apr 2021 10:28:36 +0000 (19:28 +0900)]
Revise descriptions

Add missing descriptions for enums.
Remove redundant @param.

[Version] 0.1.158
[Issue Type] Doxygen

Change-Id: Id1a2703304d3682f636a3f291ec4809da3abefeb
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoPrint turn server log in webrtc_foreach_turn_server() 92/257492/3
Sangchul Lee [Tue, 27 Apr 2021 02:03:51 +0000 (11:03 +0900)]
Print turn server log in webrtc_foreach_turn_server()

[Version] 0.1.157
[Issue Type] Logs

Change-Id: I1bf0532a90bf471b49d7c9758942eaecb54c865f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Remove unnecessary capsfilter in screen source pipeline 62/257462/4
Sangchul Lee [Mon, 26 Apr 2021 09:03:42 +0000 (18:03 +0900)]
webrtc_source: Remove unnecessary capsfilter in screen source pipeline

Unnecessary logs are removed.

[Version] 0.1.156
[Issue Type] Improvement

Change-Id: I3dcc19f1bdb07c74cabd367bf4151c0138b4ebd6
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Revise error values 70/257370/1
Sangchul Lee [Fri, 23 Apr 2021 06:17:14 +0000 (15:17 +0900)]
webrtc_source: Revise error values

Return WEBRTC_ERROR_INVALID_OPERATION if handle has a member of
not expected value.

[Version] 0.1.155
[Issue Type] Improvement

Change-Id: Ibeb30dc6b0864bb6ecd492af1ddf2444b2cc9bf7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Fix untrusted conversion from string to number 10/257310/3
Sangchul Lee [Thu, 22 Apr 2021 10:48:07 +0000 (19:48 +0900)]
webrtc_test: Fix untrusted conversion from string to number

Use g_ascii_strtoll() instead of atoi().

[Version] 0.1.154
[Issue Type] Improvement

Change-Id: I0e450dd2a7fc6a75bc3a70c997652745bafcdf9f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Add WEBRTC_MEDIA_SOURCE_TYPE_SCREEN to media source type 12/256712/22
Hyunil [Fri, 9 Apr 2021 10:29:22 +0000 (19:29 +0900)]
webrtc_source: Add WEBRTC_MEDIA_SOURCE_TYPE_SCREEN to media source type

- Function to use screen as a media source

[Version] 0.1.153
[Issue Type] New API

Change-Id: Iadb687bd4f3b94cfc4b7d5d0555a8a4874184c30
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
4 years agowebrtc_source: Release gst resources in case of error 74/257274/3
Sangchul Lee [Thu, 22 Apr 2021 04:36:10 +0000 (13:36 +0900)]
webrtc_source: Release gst resources in case of error

[Version] 0.1.152
[Issue Type] Improvement

Change-Id: Ic9a5e8ffadae1384e5d3e2b7787e2df29382fabe
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoChange type GstElement to GstBin for bin 72/257272/3
backto.kim [Thu, 22 Apr 2021 03:59:35 +0000 (12:59 +0900)]
Change type GstElement to GstBin for bin

[Version] 0.1.151
[Issue Type] Improvement

Change-Id: I10ba655d266ba5c6ce1eaff125ed6283d989cc8d

4 years agowebrtc_private: Destroy sink pipeline in case of webrtc_stop() 42/257242/2
Sangchul Lee [Wed, 21 Apr 2021 11:52:06 +0000 (20:52 +0900)]
webrtc_private: Destroy sink pipeline in case of webrtc_stop()

When the webrtc_stop() is called, the state is changed to IDLE.
The state will be changed to NEGOTIATING with following webrtc_start()
again which means the re-negotiation is required.

Therefore, releasing the previous sink pipeline should be performed
inside of webrtc_stop().

[Version] 0.1.150
[Issue Type] Improvement

Change-Id: I1bd03ecf8b8f27d93dec7d1488fa20223299a737
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_data_channel: Revise logs 34/257234/2
Sangchul Lee [Wed, 21 Apr 2021 10:20:49 +0000 (19:20 +0900)]
webrtc_data_channel: Revise logs

Printing channel handle logs are added.

[Version] 0.1.149
[Issue Type] Log

Change-Id: I36fd5d292af3817c33f239fe3e697ad5f888110f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc: Remove state change to READY in webrtc_create_data_channel() 24/256424/4
Sangchul Lee [Fri, 2 Apr 2021 08:28:46 +0000 (17:28 +0900)]
webrtc: Remove state change to READY in webrtc_create_data_channel()

Previously, READY state of webrtcbin was required to create the
data channel. Due to this condition, we raise the state to READY
right before creating a data channel. But this state change invokes
the negotiation needed callback unexpectedly.

In webrtcbin, the state limitation to create a data channel has been
removed.
 : https://review.tizen.org/gerrit/#/c/platform/upstream/gst-plugins-bad/+/256742/

Therefore, this state change is also no longer necessary and removed.

[Version] 0.1.148
[Issue Type] Improvement

Change-Id: Ibefe084aaf68639f2bfb750bac1866d7445e24d8
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd API set for TURN server 03/256403/31
YoungHun Kim [Fri, 2 Apr 2021 03:16:37 +0000 (12:16 +0900)]
Add API set for TURN server

 Functions are added as below.
 - webrtc_add_turn_server()
 - webrtc_foreach_turn_server()

 Callback prototype
 - typedef bool (*webrtc_turn_server_cb)(
                 const char *turn_server, void *user_data);

[Version] 0.1.147
[Issue Type] API

Change-Id: Iadfd91db135167556b801ef9dab3a455ca0d3e1f

4 years agowebrtc_source: Add support for media packet with zerocopy buffer 52/256652/3
Sangchul Lee [Thu, 8 Apr 2021 12:21:40 +0000 (21:21 +0900)]
webrtc_source: Add support for media packet with zerocopy buffer

If the incoming media packet has tbm surface, it should be used to
allocate memory with gst_tizen_allocator_alloc_surface() to have
zerocopy method.

[Version] 0.1.146
[Issue Type] Improvement

Change-Id: I1686f25b7140bf47331b7cd036cba0b3b4e5584e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc: Change ownership of the pushed packet 53/256753/3
Sangchul Lee [Mon, 12 Apr 2021 08:46:11 +0000 (17:46 +0900)]
webrtc: Change ownership of the pushed packet

Regarding webrtc_media_packet_source_push_packet(), it is now changed
to take the ownership of the packet. Therefore, a caller should not
release the packet after pushing it using the API from now on.

Description about it is added to the function.
webrtc_test is modified according to this change.

[Version] 0.1.145
[Issue Type] API

Change-Id: I88dfc003365c6167c421feb594c037d79a90e5f6
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add missing gst_buffer_unref() 36/256636/2
Sangchul Lee [Thu, 8 Apr 2021 08:17:15 +0000 (17:17 +0900)]
webrtc_test: Add missing gst_buffer_unref()

[Version] 0.1.144
[Issue Type] Test application

Change-Id: I3e6b69854157ec5743475d6422605295dc26f1f5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_private: Remove unused code 84/256684/4
hj kim [Fri, 9 Apr 2021 07:13:54 +0000 (16:13 +0900)]
webrtc_private: Remove unused code

[Version] 0.1.143
[Issue Type] Improvement

Change-Id: I6d6d7fe7f0b572ccbd040fde56955af33b535dd5

4 years agowebrtc_source: Set 'empty-buffer-timeout' property to 0 if needed 64/256564/3
Sangchul Lee [Wed, 7 Apr 2021 07:00:19 +0000 (16:00 +0900)]
webrtc_source: Set 'empty-buffer-timeout' property to 0 if needed

If camerasrc element has this property, set it to 0 not to emit an error
even if there's no buffer consumption.

[Version] 0.1.142
[Issue Type] Improvement

Change-Id: Ie9ecc828c6a856aeb63beddae3aeea0cd7212fc0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Support zerocopy format 52/256552/3
Sangchul Lee [Wed, 7 Apr 2021 01:15:10 +0000 (10:15 +0900)]
webrtc_source: Support zerocopy format

It affects to make it possible to use tizen zerocopy format(SN12, S420)
for camera source and media packet source.

[Version] 0.1.141
[Issue Type] Improvement

Change-Id: I3768aefe382e7dd43139a6e37a14e28671829c03
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add Quit menu to terminate program 19/256219/6
hj kim [Wed, 31 Mar 2021 05:07:59 +0000 (14:07 +0900)]
webrtc_test: Add Quit menu to terminate program

[Version] 0.1.140
[Issue Type] Test application

Change-Id: I3cbd5a1a6d9330876dcb365b89391706730e2e97

4 years agowebrtc: Add new API webrtc_data_channel_get_label() 39/256339/8
hj kim [Thu, 1 Apr 2021 07:59:27 +0000 (16:59 +0900)]
webrtc: Add new API webrtc_data_channel_get_label()

[Version] 0.1.139
[Issue Type] API

Change-Id: I02e845b4a53ba1e6c1c5c789eb368966a545037a

4 years agoAdd options parameter to webrtc_create_offer()/answer() 60/256460/3
Sangchul Lee [Mon, 5 Apr 2021 03:10:18 +0000 (12:10 +0900)]
Add options parameter to webrtc_create_offer()/answer()

This parameter is added to support offer/answer options of
https://www.w3.org/TR/webrtc/#offer-answer-options.

It currently has no effect, because the Gstreamer side also
does not support it yet.

[Version] 0.1.138
[Issue Type] API

Change-Id: Ied29c6a918a7634afaea4716e51358e5666ba506
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Improve __get_hw_encoder_element() 95/256495/3
Sangchul Lee [Mon, 5 Apr 2021 11:19:30 +0000 (20:19 +0900)]
webrtc_source: Improve __get_hw_encoder_element()

Obtain hardware resources by checking the media type instead of
the source type. Each source can have a different type, but the
media type can only be video or audio. Therefore, this function
can cover all source types even if a new source type is added.

[Version] 0.1.137
[Issue Type] Refactoring

Change-Id: Ia760a5299a6f18568deea175745674011df52bf6
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_options/data_channel: Apply data channel options 48/255948/6
Sangchul Lee [Thu, 25 Mar 2021 09:29:31 +0000 (18:29 +0900)]
webrtc_options/data_channel: Apply data channel options

Doxygen of webrtc_create_data_channel() is also updated.

[Version] 0.1.136
[Issue Type] Improvement

Change-Id: I8238792a63716e43069f0862c1656448517aca92
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_options: Add functions to handle options 46/255946/8
Sangchul Lee [Thu, 25 Mar 2021 08:31:45 +0000 (17:31 +0900)]
webrtc_options: Add functions to handle options

The options parameter is a list of key value pairs made by bundle API.
The functions are added to convert the list to the gststructure with
valid key value pairs and print these for easy to debug.

[Version] 0.1.135
[Issue Type] New feature

Change-Id: If6e7fd4d584b01f0c1f011dd077b830f53808502
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd new parameter for options to webrtc_create_data_channel() 31/255831/2
Sangchul Lee [Wed, 24 Mar 2021 06:20:11 +0000 (15:20 +0900)]
Add new parameter for options to webrtc_create_data_channel()

It is added to support configuration options for the data channel.

The 3rd parameter is added as below.
 - int webrtc_create_data_channel(webrtc_h webrtc,
                                  const char *label,
                                  bundle *options,
                                  webrtc_data_channel_h *channel)

[Version] 0.1.134
[Issue Type] API

Change-Id: I21ec0613227e9a039dcb52b5c06ee1c1b9970468
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc : check invalid parameter at the beginning of webrtc_set_display() 50/255850/4
hj kim [Wed, 24 Mar 2021 07:55:25 +0000 (16:55 +0900)]
webrtc : check invalid parameter at the beginning of webrtc_set_display()

[Version] 0.1.133
[Issue Type] Improvement

Change-Id: I1d744d05b270f15af7f4835d63e476d67d8d97d7

4 years agoFix SVACE defect 85/255985/1
Seungbae Shin [Fri, 26 Mar 2021 04:12:49 +0000 (13:12 +0900)]
Fix SVACE defect

- DEREF_OF_NULL.RET.ALLOC
- PASS_TO_PROC_AFTER_CHECK
- INVARIANT_RESULT.OP_ZERO
- NO_EFFECT
- UNREACHABLE_CODE

[Version] 0.1.132
[Issue Type] Svace

Change-Id: I48afb8b4a5842c3976d57fa190542a04e2b20935

4 years agowebrtc_private: Print error as string before invoking error callback 71/255571/1
Sangchul Lee [Fri, 19 Mar 2021 08:02:58 +0000 (17:02 +0900)]
webrtc_private: Print error as string before invoking error callback

[Version] 0.1.131
[Issue Type] Log

Change-Id: If6f588c60fadca60f043a24708ec0cdc289ce804
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_private : remove duplicated code 10/255410/6
hj kim [Thu, 18 Mar 2021 03:44:06 +0000 (12:44 +0900)]
webrtc_private : remove duplicated code

remove simple wrapper functions _webrtcbin_create_offer() and _webrtcbin_create_answer().

[Version] 0.1.130
[Issue Type] Improvement

Change-Id: I1d586dd7488e36e8c8a5ab6a996b8b1fd9f782ef

4 years agowebrtc_source : add missing parameter check code 93/254993/8
hj kim [Thu, 11 Mar 2021 07:15:19 +0000 (16:15 +0900)]
webrtc_source : add missing parameter check code

plus, fix wrong return value

[Version] 0.1.129
[Issue Type] Improvement

Change-Id: I70cc965b7074047802edb0cabd36ff73f21b2f37

4 years agowebrtc_sink: Post error if it failed to build rendering pipeline 01/255201/2
Sangchul Lee [Mon, 15 Mar 2021 06:48:16 +0000 (15:48 +0900)]
webrtc_sink: Post error if it failed to build rendering pipeline

[Version] 0.1.128
[Issue Type] Improvement

Change-Id: I68c899e074da9b347284d9598e650423bada0856
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc: Add @remarks for default transceiver direction value 30/255030/3
Sangchul Lee [Thu, 11 Mar 2021 09:14:45 +0000 (18:14 +0900)]
webrtc: Add @remarks for default transceiver direction value

Typos are also fixed.

[Version] 0.1.127
[Issue Type] Doxygen

Change-Id: I4711609fbe04335e380d643d3110473e4ddc1ebd
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc : improve api description 78/254978/6
hj kim [Thu, 11 Mar 2021 05:59:36 +0000 (14:59 +0900)]
webrtc : improve api description

add missing error codes and webrtc state.
remove unnecessary error codes.

[Version] 0.1.126
[Issue Type] Improvement

Change-Id: I573ec8475cb49cd0e87a11c2f535661cf711218c

4 years agowebrtc : minor code changes 49/254949/5
hj kim [Thu, 11 Mar 2021 02:26:18 +0000 (11:26 +0900)]
webrtc : minor code changes

1. return error directly.
2. Add build option for test codes.

[Version] 0.1.125
[Issue Type] Improvement

Change-Id: I8f4fc393d7adf0d658eadef0e40b1346794dd618

4 years agowebrtc: Add missing error codes to the description 07/254907/2
Sangchul Lee [Wed, 10 Mar 2021 09:49:42 +0000 (18:49 +0900)]
webrtc: Add missing error codes to the description

Missing error codes are added to the description of callback prototypes below.
 : webrtc_error_cb()
 : webrtc_data_channel_error_cb()

[Version] 0.1.124
[Issue Type] Doxygen

Change-Id: I0ca78260580a14ad1ed84e1ab477bdf8b92eeff3
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Allow to push media packet of raw format 74/254574/3
Sangchul Lee [Fri, 5 Mar 2021 01:09:23 +0000 (10:09 +0900)]
webrtc_source: Allow to push media packet of raw format

It is added to check to match the format of pushing packet
with the configured format.

[Version] 0.1.123
[Issue Type] Improvement

Change-Id: Ib443634c62d6f588768a5ecffe6fb1e9e4172612
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_sink: Set width/height to media format for encoded frame callback 96/254596/1
Sangchul Lee [Fri, 5 Mar 2021 04:13:33 +0000 (13:13 +0900)]
webrtc_sink: Set width/height to media format for encoded frame callback

In case of video format, these will be set if caps has width and height
information in its structure.

[Version] 0.1.122
[Issue Type] Improvement

Change-Id: I77da9d41ec3ac3c3a63d31f34974161511bc4d1e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_sink: Change log level in __media_packet_finalize_cb() 35/254535/2
Sangchul Lee [Thu, 4 Mar 2021 08:00:56 +0000 (17:00 +0900)]
webrtc_sink: Change log level in __media_packet_finalize_cb()

The log level is changed to INFO due to the importance of releasing
the packet by app side.

[Version] 0.1.121
[Issue Type] Log

Change-Id: Ic4f71e18bb5e3e0a918741cff8ae94d3c112b704
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdded vpx encoder system configure setting for real-time CBR encoding and streaming 01/254201/10
Hyunil [Thu, 25 Feb 2021 02:03:37 +0000 (11:03 +0900)]
Added vpx encoder system configure setting for real-time CBR encoding and streaming

- Referred to https://www.webmproject.org/docs/encoder-parameters and
  https://developers.google.com/media/vp9/the-basics#quality_and_speed_settings

[Version] 0.1.120
[Issue Type] Improvement

Change-Id: Ic3647fa6642a1ff06e3839250838d035add69531
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
4 years agowebrtc_test: Change media test file path in case of TV profile build 76/254276/2
Sangchul Lee [Thu, 25 Feb 2021 09:50:05 +0000 (18:50 +0900)]
webrtc_test: Change media test file path in case of TV profile build

To do this, spec and CMakefile are changed.

[Version] 0.1.119
[Issue Type] Test application

Change-Id: I913c8b9066ba92759c7299262d7a3b20b267855c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_resource: Invoke error callback when a resource conflict happens 37/253937/7
Sangchul Lee [Fri, 19 Feb 2021 11:34:22 +0000 (20:34 +0900)]
webrtc_resource: Invoke error callback when a resource conflict happens

_post_error_cb_in_idle() is added to invoke the error callback in
the main thread.

[Version] 0.1.118
[Issue Type] Improvement

Change-Id: I35290cb5ae37970cd599fc74e90e499837e50cd9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_private: Revise _post_state_in_idle() 36/253936/6
Sangchul Lee [Fri, 19 Feb 2021 11:00:38 +0000 (20:00 +0900)]
webrtc_private: Revise _post_state_in_idle()

Rename _post_state_in_idle() to __post_state_cb_in_idle().
Remove prototype in webrtc_private.h.
Allocate userdata to have expansibility.

[Version] 0.1.117
[Issue Type] Refactoring

Change-Id: Ie7e095501dc443474d464d6de78698e54220aed0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_private: Apply designated initializers to arrays 77/253977/3
Sangchul Lee [Mon, 22 Feb 2021 02:53:11 +0000 (11:53 +0900)]
webrtc_private: Apply designated initializers to arrays

[Version] 0.1.116
[Issue Type] Refactoring

Change-Id: I514bb42a8b8ee9ef5be1a58a8118608c2ecde42e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_test: Add local rendering feature with encoded frame callback 98/253198/4
Sangchul Lee [Fri, 5 Feb 2021 11:17:36 +0000 (20:17 +0900)]
webrtc_test: Add local rendering feature with encoded frame callback

__DEBUG_VALIDATE_ENCODED_FRAME_CB__ definition is added to test
the media packet for H264 encoded data received from the encoded
frame callback with local rendering pipeline.

[Version] 0.1.115
[Issue Type] Test application

Change-Id: I27c697737226d4715576a7057b4c2d66c6bbef79
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Add support for media packet with gstbuffer pointer 77/253077/10
Sangchul Lee [Thu, 4 Feb 2021 07:13:05 +0000 (16:13 +0900)]
webrtc_source: Add support for media packet with gstbuffer pointer

In case of using media packet source, now we support two kinds of
media packet. One is normal buffer which memory is allocated inside
of the packet, the other one is having an external buffer without
allocation. In the latter case, we assume that extra data of the
media packet has a gstreamer buffer pointer.

A test case for this is also added in webrtc_test.c.

[Version] 0.1.114
[Issue Type] Improvement

Change-Id: I391de40b6f5217e6a797e8a19d97a5640e093632
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_sink: Revise media packet for encoded frame callback 02/253702/4
Sangchul Lee [Wed, 17 Feb 2021 00:05:49 +0000 (09:05 +0900)]
webrtc_sink: Revise media packet for encoded frame callback

The gstbuffer data field is set as external memory pointer of the
media packet. The pointer of gstbuffer is set to extra data of the
media packet. If the caps of the pad has 'codec_data' field, it is
set to the media packet.

[Version] 0.1.113
[Issue Type] Improvement

Change-Id: Ib361a0a9a2600b262c60486c22f27850a21cc5d0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_source: Set 'do-timestamp' to TRUE to appsrc in case of media packet source 95/253895/2
Sangchul Lee [Fri, 19 Feb 2021 05:59:46 +0000 (14:59 +0900)]
webrtc_source: Set 'do-timestamp' to TRUE to appsrc in case of media packet source

Setting 'emit-signals' to TRUE is also removed because it is default value.

[Version] 0.1.112
[Issue Type] Improvement

Change-Id: I390449180fd7ad91cde380d078a1a28b61ebc2a4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc_ini: Add log for FEC setting 50/253750/2
Sangchul Lee [Wed, 17 Feb 2021 08:03:50 +0000 (17:03 +0900)]
webrtc_ini: Add log for FEC setting

[Version] 0.1.111
[Issue Type] Log

Change-Id: I5783988171c0c23e6d846ebad91314e3b24d2e94
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agowebrtc: Add missing return check when changing pipeline state to READY/PLAYING 65/253365/1
Sangchul Lee [Tue, 9 Feb 2021 07:25:42 +0000 (16:25 +0900)]
webrtc: Add missing return check when changing pipeline state to READY/PLAYING

[Version] 0.1.110
[Issue Type] Bug fix

Change-Id: I349a7da7e39a95bf0c93e7a81d9f97165e75c309
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
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>