Sangchul Lee [Fri, 12 Nov 2021 08:15:11 +0000 (17:15 +0900)]
webrtc_source: Enable in-band FEC of OPUS encoder
Revise caller of g_object_set()/get() to use multiple lines.
[Version] 0.3.34
[Issue Type] New feature
Change-Id: I8f514758e0e768c1ffad1f2288c87207f963c05a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 14 Dec 2021 06:42:48 +0000 (15:42 +0900)]
webrtc_sink: Enable in-band FEC of OPUS decoder
[Version] 0.3.33
[Issue Type] New feature
Change-Id: I48d271615a1f742e15c2ba2d10e4de023d4430cc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 27 Dec 2021 05:23:59 +0000 (14:23 +0900)]
webrtc_sink: Change parameter and use existing macro to print some log
[Version] 0.3.32
[Issue Type] Refactoring
Change-Id: I46e430d17016bffb4c5b64a88c9597a147564aa2
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 23 Dec 2021 07:07:21 +0000 (16:07 +0900)]
webrtc_ini: Add new item to set bundle policy and apply it
[general]
; SDP bundle policy (0:none, 1:balanced, 2:max compat, 3:max bundle)
bundle policy = 3
Note that 1 and 2 are not supported yet.
[Version] 0.3.31
[Issue Type] Improvement
Change-Id: I47f72ad12d21399727a398ea74da7e452b5a71ec
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Mon, 13 Dec 2021 06:47:33 +0000 (15:47 +0900)]
Fix resource leak when get caps from pad
[Version] 0.3.30
[Issue Type] Resource leak
Change-Id: I1123877111921b88c898299cc2a9ef1f7ae3dec1
Sangchul Lee [Fri, 17 Dec 2021 04:43:28 +0000 (13:43 +0900)]
webrtc_test: Add menu to set/get RTP packet drop probability
sdp. Set RTP packet drop probability
gdp. Get RTP packet drop probability
[Version] 0.3.29
[Issue Type] New feature
Change-Id: I40899c4948614e0b94fd2f8485335b38e21533ca
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 17 Dec 2021 04:06:55 +0000 (13:06 +0900)]
Remove unused internal API
Use webrtc_set[get]_rtp_packet_drop_probability() instead.
[Version] 0.3.28
[Issue Type] Clean up
Change-Id: I1e32d62c2a727aba58dd0cf8cf43dec096fd00f7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 17 Dec 2021 02:43:11 +0000 (11:43 +0900)]
webrtc_internal: Add APIs to set/get RTP packet drop probability
Functions below are added.
- webrtc_set_rtp_packet_drop_probability()
- webrtc_get_rtp_packet_drop_probability()
RTP packets can be dropped before sending or after being received
with this new function.
[Version] 0.3.27
[Issue Type] New feature
Change-Id: I8d2ca412bb272d750e40d39332d999e3b0cc0085
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 13 Dec 2021 08:17:34 +0000 (17:17 +0900)]
webrtc_private: Parse fmtp attribute and save useinbandfec value to the handle
It is parsed from a remote description. This information will be used
to set related property to a decoder.
[Version] 0.3.26
[Issue Type] New feature
Change-Id: Ieef7a244405c617d64b28c069f5f55cbc65fde69
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 22 Dec 2021 04:17:13 +0000 (13:17 +0900)]
fixup! webrtc_private: Add structure for data recovery types and update it
One more condition is added for an offerer.
1. set local offer description (changed to HAVE_LOCAL_OFFER)
2. set remote answer description (changed to STABLE)
Function name is also changed.
Change-Id: I2a2bdc5058c41750a2a0e46c50b7112cda6b0a72
backto.kim [Mon, 20 Dec 2021 01:56:00 +0000 (10:56 +0900)]
Fix caps double unref when making element
[Version] 0.3.25
[Issue Type] Bug fix
Change-Id: I8ac9b81d6301eb0c519d6976b6fe620cad6bade5
backto.kim [Mon, 20 Dec 2021 02:37:57 +0000 (11:37 +0900)]
Separate the code to get encoder
[Version] 0.3.24
[Issue Type] Refactoring
Change-Id: Iee321f4b3126c0d1545421d95594076b395ccd4a
Sangchul Lee [Tue, 14 Dec 2021 09:42:22 +0000 (18:42 +0900)]
webrtc_ini: Revise two default values
1. DEFAULT_USE_ULPFEC_RED is changed to FALSE
FEC is optional functionality that also affects bitrate and latency,
so, set it FALSE as a default value.
2. DEFAULT_VPXENC_KEYFRAME_MAX_DIST is changed from 999999 to 10
The previous value which has been brought from www.webmproject.org
with no thought of that we are using 'wait-for-keyframe' of VP8
depayloader. With a high value, received video stream can be shown
to be freezed when a RTP packet gets lost. Therefore, this value is
now changed to the reasonable value.
Note that these values affect only if there's empty value in ini file
or there's no ini file in a target.
[Version] 0.3.23
[Issue Type] Improvement
Change-Id: I19dd64b5bdb3fd21f09ab213cf2d8bae9b52a190
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 13 Dec 2021 07:44:02 +0000 (16:44 +0900)]
webrtc_private: Add some parsing functions for rtpmap attribute
A verbose log for attribute key/value is added.
[Version] 0.3.22
[Issue Type] Improvement
Change-Id: I6412f5842f196b2310c42a48b39ae129d3c54e5c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 10 Dec 2021 11:40:58 +0000 (20:40 +0900)]
Improve codes for setting transceiver FEC
It is revised to update the values before creating offer/answer.
Logic is branched by situation if it is an offer or answer.
[Version] 0.3.21
[Issue Type] Improvement
Change-Id: I3e71683ed0adc4413cab30f2ef27b941db12e9de
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 10 Dec 2021 10:34:32 +0000 (19:34 +0900)]
webrtc_private: Revise FEC setting condition in case of answerer without media source
In this case, it is fixed to depend on related values of remote offer description
instead of the ini value.
'fec-percentage' is not required for a 'recvonly' transceiver.
[Version] 0.3.20
[Issue Type] Improvement
Change-Id: I5de375283865ae604e590c7a74c099a649b3354c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 6 Dec 2021 11:07:29 +0000 (20:07 +0900)]
webrtc_private: Add structure for data recovery types and update it
It is updated from remote offer description. And it'll be used to
determine to enable the recovery mechanism for answerer.
[Version] 0.3.19
[Issue Type] Improvement
Change-Id: I35716c66381cfae8931f17b07817d0c93f52395b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Thu, 9 Dec 2021 06:13:31 +0000 (15:13 +0900)]
Fix resource leak when get caps from pad
[Version] 0.3.18
[Issue Type] Resource leak
Change-Id: Ia25db3063b47c6f00c59f2cfabf0b8cb0a22c38b
backto.kim [Thu, 9 Dec 2021 04:22:47 +0000 (13:22 +0900)]
Improve the code to check media type
[Version] 0.3.17
[Issue Type] Refactoring
Change-Id: Icc49b8e30ab2744d6d08a64f59dcc2b7c4b93c30
backto.kim [Wed, 1 Dec 2021 09:05:12 +0000 (18:05 +0900)]
Move internal file source functions to the public header
Functions below are moved to the public header.
- webrtc_file_source_set_path()
- webrtc_file_source_set_looping()
- webrtc_file_source_get_looping()
[Version] 0.3.16
[Issue Type] API
Change-Id: I62ae2ca6a8a52dde7a9471e894476a61b4d59c45
Sangchul Lee [Wed, 8 Dec 2021 02:21:14 +0000 (11:21 +0900)]
webrtc_private: Use const keyword to return type of _ini_get_source_by_type()
The value of returned structure pointer should not be modified.
All the callers are also modified to use the keyword.
[Version] 0.3.15
[Issue Type] Improvement
Change-Id: I14b6c2184835fe94dcf4f0cf4403242068e82cbb
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 6 Dec 2021 11:46:30 +0000 (20:46 +0900)]
webrtc_source: Set source element properties values from ini file
[Version] 0.3.14
[Issue Type] Improvement
Change-Id: I3367d1d8ae0f5b20be644330a3131c9906edcefd
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Tue, 23 Nov 2021 04:36:17 +0000 (13:36 +0900)]
webrtc_source: Use _av_tbl to get element name
[Version] 0.3.13
[Issue Type] Refactoring
Change-Id: Ic6c2aacd44f4a01bf65f0b8ec5c91c011a93b843
backto.kim [Tue, 23 Nov 2021 02:20:53 +0000 (11:20 +0900)]
Blocking filesrc streaming until the connection with peer is completed
Common streaming sending is blocked while connecting with peer.
but until now, filesrc has not been blocked because filesrc constructs it's own pipeline.
[Version] 0.3.12
[Issue Type] Improvement
Change-Id: I18c45e075b5b1db6e78822d7af2ee6a0148a8d8b
Sangchul Lee [Tue, 16 Nov 2021 10:59:02 +0000 (19:59 +0900)]
webrtc_ini: Add new item to set source element properties
ini file example)
[source xxx]
source element properties = prop_name1=value1, prop_name2=value2
_gst_set_element_properties() is added to set property list
to an element.
[Version] 0.3.11
[Issue Type] New feature
Change-Id: Ic9bd7e7c019c8eb6c086b48d33dbe572e6ed23f5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 16 Nov 2021 03:38:00 +0000 (12:38 +0900)]
webrtc_private: Add excluded element list to CREATE_ELEMENT_FROM_REGISTRY()
The excluded element list from ini file is now referenced by two locations.
1. sink side (previous one) - _decodebin_autoplug_select_cb()
2. source side - CREATE_ELEMENT_FROM_REGISTRY() in __create_rest_of_elements()
[Version] 0.3.10
[Issue Type] Improvement
Change-Id: I277dfd574d8abbb9cd25e961a46efbaff7855ffc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Tue, 12 Oct 2021 06:25:01 +0000 (15:25 +0900)]
Add new audio/video loopback unset APIs
Functions are added as below.
- webrtc_media_source_unset_audio_loopback()
- webrtc_media_source_unset_video_loopback()
[Version] 0.3.9
[Issue Type] API
Change-Id: I78612a39367a56891bed8c7d6c6fa6aeae007098
Sangchul Lee [Fri, 12 Nov 2021 08:00:43 +0000 (17:00 +0900)]
fixup! Added vpx encoder system configure setting for real-time CBR encoding and streaming
Wrong comparisons are fixed. The previous patch is now affected.
Change-Id: If16b7a7be15ad1062b3736352bcdccd7071e8f15
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 11 Nov 2021 06:57:58 +0000 (15:57 +0900)]
webrtc_test: Add sub-menu to use mic only in room case
Parameter of _webrtc_add_media_source() is revised.
[Version] 0.3.8
[Issue Type] Add
Change-Id: I8312d9f19701b2859bc736745fc54d1c79b8ab57
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 9 Nov 2021 07:37:59 +0000 (16:37 +0900)]
webrtc_test: Show server ip/port/status when using private signaling server
It is also fixed to use designated initializers for some string arrays.
[Version] 0.3.7
[Issue Type] Improvement
Change-Id: I28f50fee799466de6ac0fee6de1772374a196246
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 9 Nov 2021 06:56:05 +0000 (15:56 +0900)]
webrtc_source: Fix typos
DEFAULT_NAME_XXX should be ELEMENT_NAME_XXX.
[Version] 0.3.6
[Issue Type] Typo fix
Change-Id: Id365803d8e92272aec050e9bccc1a4b2075bfa28
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 9 Nov 2021 06:25:52 +0000 (15:25 +0900)]
webrtc_sink: Set channel and samplerate if available when making a media format
This code blocks is activated when user calls webrtc_set_encoded_audio_frame_cb().
[Version] 0.3.5
[Issue Type] Improvement
Change-Id: I663a3e3416beb2cf974f346c43bd0b750ae79737
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 8 Nov 2021 01:29:05 +0000 (10:29 +0900)]
webrtc_source: Use list to carry elements to remove these from file source
Variable and function are also renamed to use 'payloader' not 'payload'.
[Version] 0.3.4
[Issue Type] Refactoring
Change-Id: Iaf165625dc135d2e0248e3c103ffc0aa9775bcd4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 1 Nov 2021 11:16:07 +0000 (20:16 +0900)]
webrtc_test: Add menu to set/get RTP packet drop probability
[Version] 0.3.3
[Issue Type] New feature
Change-Id: Icee1dcba86b477a44a97708481a006b2f36c28fb
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 1 Nov 2021 09:43:00 +0000 (18:43 +0900)]
webrtc_internal: Add APIs to set/get RTP packet drop probability
Functions below are added.
- webrtc_media_source_set_rtp_packet_drop_probability()
- webrtc_media_source_get_rtp_packet_drop_probability()
[Version] 0.3.2
[Issue Type] API
Change-Id: I0dfbc2e39705c2d47485807bc0cc1c8ba1850d58
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 28 Oct 2021 06:06:45 +0000 (15:06 +0900)]
webrtc_ini: Add new item to enable network simulator
The network simulator element will be imported when the item
is set to 'yes' in the ini file.
This element is added right after payload of a source bin.
Dropping packets can be simulated by calling new internal API
coming up next patch.
Missing g_value_unset() is added.
[Version] 0.3.1
[Issue Type] New feature
Change-Id: Ia9231c68c19f6bec6bafb404b4d269c5ae3ab5d8
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 1 Nov 2021 09:54:15 +0000 (18:54 +0900)]
webrtc_internal: Revise webrtc_screen_source_set/unset_crop()
Parameter check codes are revised.
g_mutex_locker_new() applies to this function.
[Version] 0.2.147
[Issue Type] Refactoring
Change-Id: I1ce481aa9e65a34a5b813258885019a0f7e6afa9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 1 Nov 2021 06:26:16 +0000 (15:26 +0900)]
webrtc_source: Use list to carry elements for making encoded media packet source
Some codes exiting without releasing resources are fixed.
Level of logs in __link_elements() is changed.
Redundant logs are removed.
[Version] 0.2.146
[Issue Type] Improvement
Change-Id: I3d315984ab5fd4d2046a546d823549a29ab4c7e2
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 2 Nov 2021 04:12:29 +0000 (13:12 +0900)]
webrtc_source: Improve list handling in __complete_mediapacketsrc_from_raw_format()
When an error occurs, a node memory of list for appsrc is not freed.
It is now fixed.
[Version] 0.2.145
[Issue Type] Bug fix
Change-Id: I092cfb4dc86570fca0f77e4c68171c5b9a228908
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 2 Nov 2021 03:32:42 +0000 (12:32 +0900)]
webrtc_source: Improve error handling when failure on adding element to bin
If an error occurs when calling gst_bin_add() for element list,
error handling codes for unreferencing the elements should be divided
with two phases, one is for elements already added to the bin, the other
one is for the rest of elements in the list.
[Version] 0.2.144
[Issue Type] Improvement
Change-Id: Ie5a8c9eaa0f8dd462ec0079a59e85ebc1b8f070a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 28 Oct 2021 03:27:15 +0000 (12:27 +0900)]
webrtc_test: Fix to add ice candidate to the valid handle
[Version] 0.2.143
[Issue Type] Bug fix
Change-Id: Ic3c8a754382b222d74143fd8062146449d20d842
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 28 Oct 2021 01:16:38 +0000 (10:16 +0900)]
webrtc_private: Append webrtc handle pointer address to webrtcbin name
This can help user analyze logs more easily.
[Version] 0.2.142
[Issue Type] Debug
Change-Id: I6afaa2d622f76cf57a63823dff4c80e6fd709b8f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 26 Oct 2021 00:01:01 +0000 (09:01 +0900)]
webrtc_test: Support data channel in case of room join test
It is now possible send/receive text message via data channel
in case of room join test.
'zs', 'zb' menu can be used to send message to peers in the room.
[Version] 0.2.141
[Issue Type] New feature
Change-Id: Ia4847e8a91e55023c789bd113cbc6e4c6d8e1813
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 25 Oct 2021 06:13:58 +0000 (15:13 +0900)]
webrtc_test: Fix bug of room join test
In case of room scenario, when a remote peer is joining the room
where the first handle has already joined, new webrtc handle uses
same media sources that the first handle is using.
[Version] 0.2.140
[Issue Type] Bug fix
Change-Id: Ifa9ecea9b01a35370d871a8277668cba4b64083c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 25 Oct 2021 09:47:40 +0000 (18:47 +0900)]
webrtc_test: Abandon connection change menu
The connection change menu intended to use multiple websocket
connections is not that useful considering the conflict of display
object. This application is now modified to use only one websocket
connection with signaling server.
The room joining scenario still can have multiple peers(webrtc handles)
with only one websocket connection.
[Version] 0.2.139
[Issue Type] Clean-up
Change-Id: I712665a9f1040e192706716e6fa6b4f75fb7599a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 21 Oct 2021 01:06:48 +0000 (10:06 +0900)]
webrtc_test: Show text message from data channel to the display
[Version] 0.2.138
[Issue Type] Improvement
Change-Id: I217484ed9bf9d74a1519dee8726afaf8f9b5c4d4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Wed, 20 Oct 2021 02:49:19 +0000 (11:49 +0900)]
webrtc_source: Use list to carry elements for loopback pipeline
[Version] 0.2.137
[Issue Type] Refactoring
Change-Id: I35530c0bb7fdb89bdcdde5897d068a8acfaa599c
Sangchul Lee [Thu, 21 Oct 2021 01:36:12 +0000 (10:36 +0900)]
Apply macros to exclude lines from coverage measurement #2
[Version] 0.2.136
[Issue Type] Line coverage
Change-Id: I472ebce3a0748d0056ec929a920388262f1e1288
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 19 Oct 2021 11:09:00 +0000 (20:09 +0900)]
webrtc_source: Apply GENERATE_DOT() macro to loopback and filesrc
The filesrc pipeline name and loopback render pipeline name are
changed to be identified easily that which source belongs to it
by its name.
Dot file names are also changed.
[Version] 0.2.135
[Issue Type] Debug feature
Change-Id: I843eb7b4e8f42df20c5cd04a89c42a773e79af8c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 20 Oct 2021 02:34:18 +0000 (11:34 +0900)]
webrtc_private: Revise macro definitions
Some are modified to use do/while(0).
[Version] 0.2.134
[Issue Type] Improvement
Change-Id: Iae3b8aa519077fd03593651b3478deb7f2397e57
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Tue, 19 Oct 2021 08:25:30 +0000 (17:25 +0900)]
webrtc_source: Add parameter to __create_rest_of_elements() to check the exact media type.
file source can have audio and video together in the "media type".
So, actual media type to make proper elements should not be determined only by the "media type".
[Version] 0.2.133
[Issue Type] Improvement
Change-Id: Idc9ffa36d5ca01bdf59410be78dad8c57158e0d5
Sangchul Lee [Tue, 19 Oct 2021 09:54:23 +0000 (18:54 +0900)]
webrtc_private: Add explicit pipeline parameter to GENERATE_DOT macro
This will be used to print dot of other piplines.
Log level is changed to 'warning' in _generate_dot().
[Version] 0.2.132
[Issue Type] Debug feature
Change-Id: Iaa91b2d8ab77614f5b3d6f2dc0e729c79eb1b34a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 19 Oct 2021 08:30:02 +0000 (17:30 +0900)]
Skip creating resource manager handle if any resources required in ini file
[Version] 0.2.131
[Issue Type] Improvement
Change-Id: I1648153301ef56f27c5d07f83d2b8a781baf81d2
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 15 Oct 2021 04:50:26 +0000 (13:50 +0900)]
webrtc_private: Skip making rendering sink during stopping or destroying handle
[Version] 0.2.130
[Issue Type] Improvement
Change-Id: I2a563aefd9734333cd9e54f9c25a3ef36e1eb2b0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Tue, 19 Oct 2021 07:05:45 +0000 (16:05 +0900)]
define SAFE_G_LIST_FREE_FULL()
[Version] 0.2.129
[Issue Type] Refactoring
Change-Id: I05c1c0953d74427faa01b5be108439723f68d8af
backto.kim [Tue, 19 Oct 2021 03:26:36 +0000 (12:26 +0900)]
webrtc_source: rearrange codes to reduce code complexity
[Version] 0.2.128
[Issue Type] Refactoring
Change-Id: Ie67fa8314d79461b51d8424ab7b3bca695ccfa24
backto.kim [Thu, 14 Oct 2021 07:38:38 +0000 (16:38 +0900)]
webrtc_source: Enable file path change for the same source
[Version] 0.2.127
[Issue Type] Improvement
Change-Id: I3af2d27448915826bbd2becd1fade6e3c99dd14c
Sangchul Lee [Mon, 18 Oct 2021 09:47:41 +0000 (18:47 +0900)]
Apply macros to exclude lines from coverage measurement
[Version] 0.2.126
[Issue Type] Line coverage
Change-Id: I7ec0f6c1aaf05d23d393fb0d4fec098ad2b58599
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 18 Oct 2021 06:04:33 +0000 (15:04 +0900)]
Add gcov package for line coverage automation
[Version] 0.2.125
[Issue Type] Line coverage
Change-Id: I65bcf327b8735057aa2162f4f3f3e1c90d9e6b0b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 15 Oct 2021 04:02:54 +0000 (13:02 +0900)]
webrtc_test: Maintain received ICE candidates before destroying handle
Based on gstreamer webrtcbin, it does not gather ICE candidate again
when after gathering completed until unref the bin.
These ICE candidates can be used after webrtc_stop().
Missing * are added in menu for internal API.
[Version] 0.2.124
[Issue Type] Improvement
Change-Id: Ie43a3157315f5586bcbbec377cdab8b234c825c5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 13 Oct 2021 07:43:09 +0000 (16:43 +0900)]
webrtc_data_channel: Close data channel before destroying the handle
It'll trigger the close callback on the data channel.
[Version] 0.2.123
[Issue Type] Improvement
Change-Id: I578a70a3677652addd5aa9896bdf7323ee67988a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 12 Oct 2021 11:06:12 +0000 (20:06 +0900)]
webrtc_private/sink: Print handle pointer address
Some logs for webrtc handle and decodebin are added.
[Version] 0.2.122
[Issue Type] Log
Change-Id: Ib07f9216c482d3e73a38cf51069e8cabc0669c94
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 12 Oct 2021 10:37:57 +0000 (19:37 +0900)]
webrtc/webrtc_source: Print webrtc handle pointer address
[Version] 0.2.121
[Issue Type] Log
Change-Id: I37e8f900275a79a48d171f1104d4f64367ede6f7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 8 Oct 2021 11:11:36 +0000 (20:11 +0900)]
webrtc_source: Disable clock synchronization of loopback pipeline audiosink
Webrtc handle can have a source that consists of audio, video or both
media types. Each type can have a loopback pipeline. So it is set to FALSE
to render the incoming data from pad probe callback as soon as possible.
[Version] 0.2.120
[Issue Type] Improvement
Change-Id: I3f46e96123031598a5d86fa8fc85c1ec96772e4a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Fri, 8 Oct 2021 06:26:59 +0000 (15:26 +0900)]
webrtc_source: add queue after the decodebin in the filesrc pipeline
[Version] 0.2.119
[Issue Type] Improvement
Previously, a probe for loopback support was attached to decodebin's pad,
but decodebin deletes all pads when state goes to NULL.
The loopback setting must be maintained until the user unset it.
So, a queue was added after the decodebin and support loopback.
Change-Id: Ia1aaba9fa3b5b995161216294dcb49b6930c8624
Seungbae Shin [Wed, 6 Oct 2021 12:42:12 +0000 (21:42 +0900)]
webrtc_source: refactor audio/video branches using static mapping table
[Version] 0.2.118
[Issue Type] Refactoring
Change-Id: I5046a03cf070e54a8e7624b273219ac4099e0d3b
backto.kim [Wed, 6 Oct 2021 09:30:16 +0000 (18:30 +0900)]
webrtc_source: rearrange codes to reduce code complexity
[Version] 0.2.117
[Issue Type] Refactoring
Change-Id: I31b43afb40ae1bd5a829dc1ccb99685bd4ead1a4
Sangchul Lee [Thu, 7 Oct 2021 08:08:39 +0000 (17:08 +0900)]
webrtc_source: Return error when loopback pipeline has already been set
[Version] 0.2.116
[Issue Type] Bug fix
Change-Id: Ie6b408cfb75cc7a827a94b068e8d0042a064cb3a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Wed, 6 Oct 2021 07:30:28 +0000 (16:30 +0900)]
webrtc_source: rearrange codes of __create_rest_of_elements_for_filesrc_pipeline() to reduce code complexity
[Version] 0.2.115
[Issue Type] Refactoring
Change-Id: Ibed6a8d5b613e91af1a8a6c6f944e59dcdeae569
backto.kim [Tue, 5 Oct 2021 05:13:38 +0000 (14:13 +0900)]
webrtc_source: Fix invalid use of capsfilter
[Version] 0.2.114
[Issue Type] Improvement
Change-Id: I98dc18b2139c767f6d917962d1e5d613a679d37b
backto.kim [Tue, 28 Sep 2021 03:39:54 +0000 (12:39 +0900)]
Add API to set/get file source looping
Functions are added as below.
- webrtc_file_source_set_looping()
- webrtc_file_source_get_looping()
[Version] 0.2.113
[Issue type] API
Change-Id: Ie088db29ac4aeaf19fe2d5f85138787c4da5c9f7
backto.kim [Fri, 17 Sep 2021 08:35:03 +0000 (17:35 +0900)]
Change the structure of file src
A separate pipeline for filesrc is added, and the existing src bin receives input with appsrc.
This makes functions such as file looping convenient by separately managing pipelines.
[Version] 0.2.112
[Issue Type] Improvement
Change-Id: I69e1edea62515eb57987624e12bf863fa653b3fc
Sangchul Lee [Thu, 30 Sep 2021 08:31:09 +0000 (17:31 +0900)]
webrtc_test: Apply -Wcast-function-type and fix the error
It is added to comply with VD COSMOS build configuration.
[Version] 0.2.111
[Issue Type] Improvement
Change-Id: I104e55c2520708641b6bf56daf7a9765a4f41c2e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 29 Sep 2021 07:55:37 +0000 (16:55 +0900)]
webrtc_websocket: Fix missing field initializers
Apply -Wmissing-field-initializers and fix the errors.
It is added to comply with VD build configuration.
[Version] 0.2.110
[Issue Type] Improvement
Change-Id: Iab651b06a2d89e51c4c8f40c9fb5831d4038c8c6
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 29 Sep 2021 06:40:05 +0000 (15:40 +0900)]
webrtc_sink/data_channel: Fix coverity issues (CHECKED_RETURN)
[Version] 0.2.109
[Issue Type] Coverity (CHECKED_RETURN)
Change-Id: I6911282dc9f226be4eafa59f485d2a5cc109a244
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 29 Sep 2021 03:08:30 +0000 (12:08 +0900)]
webrtc_test: Fix coverity issue of USE_AFTER_FREE
[Version] 0.2.108
[Issue Type] Coverity (USE_AFTER_FREE)
Change-Id: Ic67674d991bfe8de19e03058b77646248d634221
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 17 Sep 2021 07:20:23 +0000 (16:20 +0900)]
webrtc_test: Prepare for test case with esplusplayer to render data when using encoded frame callback
It'll be the default case to test encoded frame callback.
For now, it is excluded when TV profile build.
[Version] 0.2.107
[Issue Type] Improvement
Change-Id: I85bae50e99bd937daf2e53aa901a1ecd90a6de98
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 27 Sep 2021 09:19:47 +0000 (18:19 +0900)]
webrtc: Add missing precondition for negotiation callbacks
[Version] 0.2.106
[Issue Type] Doxygen
Change-Id: If95522da7cdd138ca5a4f1eb734bd9b4f0a7353d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 27 Sep 2021 08:31:56 +0000 (17:31 +0900)]
Apply -Wsign-compare and fix the errors
It is added to comply with VD build configuration.
[Version] 0.2.105
[Issue Type] Improvement
Change-Id: Ia863063842cd95f23c6db3b320923ae182ef6945
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 27 Sep 2021 08:07:32 +0000 (17:07 +0900)]
Apply -Wshadow and fix the errors
It is added to comply with VD build configuration.
[Version] 0.2.104
[Issue Type] Improvement
Change-Id: Id1481b5077723fd0ca74107fe1d618a0d5974c20
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 24 Sep 2021 09:22:56 +0000 (18:22 +0900)]
webrtc_display: Revise logic for display mode/visible
Default mode and visible values are set when allocating display.
These values can be updated by setter APIs regardless of sink_element set.
Check properties for mode and visible before g_object_set().
[Version] 0.2.103
[Issue Type] Improvement
Change-Id: I9f98c764e73e23e7f6a87a167ba1211460b45360
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 24 Sep 2021 06:27:14 +0000 (15:27 +0900)]
webrtc_test: Add menu to get data channel label
dl. Get data channel label
[Version] 0.2.102
[Issue Type] Add
Change-Id: I37a592bb42d3a6a854b8dca03c223b873b9e71ee
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 24 Sep 2021 05:47:30 +0000 (14:47 +0900)]
webrtc_test: Print * to represent the internal API
[Version] 0.2.101
[Issue Type] Revise
Change-Id: Ibdbe0c53d503dadf50f22180a714d51ae44b4419
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 15 Sep 2021 09:07:53 +0000 (18:07 +0900)]
webrtc_sink: Use fakesink to drop receiving audio data if stream_info is not set
[Version] 0.2.100
[Issue Type] Improvement
Change-Id: I056d6b1b4fce1dfcb0a20a969631326ec7d7be7d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 15 Sep 2021 08:41:06 +0000 (17:41 +0900)]
webrtc_sink: Use fakesink to drop receiving video data if display is not set
[Version] 0.2.99
[Issue Type] Improvement
Change-Id: I69296f2abe7792e5b6f2c468d5b1bbba58b4f860
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Hyunil [Thu, 2 Sep 2021 05:57:27 +0000 (14:57 +0900)]
Add new internal APIs for setting or unsetting crop screen source
- webrtc_screen_source_set_crop()
- webrtc_screen_source_unset_crop()
- Add function test to webrtc_test
[Version] 0.2.98
[Issue Type] New feature
Change-Id: Ib1f36d6b84ce3ff429ff0ae20879b50b6f5af011
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
Sangchul Lee [Wed, 8 Sep 2021 01:18:49 +0000 (10:18 +0900)]
webrtc_doc: Update description
[Version] 0.2.97
[Issue Type] Document
Change-Id: I546caef069a8ba2f7319dabe72e021e4e7260dac
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 8 Sep 2021 04:53:19 +0000 (13:53 +0900)]
webrtc_sink: Lock mutex of display in __build_videosink()
It is improved to guard display structure while accessing it.
[Version] 0.2.96
[Issue Type] Improvement
Change-Id: I61f86eaa3970e659b614d3bdb9cb9d589254b23b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 7 Sep 2021 10:19:56 +0000 (19:19 +0900)]
webrtc_ini: Add support for printing stats log periodically
[general]
stats log period = 0
It is added to print statistics log periodically to check current
situation of data transmission without any user input.
In case of 0 sec, it does not print any stats logs.
[Version] 0.2.95
[Issue Type] Log
Change-Id: Ibc0b418d7c6544f995b5d78822d8df241c064f7c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Mon, 6 Sep 2021 07:43:01 +0000 (16:43 +0900)]
move webrtc_file_source_set_path() to internal
[Version] 0.2.94
[Issue Type] API
Change-Id: I8913184b8ab51d85f70fdcfda0aec0dc585645d8
Sangchul Lee [Mon, 6 Sep 2021 05:18:01 +0000 (14:18 +0900)]
fixup! webrtc_ini: Add new item to set libnice verbose log
Change-Id: Ife051178de6bc972a4925124c0270fae74c86c24
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
YoungHun Kim [Wed, 18 Aug 2021 06:22:08 +0000 (15:22 +0900)]
webrtc_ini: Add new item to set libnice verbose log
[Version] 0.2.93
[Issue Type] Improvement
Change-Id: Ib173a0b87c0cf9aed322e158c302127b35682117
Sangchul Lee [Tue, 31 Aug 2021 08:57:45 +0000 (17:57 +0900)]
webrtc_test: Add menu for creating offer/answer asynchronously
[Version] 0.2.92
[Issue Type] New feature
Change-Id: I2b30064c4731d82c38786913ff0ddc0f866144f4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 27 Aug 2021 09:27:18 +0000 (18:27 +0900)]
Add new asynchronous API to create offer/answer
Functions are added as below.
- webrtc_create_offer_async()
- webrtc_create_answer_async()
[Version] 0.2.91
[Issue Type] API
Change-Id: I5641f98fcd272ddd52f5173c048a9db3a94a9222
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 31 Aug 2021 05:43:29 +0000 (14:43 +0900)]
webrtc_test: Add missing initializing variables after free()
It caused a double-free crash when negotiating again with new handle
even if the 'd'(destroy) menu was executed for the previous handle
without program exit.
[Version] 0.2.90
[Issue Type] Bug fix
Change-Id: I48df929d6744d434f23f7d550d692e92b0b61609
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 30 Aug 2021 09:21:22 +0000 (18:21 +0900)]
webrtc_source: Set omitted display->sink_element in case of OVERLAY display type
It will be used when setting a display mode/visible to the track id of
video loopback pipeline.
[Version] 0.2.89
[Issue Type] Bug fix
Change-Id: I03cc2b3807495d3851643fc804f03570ad2ebab8
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 27 Aug 2021 08:40:02 +0000 (17:40 +0900)]
webrtc_source: Use fixed payload id for particular codecs
This patch enables normal operation with that codecs between
web API and gstreamer webrtc at last.
[Version] 0.2.88
[Issue Type] Improvement
Change-Id: Ib4094ac5814d59632032f649a69e0b45bc5b4b1d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 27 Aug 2021 06:23:51 +0000 (15:23 +0900)]
webrtc_private: Apply FEC in case of answerer without setting any media source
If a webrtc handle that does not have any media source, so-called recvonly,
tries to create an answer SDP with the received offer SDP, FEC also should be
applied according to ini configuration if the offerer wants to use the FEC.
[Version] 0.2.87
[Issue Type] Improvement
Change-Id: I182bbc1a982ff244e0656d78dbc9cc833fd0b4f0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 27 Aug 2021 03:51:09 +0000 (12:51 +0900)]
webrtc_source: Add support for G.711 one of mandatory audio codecs
PCMU and PCMA which support 64kbps with 8kHz sample rates are added.
Please refer to https://datatracker.ietf.org/doc/html/rfc7874 for
more details.
[Version] 0.2.86
[Issue Type] New feature
Change-Id: I56b2972817a652761cc8f0249d4ecf29389ec0df
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 26 Aug 2021 11:10:48 +0000 (20:10 +0900)]
webrtc_source: Remove S24LE audio raw format
The gstreamer encoders for PCMU/PCMA/OPUS, the formats supported by
the WebRTC spec, do not support 24bit PCM format as its input.
[Version] 0.2.85
[Issue Type] Clean-up
Change-Id: I374876c7806b01ba0902cb72a554a676863c550f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>