Sangchul Lee [Wed, 28 Dec 2022 05:26:20 +0000 (14:26 +0900)]
webrtc_sink_snapshot: Create queue before creating convert thread
Sometimes the new thread tries to access queue not created yet which causes
a crash. It is fixed to create queue first and then create thread as well as
check if the result of pop operation is NULL.
[Version] 0.3.275
[Issue Type] Crash
Change-Id: Icefd4d6d9b38141384fbc70b3a7097a6f674fd4d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 19 Dec 2022 03:03:27 +0000 (12:03 +0900)]
webrtc_sink_snapshot: Remove switch-case
Instead, bit-wise check is used whether to encode data or not.
Some functions to convert type are added.
[Version] 0.3.274
[Issue Type] Refactoring
Change-Id: Ib05495d97ef390429440a3c0e049e5018868758c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 12 Dec 2022 03:01:35 +0000 (12:01 +0900)]
webrtc_test: Add menu to take snapshot
[Version] 0.3.273
[Issue Type] Add
Change-Id: I2d869ff6e7db5dd3e367b4a24fd31321a2dc51d5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
(cherry picked from commit
dd6a0fcb0483d6c380c16aab597d5b88d6d8a9f0)
Sangchul Lee [Thu, 8 Dec 2022 07:35:41 +0000 (16:35 +0900)]
webrtc_internal: Add webrtc_take_snapshot() API
[Version] 0.3.272
[Issue Type] Internal API
Change-Id: I9750f05f7a64d414b9280644ebb6c84afb071417
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 8 Dec 2022 01:51:10 +0000 (10:51 +0900)]
webrtc_sink_snapshot: Support PNG format
[Version] 0.3.271
[Issue Type] Add
Change-Id: I663ea2cf682492929745e3b9022ec86c9e5c4051
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 6 Dec 2022 10:34:14 +0000 (19:34 +0900)]
webrtc_sink_snapshot: Support JPEG format
Location of locking mutex is moved to guard variables properly.
[Version] 0.3.270
[Issue Type] Add
Change-Id: Iad94e4309c72e6c603d7249ad3460a18feeae9cc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 6 Dec 2022 06:54:28 +0000 (15:54 +0900)]
webrtc_sink_snapshot: Adopt a thread for converting video format
[Version] 0.3.269
[Issue Type] Improvement
Change-Id: If60e49be6aa87f0011fd3ab4ae10bb10a03a150c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 2 Dec 2022 00:04:09 +0000 (09:04 +0900)]
webrtc_sink_snapshot: Add support for capture video frame
A video frame of receiving video stream can be captured by this new
functionality.
As of now, it only supports
1. to capture the decoded video frame and convert it only to RGB24 format.
2. to save dump file only with a macro definition.
These could be expanded to get improved and have more functionalities
next time.
1. support a user callback.
2. support various output formats.
3. adopt a dedicated thread for converting format.
[Version] 0.3.268
[Issue Type] New feature
Change-Id: I662f41ef639182b78f2ffc95d7e036625cbe5c53
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 4 Oct 2022 06:45:37 +0000 (15:45 +0900)]
webrtc_test: Add menu for new internal APIs tests
1. set/get audio track mute
2. get video track resolution
[Version] 0.3.267
[Issue Type] Add
Change-Id: I953ee0f0b3b1d982c393ada0bd4058228d981307
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 25 Nov 2022 03:02:55 +0000 (12:02 +0900)]
webrtc_internal: Add webrtc_get_video_resolution() API
Missing preconditions are added to doxygen of some functions.
[Version] 0.3.266
[Issue Type] Internal API
Change-Id: I3ccfbf39e122a753023dafe16e5a13f36513a039
Sangchul Lee [Wed, 23 Nov 2022 07:17:50 +0000 (16:17 +0900)]
webrtc_sink: Update received video frame resolution
[Version] 0.3.265
[Issue Type] New feature
Change-Id: I3ec24e1a964e884d51263cb9e3966db7374eee0a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 10 Nov 2022 03:19:50 +0000 (12:19 +0900)]
test: CMakeLists: Apply variable for ui dependencies
[Version] 0.3.264
[Issue Type] Refactoring
Change-Id: Ia6e36badf26b128be9c67580eb6eba99aba75f8c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 25 Oct 2022 06:12:00 +0000 (15:12 +0900)]
Check if handle is destroying before posting idle-callbacks
Sometimes, deadlock happens in C# TCT because of a sequence below.
- webrtc handle seems to be destroyed before negotiation
callbacks have not been processed in the main thread posted
by g_idle_add_full().
It is checked that state and error callbacks have no chance
to get this situation.
[Version] 0.3.263
[Issue Type] Improvement
Change-Id: Ia7359bb45aaa1095dd77ee673c5b3b72056da62b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 30 Sep 2022 07:51:39 +0000 (16:51 +0900)]
webrtc_internal: Add functions for audio track mute
It's cherry-picked from tizen_6.5 branch.
[Version] 0.3.262
[Issue Type] Internal API
Change-Id: Ia942f612e126c7a5a2bc6b44dcd52bd41be7816a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 8 Nov 2022 03:18:16 +0000 (12:18 +0900)]
webrtc_private: Generate dot file when an error callback is invoked
[Version] 0.3.261
[Issue Type] Debug
Change-Id: I279ac95a82ee5bdea1e2c83ae31f6e59e0c9a8ae
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 24 Oct 2022 02:47:18 +0000 (11:47 +0900)]
Fix SVACE defect (SEC_INVALID_ASSIGNMENT_WITH_UNSIGNED_VALUES)
[Version] 0.3.260
[Issue Type] Svace
Change-Id: Idfcfeeda1487ac0eb2cf3b71db0c7316052842d4
Sangchul Lee [Thu, 20 Oct 2022 04:08:08 +0000 (13:08 +0900)]
webrtc_sink: Change location of invoking _apply_display()
It is moved to outside of webrtc_set_display() which previously
locks a mutex.
[Version] 0.3.259
[Issue Type] Improvement
Change-Id: I252300784648941c136cd2b517d2fa81b51d9d8d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 7 Oct 2022 00:56:10 +0000 (09:56 +0900)]
webrtc_ini: Add new item for video h/w encoder caps extension
e.g.)
[source camera]
video hw encoder element = v4l2h264enc
; comma separated list of 'field-name=value' that will be set to the capsfilter
video hw encoder caps ext = profile=constrained-baseline,level=3
Some video hardware encoder could require specific fields for
its caps. For example, level, profile, and so on.
A capsfilter for encoder is added.
[Version] 0.3.258
[Issue Type] Improvement
Change-Id: I2433db5f11b33712e2b720956a57f7bf340fc0b1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 12 Oct 2022 04:17:23 +0000 (13:17 +0900)]
webrtc_doc: Add '#' to stats enum
[Version] 0.3.257
[Issue Type] Documentation
Change-Id: I2f13e939588f937d0308617e8c2756d0a4b5268f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 7 Oct 2022 00:53:37 +0000 (09:53 +0900)]
webrtc_private: Move _gst_set_element_properties() to _source_private.c
[Version] 0.3.256
[Issue Type] Refactoring
Change-Id: I2ce2ade6789480d6b9485815d89d56734b6bd165
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 30 Sep 2022 03:29:45 +0000 (12:29 +0900)]
Update doxygen and log regarding ICE candidate message
[Version] 0.3.255
[Issue Type] Doxygen / Log
Change-Id: If8b59c0d09500f3b6e981c8a0c92c3540347f8db
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
hj kim [Tue, 27 Sep 2022 06:08:55 +0000 (15:08 +0900)]
remove raw_format from source structure
Change to get raw_format from ini only when it is needed.
[Version] 0.3.254
[Issue Type] API
Change-Id: I9aba23be4a85964a9a6ffc6dc840e3003823f7b4
hj kim [Mon, 26 Sep 2022 06:03:51 +0000 (15:03 +0900)]
webrtc.h: Update webrtc_screen_source_set_crop() API description
[Version] 0.3.253
[Issue Type] API
Change-Id: I5d1cc4c6727eabd7facacaf3c4c3838056d9be44
hj kim [Mon, 26 Sep 2022 05:40:23 +0000 (14:40 +0900)]
Make a function to set origin video source resolution
[Version] 0.3.252
[Issue Type] Refactoring
Change-Id: Ifc3a95a78c3265d34f6cb9b825ee6bc76a8ad0e5
hj kim [Fri, 23 Sep 2022 07:20:08 +0000 (16:20 +0900)]
webrtc_source_screen: move resolution setting code for screen source to webrtc_source_screen.c
setting the default video resolution to screen resolution is only required for screen source.
[Version] 0.3.251
[Issue Type] Refactoring
Change-Id: I25dbf22a6d8a8469705e6fee7c69bbd1369b2a32
hj kim [Fri, 23 Sep 2022 06:59:28 +0000 (15:59 +0900)]
webrtc_source_screen: move screen source related code to webrtc_source_screen.c
[Version] 0.3.250
[Issue Type] Refactoring
Change-Id: Ib1f9d05448de4e0f26a705195323125fd4bd9cd6
Sangchul Lee [Mon, 26 Sep 2022 03:24:35 +0000 (12:24 +0900)]
webrtc_display: Return NULL in case of mm_display_interface_init() failure
[Version] 0.3.249
[Issue Type] Bug fix
Change-Id: I389a9a8e99e5ebfd2544a641a1b30f61c8bd155f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
hj kim [Thu, 22 Sep 2022 23:52:35 +0000 (08:52 +0900)]
webrtc_source_private: Reduce code complexity
[Version] 0.3.248
[Issue Type] Refactoring
Change-Id: Iecdd0ed61d19c2899085614e96a9a71204ad54dd
hj kim [Thu, 1 Sep 2022 06:37:22 +0000 (15:37 +0900)]
Make internal APIs for crop screen source public
Below functions are moved and have platform privilege.
- webrtc_screen_source_set_crop()
- webrtc_screen_source_unset_crop()
[Version] 0.3.247
[Issue Type] API
Change-Id: Iad8d3b9842db4c033052e62596c5a79610de22b1
hj kim [Wed, 21 Sep 2022 02:28:28 +0000 (11:28 +0900)]
add videorate to support dynamic framerate change
It doesn't support increasing framerate.
[Version] 0.3.246
[Issue Type] Improvement
Change-Id: Iea5ce0881ae55e1d881d847b88ff41dcede75a6f
Sangchul Lee [Wed, 21 Sep 2022 08:38:00 +0000 (17:38 +0900)]
Apply restriction for use of WEBRTC_MEDIA_SOURCE_TYPE_SCREEN
Locations of macro to exclude lines from coverage measurement
are also modified.
[Version] 0.3.245
[Issue Type] API
Change-Id: Ibbe0bf8a32f2c61b3734690cbe9068809d88349d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
hj kim [Wed, 21 Sep 2022 05:25:00 +0000 (14:25 +0900)]
webrtc_source_screen: sensor API dependency change
[Version] 0.3.244
[Issue Type] package change
Change-Id: I8df9aad81f4d28b86a2503f3a7261f5b44389395
Sangchul Lee [Tue, 20 Sep 2022 04:23:14 +0000 (13:23 +0900)]
webrtc_source_camera: Add CAMERA_DEVICE_TYPE_DUMMY for videotestsrc element
A tizen emulator uses 'videotestsrc' element as a camera source.
Now, we use 'pattern' property for device id in this case.
This fixes UTC failures - set/get camera device id.
[Version] 0.3.243
[Issue Type] Bug fix / UTC failure
Change-Id: I36ca271ebb5543fdb88cc197b7cd3fc05936f59a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 16 Sep 2022 13:14:24 +0000 (22:14 +0900)]
webrtc_transceiver: Add encoding-params(2) to caps in case of OPUS codec
It represents channels.
In case of gst to gst, it worked fine without it. But in case of gst
to web, it does not work(web API failure).
It is also mandatory according to RFC7587, so it is added.
These codes are related to OPUS media of 'recvonly' in offer description.
[Version] 0.3.242
[Issue Type] Improvement / Compatibility
Change-Id: I57596fbb5b9b7c99efe856e5127de36d89ef6d88
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 19 Sep 2022 02:43:01 +0000 (11:43 +0900)]
webrtc_transceiver: Fix to add missing payload type of an offer description
When transceiver direction was set to 'recvonly', a particular transceiver
was added with a preference caps without payload type. When trying to
create an offer description, the payload type must be added to the caps
regardless its source type.
[Version] 0.3.241
[Issue Type] Bug fix
Change-Id: I924b297a3a23522ca7466c45eb0d65de1972d82c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 15 Sep 2022 02:11:28 +0000 (11:11 +0900)]
Add more macro to exclude lines from coverage measurement
[Version] 0.3.240
[Issue Type] Line coverage
Change-Id: I0a9b3a680c19674e8cf33a7e03447cae4879186c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
hj kim [Wed, 14 Sep 2022 05:55:02 +0000 (14:55 +0900)]
webrtc_private: Move some structures to the proper source file
[Version] 0.3.239
[Issue Type] Refactoring
Change-Id: Id3bfa94408aeaad06a19159dfdb33f2b06f04d53
Sangchul Lee [Wed, 14 Sep 2022 03:04:03 +0000 (12:04 +0900)]
webrtc_test_validate: Add 'channel-mapping-family' value to appsrc caps for OPUS codec
It fixes not-negotiated issue on appsrc.
[Version] 0.3.238
[Issue Type] Bug fix
Change-Id: I2e256e7d7abff69e1e1bec6c1c2da025b5923af0
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 13 Sep 2022 07:12:25 +0000 (16:12 +0900)]
webrtc_internal: Revise webrtc_media_source_set_payload_type() for media packet source
This function should affect media packet source. It is fixed.
[Version] 0.3.237
[Issue Type] Bug fix
Change-Id: I12b49da60526d2ba93cef07e1ceea9b4e887df33
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 8 Sep 2022 07:30:04 +0000 (16:30 +0900)]
webrtc_source_screen: Use mm_display_interface_get_screen_size() instead of elm_win_screen_size_get()
This will remove the dependency of elementary lib.
[Version] 0.3.236
[Issue Type] Dependency
Change-Id: I0ee14f4c100edf1c4b5aec02732768eb82acbf54
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
hj kim [Mon, 5 Sep 2022 03:53:29 +0000 (12:53 +0900)]
webrtc_source_file: move file source related code to webrtc_source_file.c
[Version] 0.3.235
[Issue Type] Refactoring
Change-Id: I2df68784dcb962533faa95c3661a99f12aec9f0a
hj kim [Mon, 5 Sep 2022 03:27:58 +0000 (12:27 +0900)]
webrtc_source_private: Add function to release request pad
_release_request_pad()
[Version] 0.3.234
[Issue Type] Refactoring
Change-Id: Id6837eb82fae01c28a02c14f71c1e3fa47427488
hj kim [Mon, 5 Sep 2022 02:41:48 +0000 (11:41 +0900)]
webrtc_source_loopback: Add some functions to update loopback
Below functions added.
-_set_need_decoding_for_loopback()
-_destroy_looopback_render_pipeline()
[Version] 0.3.233
[Issue Type] Refactoring
Change-Id: I94b7ac49fb9be0d830e701d6000bbbbe1eeafbb1
Sangchul Lee [Mon, 5 Sep 2022 07:47:47 +0000 (16:47 +0900)]
webrtc_source_screen: Check return values and release resource of sensor API
[Version] 0.3.232
[Issue Type] Coverity defect(CHECKED_RETURN) & bug fix
Change-Id: Ic5f90f54c1bd070101da6e1433d186d5444dd305
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
hj kim [Mon, 5 Sep 2022 01:10:19 +0000 (10:10 +0900)]
Add webrtc_source_loopback and move related codes to it
[Version] 0.3.231
[Issue Type] Refactoring
Change-Id: I7c402b2db477f87436dd6e6f0d463a06419e3cd0
Sangchul Lee [Mon, 5 Sep 2022 03:33:12 +0000 (12:33 +0900)]
CMakefile: Exclude capi-system-sensor dependency when using TIZEN_TV
sensor-internal.h could not be found with tv build.
(it is found by QB.)
[Version] 0.3.230
[Issue Type] Build dependency
Change-Id: I56c0eb28b251d3de9a701f31d326a42dd4d8d6ca
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
hj kim [Fri, 2 Sep 2022 06:38:46 +0000 (15:38 +0900)]
Move some APIs to proper source file and make them static
[Version] 0.3.229
[Issue Type] Refactoring
Change-Id: I377c6c12b46d0d4ec80aa77be773efb19309c155
Sangchul Lee [Thu, 1 Sep 2022 07:37:42 +0000 (16:37 +0900)]
Add webrtc_transceiver.c and related codes are moved into it
[Version] 0.3.228
[Issue Type] Refactoring
Change-Id: Ic010a677849bc9253e3fcb0459af2a8dcf1eb9d5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 1 Sep 2022 05:42:09 +0000 (14:42 +0900)]
webrtc_test_espp: Revise logic to submit audio/video packets properly
Following steps below are required for espp.
1. activate both stream types
2. invoke prepare async
3. after receiving ready to prepare callback for each stream type
4. submit packets for each stream type
5. finally, start espp handle when prepare async done callback is invoked
[Version] 0.3.227
[Issue Type] Bug fix
Change-Id: I3a72b9ab9088e5a0241b4da49b6dfe3ecb1319c1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
hj kim [Mon, 29 Aug 2022 07:14:03 +0000 (16:14 +0900)]
webrtc_ini: Add functions to get value from ini
[Version] 0.3.226
[Issue Type] Refactoring
Change-Id: I78e4fb36d6562ed0395a7c9b6bf26cdd4ad35e2f
hj kim [Fri, 29 Jul 2022 01:22:22 +0000 (10:22 +0900)]
remove redundant code
Plus, apply tizen coding rule.
[Version] 0.3.225
[Issue Type] Refactoring
Change-Id: I31ac8625327a316cafdf3db7aeeeffc150d6c512
hj kim [Wed, 31 Aug 2022 05:02:23 +0000 (14:02 +0900)]
fixup! webrtc_sorce_screen: Destroy rotate sensor listener handle
Rotate sensor listener handle must be destroyed before destroying webrtc.
Change-Id: I0537f37ba387aa3a6fec08eb39afd94069d23c26
hj kim [Wed, 24 Aug 2022 08:53:03 +0000 (17:53 +0900)]
webrtc_source_screen: move pad probe position for loopback on crop
screen source can have crop element, so the video stream for loopback should be collected on crop element.
and proper resolution after crop should be applied to video loopback.
[Version] 0.3.224
[Issue Type] Improvement
Change-Id: Ie7585d3115cad392fe272a254ff460ee0e92b353
Sangchul Lee [Wed, 31 Aug 2022 03:01:02 +0000 (12:01 +0900)]
Fix doxygen error
@ is doxygen command.
To avoid this error it needs to add an @ before @.
(It is reported and guided by API team)
[Version] 0.3.223
[Issue Type] Doxygen
Change-Id: Ie79b8018e19b3bb44d2cf8c1d59d84fe3487c211
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 31 Aug 2022 02:31:49 +0000 (11:31 +0900)]
CMakefile: Add capi-system-sensor dependency only when using TIZEN_FEATURE_UI
This library is only used in case of using screen source.
[Version] 0.3.222
[Issue Type] Build dependency
Change-Id: I374cd02c2b7820b5ab39d992e7417e6d7aa31668
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 30 Aug 2022 08:22:38 +0000 (17:22 +0900)]
webrtc_sink/source: Fix resource leaks
[Version] 0.3.221
[Issue Type] Coverity defect
Change-Id: I318bcb7d6e962df59c36988d02d89d785dc23a7b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 25 Aug 2022 07:04:36 +0000 (16:04 +0900)]
Add more functions with @see doxygen commnad for webrtc_add_media_source()
[Version] 0.3.220
[Issue Type] Doxygen
Change-Id: Ia787c48506065e5f3e43ed13d79d492e58173698
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 30 Aug 2022 06:56:36 +0000 (15:56 +0900)]
webrtc_test_espp: Fix issue about calling esplusplayer_prepare_async()
This patch fixed issues below
1. _prepare_async() function is called too early
2. Occasionally, redundant _prepare_async() function call happens
[Version] 0.3.219
[Issue Type] Bug fix
Change-Id: Iaca99089df929d385cf535a6accd4a0b80fc6a4c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 25 Aug 2022 06:45:51 +0000 (15:45 +0900)]
webrtc_internal: Add more error conditions to webrtc_media_source_set_payload_type()
Conditions are added to return WEBRTC_ERROR_INVALID_PARAMETER.
1. check if the media type is valid.
2. check if the codec only allows fixed payload type or not
and check the input parameter value.
[Version] 0.3.218
[Issue Type] Improvement
Change-Id: I711f0d7ffc9d88e634d93656f91e3789e13c928f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 30 Aug 2022 02:31:56 +0000 (11:31 +0900)]
spec: Exclude headless test package when tizen_espp_render option is set
Before this patch, when using 'tizen_espp_render' option, a build error
regarding webrtc_test_headless occurs. It is fixed now.
[Version] 0.3.217
[Issue Type] Bug fix / packaging
Change-Id: I5c242fcdddbd60e042bcbd00358c5204dd2774e3
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
hj kim [Wed, 24 Aug 2022 06:38:07 +0000 (15:38 +0900)]
webrtc_source: crop and resolution change cannot be done at the same time
The results can vary depending on the order of resolution change and crop.
Therefore, those cannot be set at the same time.
[Version] 0.3.216
[Issue Type] Improvement
Change-Id: I305e1f9e72ce43629d733e31ec5d18cb005b1a9e
hj kim [Wed, 10 Aug 2022 05:21:10 +0000 (14:21 +0900)]
webrtc_source_screen: remove screen mode parameter from webrtc_screen_source_set_crop()
Check if the screen is rotated directly through the sensor.
[Version] 0.3.215
[Issue Type] Improvement
Change-Id: I3067c8ffe651a4b2ac7230ee8adeb91d2f39dc67
Sangchul Lee [Wed, 24 Aug 2022 10:26:13 +0000 (19:26 +0900)]
webrtc_test: Fix deadlock issue
Without stopping push packets to a media packet source and then
when trying to remove the source or to destroy webrtc handle,
it was blocked. This issue is fixed.
[Version] 0.3.214
[Issue Type] Bug fix
Change-Id: I6c8a5710b1772cf1756f99db8de1b7f07411f442
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 24 Aug 2022 09:26:28 +0000 (18:26 +0900)]
webrtc_test: Remove redundant codes in switch-case
Some codes are moved to the top or the bottom of the function
to reduce lines.
[Version] 0.3.213
[Issue Type] Refactoring
Change-Id: I22889884caf3f562703b557824f5b0dddb320cff
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 24 Aug 2022 07:07:08 +0000 (16:07 +0900)]
webrtc_private: Get mlineindex from source index
It fixes an issue that FEC is not applied when webrtc handle with
source(s) is operated as an answerer.
Due to the implementation of webrtcbin, only a transceiver created
by webrtcbin itself has a valid prop value of mlineindex. Others have
-1 value for this. Hence, _update_transceivers_fec() is now using an
index of sources as a mlineindex.
[Version] 0.3.212
[Issue Type] Bug fix
Change-Id: I4e3ead3413effe202e3034d88ec6bf7f2aa0f221
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 23 Aug 2022 12:41:06 +0000 (21:41 +0900)]
fixup! webrtc_private: Check prefix of STUN/TURN server URL
NULL and Empty string are allowed to be set as NULL.
Change-Id: Iff65bd17636c247daf1a6378e83b2d5fb001bfb0
hj kim [Tue, 23 Aug 2022 07:18:12 +0000 (16:18 +0900)]
webrtc_source_screen: set proper video resolution after crop
[Version] 0.3.211
[Issue Type] Bug fix
Change-Id: I34c33fd280ed88922ecef1ca3fa359fca9786fc1
Sangchul Lee [Tue, 23 Aug 2022 06:12:17 +0000 (15:12 +0900)]
webrtc_test: Add test cases for payload type
spt. Set payload type
gpt. Get payload type
[Version] 0.3.210
[Issue Type] Add
Change-Id: I5312ed8437ab1e7210c12bb67fed42e8e6ec48f4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 23 Aug 2022 03:34:28 +0000 (12:34 +0900)]
webrtc_internal: Add APIs to set/get payload type
Functions below are added
: webrtc_media_source_set_payload_type()
: webrtc_media_source_get_payload_type()
[Version] 0.3.209
[Issue Type] Internal API
Change-Id: I69c20167d1a6d07a6f12ac784c3e921e929fc0f1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 19 Aug 2022 06:30:32 +0000 (15:30 +0900)]
webrtc_source: Specify payload type to transceiver codec only in case of offer
This patch is only for WEBRTC_MEDIA_SOURCE_TYPE_NULL.
This fixes a compatibility issue in case of
chrome(offerer) - tizen native API(answerer)
[Version] 0.3.208
[Issue Type] Compatibility
Change-Id: Ib367e5142b4082bac02acf95329c9f3fb3eafa55
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
hj kim [Thu, 18 Aug 2022 07:37:17 +0000 (16:37 +0900)]
webrtc_source_private: move pad probe position for loopback behind videoscale
Some sources support video scale via videoscale element.
so, the stream for loopback should be collected behind videoscale element.
[Version] 0.3.207
[Issue Type] Improvement
Change-Id: Ia362797bd3c3f9f989def391660bf3cefe4f7fb4
hj kim [Fri, 19 Aug 2022 01:38:55 +0000 (10:38 +0900)]
webrtc_source: fix crash when change resolution while loopback
For sources whose resolution is dynamically changed, caps of appsrc for loopback should be changed as well.
Plus, initialize app source related information when destroy loopback pipeline.
[Version] 0.2.206
[Issue Type] Bug fix
Change-Id: I3dc9bd35a8e8f6075885eebd6f50af818054c4d4
hj kim [Fri, 19 Aug 2022 01:47:51 +0000 (10:47 +0900)]
webrtc_source: Don't allow resolution change of encoded video format
This new condition is checked only when the state is not IDLE.
[Version] 0.3.205
[Issue Type] Improvement(check condition)
Change-Id: I25bd78a4f20615c36735c9c44b3880a1b762e895
hj kim [Fri, 12 Aug 2022 06:20:47 +0000 (15:20 +0900)]
add videoscale to support dynamic resolution change
To support dynamic resolution change for sources that do not support dynamic resolution change.
[Version] 0.3.204
[Issue Type] Improvement
Change-Id: I617951d757150168e81a1f7efb8e4e390f1f9153
Sangchul Lee [Thu, 18 Aug 2022 01:10:11 +0000 (10:10 +0900)]
webrtc_sink: Fix memory leak
[Version] 0.3.203
[Issue Type] Coverity defect (Resource leak)
Change-Id: I48e8d4a660ce618ac1b620f0b2e661a19c5398aa
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 12 Aug 2022 09:02:03 +0000 (18:02 +0900)]
Make webrtc_foreach_stats() synchronous function
It ensures that webrtc_foreach_stats() returns after invoking
all callbacks. It takes approximately under 30ms.
[Version] 0.3.202
[Issue Type] API
Change-Id: I5502ee3e948bad506279e34ba949bf99c5ed934c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 29 Jul 2022 14:34:37 +0000 (23:34 +0900)]
webrtc_test: Add menu to set/get encoder bitrate
[Version] 0.3.201
[Issue Type] Add
Change-Id: Ie860534ca58d2c31db6a49208e916a141023c0fc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 15 Jul 2022 11:14:13 +0000 (20:14 +0900)]
webrtc_test: Add menu to set/get camera device id
[Version] 0.3.200
[Issue Type] Add
Change-Id: Id780ecee512987389d3fda68f9a86ee24e422630
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Sun, 7 Aug 2022 12:18:35 +0000 (21:18 +0900)]
webrtc_sink_dump: Add support for incoming stream dump
[Version] 0.3.199
[Issue Type] New feature
Change-Id: I106355ce8471d9ed21424329e31b0ee678045068
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Mon, 8 Aug 2022 05:21:10 +0000 (14:21 +0900)]
webrtc_ini: Add new item to enable to dump incoming streams
Default dump path is '/tmp'. If 'dump incoming streams' in ini file is
set to yes, then encoded streams received from a remote peer will be
dumped to files located in the dump path.
e.g)
[general]
dump path = /tmp
dump incoming streams = yes
[Version] 0.3.198
[Issue Type] New feature
Change-Id: Ifd3d8d445ad67e2e0d0ef588c266231e0d33dcdd
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 9 Aug 2022 02:22:57 +0000 (11:22 +0900)]
webrtc_private: Check prefix of STUN/TURN server URL
Doxygen is also improved.
[Version] 0.3.197
[Issue Type] Improvement
Change-Id: Ia3d2b0991cdef41709cd2d5c19d8e0c82bf09a40
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 5 Aug 2022 07:47:08 +0000 (16:47 +0900)]
webrtc_sink: Update 'config-interval' property value in case of h264parse
[Version] 0.3.196
[Issue Type] Improvement
Change-Id: I4a4d67d2b410f5cc5bc96195770773e04e276cb3
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 5 Aug 2022 02:46:18 +0000 (11:46 +0900)]
webrtc_sink: Enable 'use-tbm' property of videosink if H/W decoder is used
It supports both WEBRTC_DISPLAY_TYPE_OVERLAY and
WEBRTC_DISPLAY_TYPE_ECORE_WL display types.
videoconvert is also excluded in this situation.
[Version] 0.3.195
[Issue Type] Improvement
Change-Id: If6e432762ee75b42a570a871342ce154400cf702
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Fri, 5 Aug 2022 01:19:48 +0000 (10:19 +0900)]
Use GET_CAPS_INFO_FROM_PAD() instead of gst_pad_get_current_caps()
This new macro also tries to call gst_pad_query_caps()
if the gst_get_current_caps() returns NULL value.
[Version] 0.3.194
[Issue Type] Improvement
Change-Id: Iace8d594b3d5da1170445198b976cb8e7d10679a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 4 Aug 2022 02:07:10 +0000 (11:07 +0900)]
webrtc_source_private: Specify 'useinbandfec' attribute only when using 'opusenc'
Codec setting is changeable. So, it is fixed to set it properly.
[Version] 0.3.193
[Issue Type] Bug fix
Change-Id: I64239430689845f5c5ae9cae51d4a72700c6c4de
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 4 Aug 2022 00:29:31 +0000 (09:29 +0900)]
webrtc_private: Improve _check_and_encode_turn_url()
Becuase a password could be encoded by base64,
it also needs to apply uri encoding.
[Version] 0.3.192
[Issue Type] Improvement
Change-Id: Ic57be7d44791e120d60abca9a3f1f83407e8fbcf
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 27 Jul 2022 03:06:46 +0000 (12:06 +0900)]
Add API to set/get encoder bitrate
Functions are added as below.
- webrtc_media_source_set_encoder_bitrate()
- webrtc_media_source_get_encoder_bitrate()
[Version] 0.3.191
[Issue Type] API
Change-Id: I038da91a4ea00e4acac3f92d52a33b8c81ad6e29
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 13 Jul 2022 13:52:51 +0000 (22:52 +0900)]
Add API to set/get camera device id
Functions are added as below.
- webrtc_camera_source_set_device_id()
- webrtc_camera_source_get_device_id()
[Version] 0.3.190
[Issue Type] API
Change-Id: I86a6e87049aaf0d83c3a3dab46c472d8dbe9b27b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Tue, 2 Aug 2022 06:24:15 +0000 (15:24 +0900)]
CMakefile: Revise file exclusion pattern to include webrtc_internal.h
Devel package must have the internal header.
[Version] 0.3.189
[Issue Type] Bug fix / packaging
Change-Id: I4deb602313cbcd0f0adf01cea19a316958c11fba
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
hj kim [Wed, 27 Jul 2022 08:03:18 +0000 (17:03 +0900)]
webrtc_source_file: Encoding audio stream from filesrc with default codec for compatibility
gstreamer does not support payloaders for some encoding audio formats.
In this case, after decoding, encode it again with the corresponding format in ini.
[Version] 0.3.188
[Issue Type] Improvement
Change-Id: I5c2f19bfe0056986e0128770ef9038966b7e3989
hj kim [Thu, 28 Jul 2022 06:42:55 +0000 (15:42 +0900)]
webrtc_source_file: remove fakesink pad block probe when release filesrc related resources
[Version] 0.3.187
[Issue Type] Bug fix
Change-Id: I6abcec9bcf02a014bbb7d5bc448381938797fab6
hj kim [Tue, 2 Aug 2022 02:30:35 +0000 (11:30 +0900)]
webrtc_source_file: rename function name _remove_filesrc_pad_block_probe to _remove_all_filesrc_pad_block_probe
[Version] 0.3.186
[Issue Type] Improvement
Change-Id: Ib12837ff188de9716a62120dd2b0104627bbfa2e
hj kim [Thu, 28 Jul 2022 04:55:48 +0000 (13:55 +0900)]
webrtc_source_file: remove all elements in filesrc pipeline except filesrc and decodebin
The result of the operation is same now.
However, there is no need to care about the elements can be added/deleted.
[Version] 0.3.185
[Issue Type] Improvement
Change-Id: I50e74b4db3738374d3bbeaf558e773ba7b13f17f
hj kim [Wed, 27 Jul 2022 09:00:12 +0000 (18:00 +0900)]
webrtc_source_file: remove elements created when error occurred
[Version] 0.3.184
[Issue Type] Improvement
Change-Id: I6fc4c73e27a031c122abfba77b10d8cd8b0064ee
Sangchul Lee [Fri, 29 Jul 2022 07:47:39 +0000 (16:47 +0900)]
webrtc_source_private: Set name to encoder element
[Version] 0.3.183
[Issue Type] Improvement
Change-Id: I491a618176e819a735377e0248f86b4d6a325893
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 28 Jul 2022 15:53:05 +0000 (00:53 +0900)]
webrtc_test: Fix crash when URL of '-c' option does not have port
[Version] 0.3.182
[Issue Type] Crash fix
Change-Id: Ic09e1c7a4ee5bebcc6c9487bb8757aa27da7945d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 28 Jul 2022 15:43:31 +0000 (00:43 +0900)]
Apply URL encoding when username of turn server URL has ':'
The form of URL should be turn(s)://username:password@host:port.
If the username has ':', for example '
1221435:someidstring',
this could not be applied properly inside of webrtcbin.
In this case, this patch fixes it with using URL encoding
to avoid this situation.
[Version] 0.3.181
[Issue Type] Bug fix
Change-Id: Icd30fdbea39469526abde8016745fc291bf2d4a5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 27 Jul 2022 08:02:44 +0000 (17:02 +0900)]
webrtc_test: Add webrtc_test_signaling.c and move related codes to it
[Version] 0.3.180
[Issue Type] Refactoring
Change-Id: I4b75e65616d28a2bda6da4bc95f9c45160ff5ac5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 27 Jul 2022 11:58:34 +0000 (20:58 +0900)]
webrtc_private: Rename _webrtc_stop() to _stop()
[Version] 0.3.179
[Issue Type] Convention
Change-Id: I18a9e20c7e201ddfe929e75c02416d1225d0f92a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 27 Jul 2022 03:25:30 +0000 (12:25 +0900)]
webrtc_source: Remove some macros for exclusion of line coverage test
[Version] 0.3.178
[Issue Type] Line coverage
Change-Id: I8e867c50631e0aa2bfad553c7d49af2acdc52099
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>