platform/core/api/webrtc.git
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>
4 years agoAdd webrtc_set_local[remote]_description() API 09/243109/11
Sangchul Lee [Thu, 3 Sep 2020 06:35:52 +0000 (15:35 +0900)]
Add webrtc_set_local[remote]_description() API

It corresponds to the setLocal[Remote]Description() method
of the RTCPeerConnection respectively.

[Version] 0.1.10
[Issue Type] API

Change-Id: Ie1e2ddad5d6b3cd5741b034d14d07f13625d492c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd webrtc_create_offer() and webrtc_create_answer() API 58/242858/14
Sangchul Lee [Tue, 1 Sep 2020 09:32:31 +0000 (18:32 +0900)]
Add webrtc_create_offer() and webrtc_create_answer() API

It corresponds to the createOffer() and createAnswer() method
of the RTCPeerConnection respectively.

[Version] 0.1.9
[Issue Type] API

Change-Id: Ib2c3fc35a5b9adc7a2d35ad92f7001869a7d9dc4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd webrtc_set[unset]_negotiation_needed_cb() API 57/242857/11
Sangchul Lee [Tue, 1 Sep 2020 09:29:42 +0000 (18:29 +0900)]
Add webrtc_set[unset]_negotiation_needed_cb() API

It corresponds to the negotiationneeded event of RTCPeerConnection.
Internal functions regarding signal connection are added.

[Version] 0.1.8
[Issue Type] API

Change-Id: I14587a3073315d8b2cece0b415d04799747d2ed0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd codes to set STUN server URL 56/242856/8
Sangchul Lee [Tue, 1 Sep 2020 09:28:41 +0000 (18:28 +0900)]
Add codes to set STUN server URL

Implementation of webrtc_set_stun_server().

[Version] 0.1.7
[Issue Type] Implementation

Change-Id: Iba22cda51ff9c0bde7fed270dc6878377b1510d0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd macro for log - LOG_ERROR_IF_REACHED() 24/242624/7
Sangchul Lee [Fri, 28 Aug 2020 09:10:31 +0000 (18:10 +0900)]
Add macro for log - LOG_ERROR_IF_REACHED()

[Version] 0.1.6
[Issue Type] Debug

Change-Id: I813d9d383ae80cf4bba59c12eedc65720db9868b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd to build source elements by media source type and link it with webrtcbin 23/242623/7
Sangchul Lee [Fri, 28 Aug 2020 09:01:53 +0000 (18:01 +0900)]
Add to build source elements by media source type and link it with webrtcbin

Source type selection bug in webrtc_test is also fixed.

[Version] 0.1.5
[Issue Type] Implementation

Change-Id: I513e1524190f72de88fe2dc50d0fb0ec0c5f0200
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd infrastructure for adding/removing media source 22/242622/6
Sangchul Lee [Fri, 28 Aug 2020 08:52:02 +0000 (17:52 +0900)]
Add infrastructure for adding/removing media source

g_hash_table is used to manage source elements.

[Version] 0.1.4
[Issue Type] Implementation

Change-Id: Ifcf131c61cb48ec284d36f5765afefab9def1901
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd the basic state change logic 21/242621/5
Sangchul Lee [Fri, 28 Aug 2020 08:48:22 +0000 (17:48 +0900)]
Add the basic state change logic

[Version] 0.1.3
[Issue Type] Implementation

Change-Id: Ib2ecbfde9b7791753c8c2f56c34bbda7ed8dd616
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd webrtcbin element to pipeline and add _gst_destroy_pipeline() sub-function 20/242620/5
Sangchul Lee [Fri, 28 Aug 2020 08:45:44 +0000 (17:45 +0900)]
Add webrtcbin element to pipeline and add _gst_destroy_pipeline() sub-function

[Version] 0.1.2
[Issue Type] Improvement

Change-Id: I324a02b04453eb9dfebe4105241e55036ee14c64
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoAdd initial APIs and test application 11/242611/5
Sangchul Lee [Fri, 28 Aug 2020 08:37:54 +0000 (17:37 +0900)]
Add initial APIs and test application

[Version] 0.1.1
[Issue Type] Initial code

Change-Id: I398b849a97e7d88d0569ee74385754c59264d768
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoInitial empty repository master
Tizen Infrastructure [Fri, 28 Aug 2020 01:13:48 +0000 (01:13 +0000)]
Initial empty repository