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>
Sangchul Lee [Thu, 26 Aug 2021 07:16:00 +0000 (16:16 +0900)]
webrtc_source/display/tbm: Change some logs to verbose level
[Version] 0.2.84
[Issue Type] Log
Change-Id: I815d44f8332e839604f7660c678c26cca4a6347e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 26 Aug 2021 05:57:06 +0000 (14:57 +0900)]
webrtc_ini: Add new item for verbose logging
[general]
verbose log = yes or no
LOG_VERBOSE() macro is also added.
[Version] 0.2.83
[Issue Type] New feature
Change-Id: I84d74b99496e1062445ef49423b6b9a643534286
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 25 Aug 2021 08:58:02 +0000 (17:58 +0900)]
webrtc_private: Increase timeout value when getting an offer/answer message
It is changed from 10 sec. to 30 sec.
Also, null checking code is added for gst_promise_get_reply().
[Version] 0.2.82
[Issue Type] Improvement
Change-Id: Ic83418d46a33eb0a0c98628f4fbc4631862cc21d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 24 Aug 2021 08:14:16 +0000 (17:14 +0900)]
webrtc_private: Remove workaround codes regarding negotiation needed callback
[Version] 0.2.81
[Issue Type] Improvement
Change-Id: I9e1686e858b3c7ae25976af2ed5ff9fde482d040
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 17 Aug 2021 11:25:54 +0000 (20:25 +0900)]
Add support for statistic functionality
[Version] 0.2.80
[Issue Type] New feature
Change-Id: I284137c02bc53c24e731c90265e6df3e420bbdef
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 23 Aug 2021 03:09:13 +0000 (12:09 +0900)]
webrtc_display: Check return value of gst_video_info_from_caps()
[Version] 0.2.79
[Issue Type] Coverity (CHECKED_RETURN)
Change-Id: I6c7ff1dfc4c2352122c57c5a53fa160928033cec
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 17 Aug 2021 03:53:04 +0000 (12:53 +0900)]
webrtc_private: Remove unuseful generating dot files
These are not related to the pipeline changes.
Plus some invoked in the main thread are cause of deadlock
when the 'generate dot' is enabled in ini file.
[Version] 0.2.78
[Issue Type] Cleanup & Bug fix
Change-Id: I61dbf149b26999672f748ae4867f46476fd9f929
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Wed, 11 Aug 2021 09:00:23 +0000 (18:00 +0900)]
webrtc_source: enable loopback for filesrc
When the pipeline status becomes NULL, the decodebin destroys all of the added pads and associated probes.
so, the probe information related to loopback should be reinitialized when the pad in the decodebin is removed.
[Version] 0.2.77
[Issue Type] Improvement
Change-Id: I2e07ac17736304bf32b1d31bfa52d99e75613fdb
backto.kim [Mon, 9 Aug 2021 03:25:31 +0000 (12:25 +0900)]
webrtc_source: set proper media types for filesrc
[Version] 0.2.76
[Issue Type] Improvement
Change-Id: I3bf6b2ac6c1d8e641e2628f6a4e31eb28d339cea
Sangchul Lee [Thu, 12 Aug 2021 09:19:00 +0000 (18:19 +0900)]
webrtc/webrtc_websocket: Apply g_mutex_locker_new()
Unused macros are removed
[Version] 0.2.75
[Issue Type] Refactoring
Change-Id: Icba100fdca5d5f8a92bd25bd7cfab4a8eb31fc88
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 12 Aug 2021 03:38:35 +0000 (12:38 +0900)]
webrtc_test: Check null before freeing device list
[Version] 0.2.74
[Issue Type] Bug fix
Change-Id: If1686021704fa72df73834f3269139e07ef0be38
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 12 Aug 2021 03:10:40 +0000 (12:10 +0900)]
webrtc_test: Realign menu
[Version] 0.2.73
[Issue Type] Cleanup
Change-Id: If3cb054baf5de692a764b32455649fd22aad975c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 5 Aug 2021 06:29:10 +0000 (15:29 +0900)]
webrtc_internal/private: Apply g_mutex_locker_new()
[Version] 0.2.72
[Issue Type] Refactoring
Change-Id: I2a564902a6ebba778e77162d29d39b86c628c533
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 5 Aug 2021 06:19:22 +0000 (15:19 +0900)]
webrtc_display/tbm: Apply g_mutex_locker_new()
[Version] 0.2.71
[Issue Type] Refactoring
Change-Id: If8ba39506177180e91cc66558ae9094f62e9be89
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 23 Jul 2021 07:01:43 +0000 (16:01 +0900)]
Add API to set/get display visibleness
Functions are added as below.
- webrtc_set_display_visible()
- webrtc_get_display_visible()
[Version] 0.2.70
[Issue Type] API
Change-Id: Ia50a7c3f12b14a329e52b94ba182ee90f86a9a25
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 19 Jul 2021 11:34:57 +0000 (20:34 +0900)]
Add API to set/get display mode
Enums are added as below.
- WEBRTC_DISPLAY_MODE_LETTER_BOX
- WEBRTC_DISPLAY_MODE_ORIGIN_SIZE
- WEBRTC_DISPLAY_MODE_FULL
Functions are added as below.
- webrtc_set_display_mode()
- webrtc_get_display_mode()
[Version] 0.2.69
[Issue Type] API
Change-Id: Ia691e6091fb2059c069c2c7202efcd4fc61cdf85
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 10 Aug 2021 02:20:17 +0000 (11:20 +0900)]
Change the thread of negotiation callbacks
Callbacks listed below are now changed to be invoked in the main thread
- webrtc_peer_connection_state_change_cb()
- webrtc_signaling_state_change_cb()
- webrtc_ice_gathering_state_change_cb()
- webrtc_ice_connection_state_change_cb()
[Version] 0.2.68
[Issue Type] Improvement
Change-Id: Ib9f82eee6e51363338766af47d03533dece5b1d9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 9 Aug 2021 11:26:26 +0000 (20:26 +0900)]
webrtc_private: Add functions for appending negotiation callbacks to the main thread
Use g_idle_add_full() instead of g_idle_add().
[Version] 0.2.67
[Issue Type] New feature
Change-Id: I17eb8f5ac14f046c3b3a9700c3a8f507644828ca
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 21 Jun 2021 11:47:25 +0000 (20:47 +0900)]
webrtc_test: Add menu to join a room
New menu is added as below.
rj. Request join room
In case of this test, all of the webrtc configuration including
sources and negotiation will be make up automatically.
Test sequence example
1. 'ss' -> set signaling server
2. 'cs' -> connect to the server
3. 'rj' -> 1 or 2 (choose source type) -> type room name
(It is required to do the same for other handles)
[Version] 0.2.66
[Issue Type] New feature
Change-Id: I62841efc8ad477bdc6968e258bed3dae1ee90400
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 30 Jul 2021 09:33:57 +0000 (18:33 +0900)]
webrtc_ini: Move FEC setting from [general] to [media source] category
Now the FEC setting values can be set per media source rather than
system general.
For example, if camera source uses MJPEG encoded codec directly, it is
shown that the performance is better without FEC enabled. This patch
makes the FEC disable only in case of this media source type.
[Version] 0.2.65
[Issue Type] Improvement
Change-Id: Ied2e48cc27a5b050a367abd5e17dbb1370dace90
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 30 Jul 2021 08:53:46 +0000 (17:53 +0900)]
webrtc_internal: Add webrtc_media_source_set_video_loopback_to_ecore_wl()
Some parameter types are corrected.
[Version] 0.2.64
[Issue Type] Internal API
Change-Id: I6eb146ee7914150cfdcb4cdf1c32660b1a1e1123
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Fri, 30 Jul 2021 01:51:20 +0000 (10:51 +0900)]
webrtc_source: Allow location to be set multiple times for a single file source
[Version] 0.2.63
[Issue Type] Improvement
Change-Id: I7bc728f957f368ff2db689535a88cc2318a6a526
Sangchul Lee [Wed, 23 Jun 2021 08:29:45 +0000 (17:29 +0900)]
Revise header
Remove '\n' command from related sentence.
Add more references.
Add more @remarks and @post.
Some sentences are rephrased.
[Version] 0.2.62
[Issue Type] Doxygen
Change-Id: I4b90e3baab26ab21cd047d874e87b1c0ac152274
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 29 Jul 2021 07:38:58 +0000 (16:38 +0900)]
Fix error of 64bit compile
Various fixes due to the gsize.
: print format is corrected.
: webrtc_get_data() is revised to have unsigned long* type for
it's the second out-param.
Missing '%' command is added to have valid usr/lib[64] dir in
the spec file.
Fix build error in case of using define for tv profile.
[Version] 0.2.61
[Issue Type] Build and API
Change-Id: Ide1b0241b1b8f20e26a422d2d9a1ab4be69f87f7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 26 Jul 2021 10:07:17 +0000 (19:07 +0900)]
webrtc_private: Apply FEC to a tranceiver for audio
We don't need to discriminate against audio for FEC.
Some logs are revised.
Multiple lines are used for g_object_set() to set several properties.
[Version] 0.2.60
[Issue Type] Improvement
Change-Id: I24607938b847b3107c11c38a13c7cfbd413c2563
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 26 Jul 2021 05:55:07 +0000 (14:55 +0900)]
webrtc_test: Change src_pipeline state to NULL before calling g_clear_object()
[Version] 0.2.59
[Issue Type] Bug fix
Change-Id: I43557965d3e64b7ad7c248a909b2f2d9d7c97e06
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 26 Jul 2021 12:59:57 +0000 (21:59 +0900)]
webrtc_source: Remove restriction which only allowed H264 format for encoded media packet
Supported formats are added to @remarks of webrtc_media_packet_source_set_format().
[Version] 0.2.58
[Issue Type] Improvement
Change-Id: Iae3f4c65c86264f579aabcf0e248de03b13a4c7d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 26 Jul 2021 05:21:02 +0000 (14:21 +0900)]
webrtc_source: Check media format in every case when pushing media packet
[Version] 0.2.57
[Issue Type] Improvement
Change-Id: I26f04321a66848d606586dc155c95920914035c4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 23 Jul 2021 05:55:12 +0000 (14:55 +0900)]
Remove duplicated defines
[Version] 0.2.56
[Issue Type] Clean-up
Change-Id: I237113cb2a427ba26e4c8f1624079c1d627276cb
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Seungbae Shin [Mon, 26 Jul 2021 09:13:33 +0000 (18:13 +0900)]
webrtc_signaling_server: use g_autoptr with g_mutex_locker_new
This makes it convenient to manipulate concurrent mechanisms such as mutex,
including unintentional infinite possessing of the resource.
https://developer.gnome.org/glib/stable/glib-Threads.html#g-mutex-locker-new
https://developer.gnome.org/glib/stable/glib-Miscellaneous-Macros.html#g-autoptr
[Version] 0.2.55
[Issue Type] Refactoring
Change-Id: If724556eec0fd61a22026f819f72e95543c7ca44
Sangchul Lee [Fri, 23 Jul 2021 04:19:49 +0000 (13:19 +0900)]
Add out-parameter 'track id' to loopback setting functions
This newly added parameter will be utilized by other functions that
are for setting properties/operations per the track id.
[Version] 0.2.54
[Issue Type] API
Change-Id: Ib3d8c1fea15d7a762fba0320ca8b6b875118f66a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 23 Jul 2021 02:42:24 +0000 (11:42 +0900)]
Correct typos
[Version] 0.2.53
[Issue Type] Doxygen
Change-Id: I077edfc7996da516146cea66845402cef32ef420
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 21 Jul 2021 11:53:59 +0000 (20:53 +0900)]
webrtc_display: Add _set_display_type_and_surface() and use it
display 'object' is renamed to 'surface'.
Some codes regarding locking/unlocking display mutex are revised.
Level of some logs are changed.
[Version] 0.2.52
[Issue Type] Improvement
Change-Id: Ib2e70ea2ac6506cb91edf4a3f036a22e6b3cf17f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 19 Jul 2021 11:54:21 +0000 (20:54 +0900)]
webrtc_sink: Add __find_sink_slot_by_id() and use it
[Version] 0.2.51
[Issue Type] Refactoring
Change-Id: I6d47ae258ca28cb8d3137a2040120d758b000552
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Mon, 19 Jul 2021 09:03:44 +0000 (18:03 +0900)]
Add a description of file source mute
[Version] 0.2.50
[Issue Type] Doxygen
Change-Id: I35b0774364eb460c7b207b31f7b96bfe820d0dc7
backto.kim [Thu, 15 Jul 2021 07:59:08 +0000 (16:59 +0900)]
Add API to set media path to the file src
webrtc_file_source_set_path() is added.
This is different from sending files over a data channel.
Audio/video streams that extracted through demuxing the media are treated as a media source.
[Version] 0.2.49
[Issue Type] API
Change-Id: If673fd26d355c0a73093fe9ed046e1bd11300f4d
Sangchul Lee [Fri, 16 Jul 2021 02:32:56 +0000 (11:32 +0900)]
webrtc_source: Remove meaningless property setting of media packet source
Setting 'do-timestamp' to 'true' to appsrc element is removed in case of
the media packet source. Actually, it does not have any effect internally.
Because the media packet usually have its own timestamp set by user.
Multiple lines are used for g_object_set() in case of setting multiple
properties.
[Version] 0.2.48
[Issue Type] Improvement
Change-Id: I9718af8f79bf818cbfd7c7d14dfc73a36d81280f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 13 Jul 2021 07:55:27 +0000 (16:55 +0900)]
Add API to set/get ICE transport policy
Enums are added as below.
- WEBRTC_ICE_TRANSPORT_POLICY_ALL
- WEBRTC_ICE_TRANSPORT_POLICY_RELAY
Functions are added as below
- webrtc_set_ice_transport_policy()
- webrtc_get_ice_transport_policy()
[Version] 0.2.47
[Issue Type] API
Change-Id: I4d882d48038dc77fb2be848ae45d228de7a907c8
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 14 Jul 2021 09:57:12 +0000 (18:57 +0900)]
webrtc_sink: Fix rendering issue getting late in case of the EVAS display
'qos' and 'sync' properties are enabled to the element resposible for
video frame handoff.
[Version] 0.2.46
[Issue Type] Improvement
Change-Id: I35fbc990637d6893d1d56b2dfe08a88b90ca3b04
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 12 Jul 2021 04:40:46 +0000 (13:40 +0900)]
Add API for audio source loopback rendering
webrtc_media_source_set_audio_loopback() is added.
This will be used to render the audio source with the particular
sound stream information before sending the data to the remote peer.
[Version] 0.2.45
[Issue Type] API
Change-Id: Iab4815b3b41da3cc529fa4fe29cdfca7537bacaa
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 13 Jul 2021 09:55:34 +0000 (18:55 +0900)]
webrtc_sink: Add null check code
[Version] 0.2.44
[Issue Type] Improvement
Change-Id: Id6d50f255c07becae55f28a89f135cefb16c5bb4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 13 Jul 2021 08:54:21 +0000 (17:54 +0900)]
Move missing webrtc_display_type_e enumeration to CAPI_MEDIA_WEBRTC_MEDIA_RENDER_MODULE group
[Version] 0.2.43
[Issue Type] Doxygen
Change-Id: I459ba1f8db83ee2a1d9206216af1c6e95640f4a8
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
backto.kim [Tue, 13 Jul 2021 08:35:37 +0000 (17:35 +0900)]
The file source can have more than one src pad for the same source id
[Version] 0.2.42
[Issue Type] Improvement
Change-Id: I47f00b5500496ee3dffd8afb3265d351532bb293
backto.kim [Mon, 12 Jul 2021 09:22:17 +0000 (18:22 +0900)]
webrtc_private: Checking caps before creating payload elements
"media" in caps must be "audio" or "video" for normal communication.
However, some payload's media is "applications".
So let these elements skip when searching.
[Version] 0.2.41
[Issue Type] Improvement
Change-Id: I3cdbc33b61c3d337aa38115a04c7e7a93f789454
Sangchul Lee [Wed, 7 Jul 2021 10:51:19 +0000 (19:51 +0900)]
Add API for video source loopback rendering
webrtc_media_source_set_video_loopback() is added.
This will be used to render the video source to the particular
display surface before sending the data to the remote peer.
[Version] 0.2.40
[Issue Type] API
Change-Id: Ia6c63fd5da758c35dd337c2ab0a12347a06cd0fc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 23 Jun 2021 08:29:45 +0000 (17:29 +0900)]
Revise doxygen
Remarks regarding callback thread are added.
Fix invalid parameter direction.
Add missing release handle information.
Put a space after using '\n' command.
[Version] 0.2.39
[Issue Type] Doxygen
Change-Id: I0dc23a36b4cab50cc74809df20168f5f11e94f12
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 12 Jul 2021 07:14:04 +0000 (16:14 +0900)]
webrtc_source: Use gst_audio_info_to_caps()
It also set the layout to 'interleaved' internally.
[Version] 0.2.38
[Issue Type] Refactoring
Change-Id: If10b12445a8e252a7af8940625ab222a9719c8bc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>