Sangchul Lee [Thu, 3 Feb 2022 09:15:39 +0000 (18:15 +0900)]
webrtc_source: Use transceiver pointer instead of mline variable
Since gst 1.19.x version, at this point in 'on-new-transceiver'
signal callback of webrtcbin, the transceiver mline index could be
set to -1. Therefore, it is changed to refer the transceiver object
itself.
[Version] 0.3.52
[Issue Type] Refactoring
Change-Id: I3b1b1eab5309362374df40dd96d89b1fff32257a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 27 Jan 2022 06:12:48 +0000 (15:12 +0900)]
webrtc_data_channel: Remove unreachable code and revise error log
[Version] 0.3.51
[Issue Type] Improvement
Change-Id: I3fb502f8ea712233a660e382904a65fd2e47fee0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 27 Jan 2022 04:14:29 +0000 (13:14 +0900)]
Revise doxygen
FPS is mentioned to functions regarding video framerate.
Post command regarding error callback is described in case of
failure on sending data via data channel.
[Version] 0.3.50
[Issue Type] Doxygen
Change-Id: I3fa1e5f84b25a35bda9260292945889dda429a9c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 25 Jan 2022 00:19:57 +0000 (09:19 +0900)]
webrtc_test: Add menu to get mute
Unused definition is removed.
A space is added before asterisk in case of casting with pointer type.
[Version] 0.3.49
[Issue Type] Add
Change-Id: Id0a253eb77d55c4148138ed7019db9bfaacbe589
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 21 Jan 2022 07:55:17 +0000 (16:55 +0900)]
Add more macro to exclude lines from coverage measurement
[Version] 0.3.48
[Issue Type] Line coverage
Change-Id: Icfa24afaa6ca76d881a58a6a4bb27090c5936f99
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 21 Jan 2022 04:53:44 +0000 (13:53 +0900)]
Add space before asterisk in case of casting with pointer type
[Version] 0.3.47
[Issue Type] Coding convention
Change-Id: I574d1f547c66851d428c25c2f9d9125d939559aa
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 14 Jan 2022 09:55:52 +0000 (18:55 +0900)]
webrtc_test: Add test cases for bundle policy and video frame rate
Menu items below are added.
f. Set video framerate
m. Get video framerate
sbp. Set bundle policy
gbp. Get bundle policy
[Version] 0.3.46
[Issue Type] Add
Change-Id: I9a147947a86e340726734e58b565f20d8c12cc69
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 12 Aug 2021 08:37:30 +0000 (17:37 +0900)]
Add API to set/get bundle policy
Enums are added as below.
- WEBRTC_BUNDLE_POLICY_NONE
- WEBRTC_BUNDLE_POLICY_MAX_BUNDLE
Functions are added as below.
- webrtc_set_bundle_policy()
- webrtc_get_bundle_policy()
[Version] 0.3.45
[Issue Type] API
Change-Id: Ie3a66548f4f0300023ab24a23b84312cd6c888f8
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 13 Jan 2022 02:43:52 +0000 (11:43 +0900)]
Add API to set/get video frame rate
Functions are added as below.
- webrtc_media_source_set_video_framerate()
- webrtc_media_source_get_video_framerate()
[Version] 0.3.44
[Issue Type] API
Change-Id: I3f48537153c245a17a1833404f4441513a2cf6c2
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 20 Jan 2022 04:52:37 +0000 (13:52 +0900)]
Change gcov object install path
[Version] 0.3.43
[Issue Type] Gcov
Change-Id: I10061f55df49d2c7cc4ae43de352cd46808b1e82
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Thu, 20 Jan 2022 03:20:35 +0000 (12:20 +0900)]
Add missing parameter check code
[Version] 0.3.42
[Issue Type] Improvement
Change-Id: I89cb4efc0a9b533c000f76b65c05ee3cba7c90bf
Sangchul Lee [Fri, 14 Jan 2022 05:49:27 +0000 (14:49 +0900)]
Add omitted error checking in webrtc_create()
[Version] 0.3.41
[Issue Type] Improvement
Change-Id: Ib208fc70c4f477495b8f44a155a85e9ba3c5c123
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Thu, 6 Jan 2022 07:38:57 +0000 (16:38 +0900)]
Add new data channel buffered amount APIs
Functions are added as below.
- typedef void (*webrtc_data_channel_buffered_amount_low_cb)()
- webrtc_data_channel_get_buffered_amount()
- webrtc_data_channel_set_buffered_amount_low_cb()
- webrtc_data_channel_get_buffered_amount_low_threshold()
- webrtc_data_channel_unset_buffered_amount_low_cb()
[Version] 0.3.40
[Issue Type] API
Change-Id: I3279925a1508955eded709927639ca2249c20137
Sangchul Lee [Tue, 4 Jan 2022 04:59:54 +0000 (13:59 +0900)]
Remove event sources not invoked when destroying webrtc handle
A crash can happen with the previous codes.
It is fixed by removing event sources of idle callbacks
which are not invoked yet before destroying webrtc handle.
[Version] 0.3.39
[Issue Type] Bug fix
Change-Id: Icff390fdd63ee2aa7bfeedd547d63dbb3e0f5d5a
Sangchul Lee [Wed, 22 Dec 2021 09:41:31 +0000 (18:41 +0900)]
webrtc_test: Add vp8 decoding pipeline when __DEBUG_VALIDATE_ENCODED_FRAME_CB__ is enabled
[Version] 0.3.38
[Issue Type] Debug
Change-Id: I1a99f64c86f10769b539e6a15a0fda64b1f19a4d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 8 Nov 2021 05:31:47 +0000 (14:31 +0900)]
webrtc_test: Add opus decoding pipeline when __DEBUG_VALIDATE_ENCODED_FRAME_CB__ is enabled
[Version] 0.3.37
[Issue Type] Debug
Change-Id: I47828c656e7ac86ee9111434b53478f9f50d4d4d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 29 Dec 2021 08:34:53 +0000 (17:34 +0900)]
webrtc_ini: Add new item to set in-band FEC and packet loss percentage
e.g)
[media source]
use inbandfec = no
packet loss percentage = 0
[source audiotest]
; values below will override the default one of [media source] above
use inbandfec = yes
packet loss percentage = 10
[Version] 0.3.36
[Issue Type] Improvement
Change-Id: If4fb6b658d02d7890ddb9924ebe3aceb5cdc4f08
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 28 Dec 2021 07:27:26 +0000 (16:27 +0900)]
Rename payload id to payload type(pt)
New one is the term the most commonly used.
[Version] 0.3.35
[Issue Type] Refactoring
Change-Id: Ic0b070cab1fd445ae0bd327f382a4f3d349356ff
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
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>