platform/core/api/mediastreamer.git
10 months agoFix SVACE defect (SIGN_EXTENSION) 11/295311/1 accepted/tizen_8.0_unified accepted/tizen_unified tizen tizen_8.0 accepted/tizen/8.0/unified/20231005.092740 accepted/tizen/unified/20230710.013103 tizen_8.0_m2_release
Seungbae Shin [Wed, 5 Jul 2023 04:57:15 +0000 (13:57 +0900)]
Fix SVACE defect (SIGN_EXTENSION)

[Version] 0.1.149
[IssueType] Svace

Change-Id: I7dab1f8c09d5a89ef10ba11d67c0e5fffba6d931

10 months agoFixed the build error using gcc 13 17/295217/2 accepted/tizen_unified_dev accepted/tizen/unified/20230706.152202 accepted/tizen/unified/dev/20230726.115753
wchang kim [Tue, 4 Jul 2023 01:51:21 +0000 (10:51 +0900)]
Fixed the build error using gcc 13

Change-Id: Ia6556f5501878de2e9132c95004f3889bb4c3fdd

20 months agoFix resource leaks and division by zero 84/279784/3 accepted/tizen_7.0_unified accepted/tizen_7.0_unified_hotfix tizen_7.0 tizen_7.0_hotfix accepted/tizen/7.0/unified/20221110.063737 accepted/tizen/7.0/unified/hotfix/20221116.104727 accepted/tizen/unified/20220819.122409 submit/tizen/20220819.013019 tizen_7.0_m2_release
jiyong.min [Wed, 17 Aug 2022 23:09:55 +0000 (08:09 +0900)]
Fix resource leaks and division by zero

[Version] 0.1.148
[IssueType] Bug fix

Change-Id: I00fe8bd7cf1f510b1151c008295237fd54b74b54

21 months ago[ACR-1708][Deprecate] capi-media-streamer module deprecation 71/277771/5 accepted/tizen/unified/20220719.131716 submit/tizen/20220718.235641
jiyong.min [Tue, 12 Jul 2022 04:26:27 +0000 (13:26 +0900)]
[ACR-1708][Deprecate] capi-media-streamer module deprecation

Change-Id: Ib81282c63aeefef81cb4fd89ff7a9fd8cfcbe3a7

23 months agospec: Change gcov object installation 40/275440/1 accepted/tizen/unified/20220528.144412 submit/tizen/20220526.042134
Sangchul Lee [Wed, 25 May 2022 02:05:23 +0000 (11:05 +0900)]
spec: Change gcov object installation

[Version] 0.1.147
[Issue Type] Gcov

Change-Id: I57e2d7543a031552a5954cca8db775fb3a477350
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
2 years agofix coverity issue 69/271569/4 accepted/tizen/unified/20220223.132451 submit/tizen/20220223.080041
Hyunil [Wed, 23 Feb 2022 05:50:07 +0000 (14:50 +0900)]
fix coverity issue

- Unchecked return value (CHECKED_RETURN)

[Version] 0.1.146
[Issue Type] Bug fix

Change-Id: If777552b24d2c7cab156d30a2dcc36809be496e5
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
2 years agoFix typo 37/271237/1
Hyunil [Thu, 17 Feb 2022 05:18:02 +0000 (14:18 +0900)]
Fix typo

[Version] 0.1.145
[IssueType] Fix typo

Change-Id: Ia1183e0cb1f613aec160170aa11e11de5120edda
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
2 years agoFix codes about gstreamer 1.20.0 update 76/270876/8 accepted/tizen/unified/20220217.153457 submit/tizen/20220216.051033
Hyunil [Thu, 10 Feb 2022 09:45:35 +0000 (18:45 +0900)]
Fix codes about gstreamer 1.20.0 update

[Version] 0.1.144
[IssueType] Update

Change-Id: I3c3c4e21505662bd4383392984455ecafc7e09af
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
2 years agomedia_streamer_gst: Check return value of gst_buffer_map() 68/267068/1 accepted/tizen/unified/20211125.144638 submit/tizen/20211125.052244
Sangchul Lee [Thu, 25 Nov 2021 03:23:12 +0000 (12:23 +0900)]
media_streamer_gst: Check return value of gst_buffer_map()

[Version] 0.1.143
[Issue Type] Improvement

Change-Id: Ifb4cc96ed929d5059208cc1a8e249bec1955cb9d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
2 years agoChange the path of the configuration file 64/259164/1 accepted/tizen/6.5/unified/20211028.100330 accepted/tizen/unified/20210608.131242 submit/tizen/20210604.030216 submit/tizen_6.5/20211028.161801 tizen_6.5.m2_release
Hyunil [Wed, 2 Jun 2021 00:19:14 +0000 (09:19 +0900)]
Change the path of the configuration file

- mmfw_media_streamer.ini path is changed.

[Version] 0.1.142
[Issue Type] Update

Change-Id: Ia1818c4469720dce9c85908845f581c8b9f8e43f
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
2 years agoBug fix: Add return value check 31/258531/2 submit/tizen/20210520.075140
Hyunil [Thu, 20 May 2021 02:33:32 +0000 (11:33 +0900)]
Bug fix: Add return value check

[Version] 0.1.141
[Issue Type] Bug fix

Change-Id: I163a4d9ea135a9cbc2ae8207a4200af4df96fbfc
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoSkip seek to 0 in media_streamer_stop() when using custom src node 04/256204/1 accepted/tizen/unified/20210402.091032 submit/tizen/20210401.070457
Sangchul Lee [Wed, 31 Mar 2021 01:18:16 +0000 (10:18 +0900)]
Skip seek to 0 in media_streamer_stop() when using custom src node

Currently, seek is not available on a custom src node. It occurs
an error when calling the stop API. It is now fixed.

[Version] 0.1.140
[Issue type] Bug fix

Change-Id: I23aa1ac327a4abe22e06c64a4736de5c51d20dfc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agomedia_streamer_gst: Revise pull/push packet API 77/256177/2
Sangchul Lee [Tue, 30 Mar 2021 08:31:01 +0000 (17:31 +0900)]
media_streamer_gst: Revise pull/push packet API

Logs are revised to clarify the situation.

[Version] 0.1.139
[Issue type] Refactoring

Change-Id: Iaa6e3750c8dce712e2905f51236cc9873b74eba4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agomedia_streamer_node: Rename eos signal callback function of appsink 13/256113/2
Sangchul Lee [Mon, 29 Mar 2021 11:41:57 +0000 (20:41 +0900)]
media_streamer_node: Rename eos signal callback function of appsink

It is to follow internal naming rule.
Logs are also revised.

[Version] 0.1.138
[Issue type] Improvement

Change-Id: Ibb94374cb84061e813d3226e24f53523136aaa42
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agomedia_streamer_test: Free the data field of packet after receiving the data by pull API 12/256112/2
Sangchul Lee [Mon, 29 Mar 2021 11:32:03 +0000 (20:32 +0900)]
media_streamer_test: Free the data field of packet after receiving the data by pull API

It is fixed to free the text data after being used.
"__" prefix are added to callback function names regarding
custom nodes.

[Version] 0.1.137
[Issue type] Test application

Change-Id: I8f975a96447058ea53ce9001f3e55e8f642d5564
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agomedia_streamer_node: Return missing GstFlowReturn value at the end of new-sample... 11/256111/1
Sangchul Lee [Mon, 29 Mar 2021 11:13:19 +0000 (20:13 +0900)]
media_streamer_node: Return missing GstFlowReturn value at the end of new-sample signal callback

Log are added and function name is renamed.

[Version] 0.1.136
[Issue type] Bug fix

Change-Id: Ifccbc0a7b35b928100ff75966214bc6cec257223
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agomedia_streamer_test: Fix bug related to custom nodes test 80/255980/1
Sangchul Lee [Fri, 26 Mar 2021 01:28:13 +0000 (10:28 +0900)]
media_streamer_test: Fix bug related to custom nodes test

Creating nodes for the test was missing. Now it is added.
_create_app_test() is renamed to _create_custom_nodes().

[Version] 0.1.135
[Issue type] Test application

Change-Id: Iee9db7ac32859c3a1b789f18750d967cf7016ebb
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agomedia_streamer_test: Remove unsupported menu 73/255973/3
Sangchul Lee [Fri, 26 Mar 2021 00:50:21 +0000 (09:50 +0900)]
media_streamer_test: Remove unsupported menu

Remove 'Appsrc -> Appsink' case in autoplug playing scenario.

[Version] 0.1.134
[Issue type] Test application

Change-Id: Ic5d58c51353d71eb66364eaf5638787271b26f40
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agomedia_streamer_node: Release requested pad when failure occurs 23/254123/1
Sangchul Lee [Tue, 23 Feb 2021 23:48:05 +0000 (08:48 +0900)]
media_streamer_node: Release requested pad when failure occurs

[Issue type] Improvement
[Version] 0.1.133

Change-Id: Ib68898d542093e6ad27aac079ee4a46a3c30d441
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agomedia_streamer_util: Use g_new0 instead of g_malloc0 98/254098/2
Sangchul Lee [Tue, 23 Feb 2021 10:24:29 +0000 (19:24 +0900)]
media_streamer_util: Use g_new0 instead of g_malloc0

To resolve missing casting, it is changed.

[Issue type] Improvement
[Version] 0.1.132

Change-Id: Ia9336c3391e733613f3743dd7eec2baf1a07a4c8
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agomedia_streamer_node: Use libsmack library to get the smack label 49/253349/1
Sangchul Lee [Tue, 9 Feb 2021 05:36:37 +0000 (14:36 +0900)]
media_streamer_node: Use libsmack library to get the smack label

[Issue type] Improvement
[Version] 0.1.131

Change-Id: I9eed33f888817a52a6b83acdff51574754dceac7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd new internal APIs to media_streamer_internal.h 42/249242/26
Hyunil [Wed, 9 Dec 2020 07:34:29 +0000 (16:34 +0900)]
Add new internal APIs to media_streamer_internal.h

- Add media_streamer_node_pad_probe_cb
  Called when data flows in the pad of media streamer node.
  This callback is used in pad of node by media_streamer_node_set_pad_probe_cb().
  The GstBuffer pointer flowing through the pad is passed as a void pointer and
  it is only readable.
- Add media_streamer_node_set_pad_probe_cb
  Sets a callback function to be invoked when data flows to a pad of node specified by pad_name.
  The callback can be registered with all pads in node using pad_name. However, only one per pad is possible.
- Add media_streamer_node_unset_pad_probe_cb
  Unsets the pad probe callback function.
  Unsets a callback function of a pad of @a node specified by pad name.
- Add test code

[Issue type] New feature
[Version] 0.1.130

Change-Id: I4ec3e91588edfe6185537530169ae9f7a4986dcc
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoSet wait-for-keyframe to rtpv8depay 25/246825/8
Hyunil [Wed, 4 Nov 2020 08:38:09 +0000 (17:38 +0900)]
Set wait-for-keyframe to rtpv8depay

- If property is set, rtpvp8depay drops the buffer being depayed and wait intra frame when packet loss occurs
- Add element-added callback
- Add parsing ini value(wait for keyframe)

[Issue type] Improvement
[Version] 0.1.129

Change-Id: Ief9a0331b3bbbd12d3b2c697539fcc25831ebeb2
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoUse g_hash_table_contains() in case of just checking existance 33/246233/1 accepted/tizen/unified/20201112.124138 submit/tizen/20201028.071019 submit/tizen/20201110.235937 submit/tizen/20201111.035505
Sangchul Lee [Tue, 27 Oct 2020 07:12:16 +0000 (16:12 +0900)]
Use g_hash_table_contains() in case of just checking existance

[Issue Type] Improvement
[Version] 0.1.128

Change-Id: I14fd1edccd421ae0b969e895dff24de8e4b7dca8
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoCheck if adative sink exists before calling ms_http_server_stop/destroy() 95/245895/4
Sangchul Lee [Mon, 19 Oct 2020 07:44:53 +0000 (16:44 +0900)]
Check if adative sink exists before calling ms_http_server_stop/destroy()

Meaningless "server is NULL" error log was printed in spite of
a pipeline without adaptive sink.

[Issue Type] Improvement
[Version] 0.1.127

Change-Id: I36268f0e58f4ccbaf27797bd34495ad1bb15235e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoRevise critical section regarding state/pend_state 88/245888/3
Sangchul Lee [Mon, 19 Oct 2020 06:38:25 +0000 (15:38 +0900)]
Revise critical section regarding state/pend_state

Add codes to lock/unlock mutex during checking state/pend_state
in __ms_bus_cb() and ms_webrtcbin_notify_ice_connection_state_cb().

ms_trigger_state_cb() is added to only invoke the user callback
without locking/unlocking the mutex.

This patch is to fix the bug reported by
 - https://github.sec.samsung.net/tizen/mediastreamer/issues/20

[Issue Type] Bug fix
[Version] 0.1.126

Change-Id: Idb5b66ec47b0491d5dc5e9825158d46ba885249f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoImprovement in case of no preroll with READY state 66/245366/6
Sangchul Lee [Thu, 8 Oct 2020 01:16:30 +0000 (10:16 +0900)]
Improvement in case of no preroll with READY state

Set PLAYING state for a short time to fix an issue not getting
the SSRC information properly in case of ANSWER mode with the max
bundle policy. Without the first input buffer, the SSRC can not be
obtained and mlineindex can be wrong in webrtcbin.

[Issue type] Improvement
[Version] 0.1.125

Change-Id: I40c7761bea705b91e2b5231c64ac6460ec12edb4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoFix the use of invalid function to set the video frame rate 90/245690/5 submit/tizen/20201015.052301
Hyunil [Wed, 14 Oct 2020 08:10:32 +0000 (17:10 +0900)]
Fix the use of invalid function to set the video frame rate

- To set the video frame rate, use media_format_set_video_frame_rate()

[Issue Type] Bug fix
[Version] 0.1.124

Change-Id: I2c4b19aa825104d3e152a03107e2207661514583
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoAdd setting the bitrate to video encoder 98/245598/8
Hyunil [Tue, 13 Oct 2020 02:48:26 +0000 (11:48 +0900)]
Add setting the bitrate to video encoder

- set bitrate by media_format_set_video_avg_bps()
- get bitrate by avg_bps of media_format_get_video_info()
- Add creating h263 format to test app.

[Issue Type] Improvement
[Version] 0.1.123

Change-Id: Idff91a1a914b362b0379392cf49d7ba4c957cffa
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoFixed a bug about setting the video frame rate 94/244794/6
Hyunil [Thu, 24 Sep 2020 08:10:41 +0000 (17:10 +0900)]
Fixed a bug about setting the video frame rate

- Invalid value was being set.
- To get a valid video frame rate, use media_format_get_video_frame_rate()

[Issue Type] Bug fix
[Version] 0.1.122

Change-Id: I25be4ac4996ed33b897d6e5177f695bf9a257369
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoFix the use of invalid pad name and print log as error on link failure 76/244576/3 accepted/tizen/6.0/unified/20201030.122610 accepted/tizen/6.0/unified/hotfix/20201103.004914 accepted/tizen/6.0/unified/hotfix/20201103.052309 accepted/tizen/6.0/unified/hotfix/20210203.091157 accepted/tizen/unified/20200925.140245 submit/tizen/20200922.081213 submit/tizen_6.0/20201029.205102 submit/tizen_6.0_hotfix/20201102.192502 submit/tizen_6.0_hotfix/20201103.114802 submit/tizen_6.0_hotfix/20210203.135701 tizen_6.0.m2_release
Hyunil [Tue, 22 Sep 2020 05:38:30 +0000 (14:38 +0900)]
Fix the use of invalid pad name and print log as error on link failure

- Change dlog level for link failure

[Issue Type] Bug fix
[Version] 0.1.121

Change-Id: I3fd758208f8dbfd56a3722dd30e2ad1d1b53793a
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoRemove set property of S/W H264 encoder and fix a bug in the condition of the if... 47/244247/5
Hyunil [Wed, 16 Sep 2020 08:25:05 +0000 (17:25 +0900)]
Remove set property of S/W H264 encoder and fix a bug in the condition of the if statement.

- There is not S/W H264 encoder in libav.
- The condition of if statement is a bug, it can never be true.

[Issue Type] Bug fix
[Version] 0.1.120

Change-Id: I92872e249f827ea80b251438f0db49effb0eb6ca
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoMerge "Fix memory leak" into tizen accepted/tizen/unified/20200916.121642 submit/tizen/20200916.003525
Hyunil Park [Tue, 15 Sep 2020 08:14:26 +0000 (08:14 +0000)]
Merge "Fix memory leak" into tizen

3 years agoFix memory leak 27/244127/2
Sangchul Lee [Tue, 15 Sep 2020 07:25:50 +0000 (16:25 +0900)]
Fix memory leak

[Version] 0.1.119
[Issue Type] Coverity - RESOURCE_LEAK

Change-Id: I04c0ed1790b902d3aec90f87666e8615379b1567
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years ago[ACR-1598] Add new APIs for set param maximum lateness and RTP latency 07/244007/7
Hyunil [Mon, 14 Sep 2020 03:09:25 +0000 (12:09 +0900)]
[ACR-1598] Add new APIs for set param maximum lateness and RTP latency

- MEDIA_STREAMER_PARAM_SINK_MAX_LATENESS
- Video frame drop occurs when the PTS(presentation time stamp) of segment received as RTP streaming
  exceeds the boundary of the base clock.
- If the frame is later than max-lateness, the sink will drop the buffer without calling the render method.

- MEDIA_STREAMER_RARAM_RTP_LATENCY
- Default amount of ms to buffer in the jitterbuffer of RTPbin

- Minor change
  1) Add audio clock rate for OPUS
  2) Change Default Video RTP format from VP8 to H264

[Version] 0.1.119
[Issue Type] New features

Change-Id: Iddfd098a897d1ff5bd3db291b4046d558a0d159a
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoRemove unused argument and rename function 62/243362/2
Sangchul Lee [Mon, 7 Sep 2020 05:36:26 +0000 (14:36 +0900)]
Remove unused argument and rename function

__ms_parse_gst_error() is changed to __ms_trigger_error_cb().
Meaningless comments are also removed.

[Version] 0.1.118
[Issue Type] Code cleanup

Change-Id: I7e8853aed855a07411522fc5688b933a31123f92
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd clock-rate to avoid return EMPTY caps of gst_caps_intersect between offer_caps... 43/243143/6
Hyunil [Thu, 3 Sep 2020 09:07:18 +0000 (18:07 +0900)]
Add clock-rate to avoid return EMPTY caps of gst_caps_intersect between offer_caps and trans_caps

- Refer following FIXME comment of _create_answer_task() in gstwebrtcbin.c:2585
  /* FIXME: technically this is a little overreaching as some fields we
   * we can deal with not having and/or we may have unrecognized fields
   * that we cannot actually support */
- Refer Page 22 of RFC7741, VP8 clock rate MUST be 90000
- now answer can be set transceiver direction after intersection
- VP8 and H264 clock rate must be 90000. In normal case, video caps get this value by pad intersect.
  but, When we use 'recvonly', we don't create video pipeline and use default video caps which had not clock rate.
- In negotiation between answer and offer.
  Before the answer accepts the offer's transceiver, caps are negotiated between the answer and the offer.
  At this time, if the video caps of the answer is EMPTY by gst_caps_intersect(),
  the answer's transceiver is automatically set to 'recvonly'.
  the return value is EMPTY caps of gst_caps_intersect() if clock rate is not set.

[Version] 0.1.117
[Issue Type] Bug fix

Change-Id: I43237638cc74af50067e13dc2668b11ec0931b35
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoSet STUN server URL to webrtcbin properly 17/243117/2
Sangchul Lee [Thu, 3 Sep 2020 07:50:16 +0000 (16:50 +0900)]
Set STUN server URL to webrtcbin properly

[Version] 0.1.116
[Issue Type] Bug fix

Change-Id: I96cdf753aab30d18ea9783df83179a36f934caa1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoRemove useless if-else statement 74/242374/3
Sangchul Lee [Wed, 26 Aug 2020 01:21:21 +0000 (10:21 +0900)]
Remove useless if-else statement

[Version] 0.1.115
[Issue Type] Refactoring

Change-Id: Ie7cfe36452f0fec46e6ed4a378ea92156d55b9db
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoApply LCOV_EXCL_START/STOP macro to WebRTC function 35/242435/1
Hyunil [Thu, 27 Aug 2020 03:44:21 +0000 (12:44 +0900)]
Apply LCOV_EXCL_START/STOP macro to WebRTC function

[Version] 0.1.114
[Issue Type] Coverage

Change-Id: I0272215df9b198ec7763b65fad4e029e638fa788
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoRevise __ms_parse_gst_error() 53/241953/1
Sangchul Lee [Fri, 21 Aug 2020 05:27:19 +0000 (14:27 +0900)]
Revise __ms_parse_gst_error()

Remove unnecessary else branch.
Add error log.

[Version] 0.1.113
[Issue Type] Improvement

Change-Id: I5b21eae294bd024d3a46f5e29e7ed0bc43d7be77
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoRemove bus watch when destorying handle 18/241918/1
Sangchul Lee [Fri, 21 Aug 2020 01:12:21 +0000 (10:12 +0900)]
Remove bus watch when destorying handle

[Version] 0.1.112
[Issue Type] Improvement

Change-Id: Iafdf02657bb403c857dd80ccb30cf87caf12efc5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoApply autoplug-select signal and callback to decodebin of WebRTC node 06/241406/3 accepted/tizen/unified/20200820.213432 submit/tizen/20200820.092401
Hyunil [Thu, 20 Aug 2020 01:57:45 +0000 (10:57 +0900)]
Apply autoplug-select signal and callback to decodebin of WebRTC node

[Version] 0.1.111
[Issue Type] Improvement

Change-Id: I0664417750676d809d0cf83359874554df16043b
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years ago[ACR-1590] Add new API for set param RTP transceiver direction 25/239325/22 accepted/tizen/unified/20200820.034730 submit/tizen/20200819.050443
Hyunil [Fri, 24 Jul 2020 03:06:21 +0000 (12:06 +0900)]
[ACR-1590] Add new API for set param RTP transceiver direction

- MEDIA_STREAMER_PARAM_WEBRTC_RTP_TRANSCEIVER_DIRECTION_FOR_AUDIO
  MEDIA_STREAMER_PARAM_WEBRTC_RTP_TRANSCEIVER_DIRECTION_FOR_VIDEO.
- It can be "sendrecv" or "sendonly" or "recvonly" or "inactive".

[Version] 0.1.110
[Issue Type] New feature

Change-Id: I5bcef12539338c2a46dc7afb74f2fe42cb2d4a15
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoModify logs in functions related to ini value 99/240499/4 submit/tizen/20200812.043657
Sangchul Lee [Fri, 7 Aug 2020 02:27:17 +0000 (11:27 +0900)]
Modify logs in functions related to ini value

[Version] 0.1.109
[Issue Type] Improvement

Change-Id: I82d4343315f3644f01d016b6d70a60ec76732773
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoUse g_strv_contains() to search string in string array 90/240490/3
Sangchul Lee [Fri, 7 Aug 2020 00:57:21 +0000 (09:57 +0900)]
Use g_strv_contains() to search string in string array

[Version] 0.1.108
[Issue Type] Improvement

Change-Id: Ia6043058809f68138cf10ba27b4e16945796b7f5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd logic to skip h/w video decoder element in __ms_feature_node_filter() 67/240467/4
Sangchul Lee [Thu, 6 Aug 2020 11:26:59 +0000 (20:26 +0900)]
Add logic to skip h/w video decoder element in __ms_feature_node_filter()

It relates to the element in video_decoder node.
__need_to_skip_hw_video_decoder_klass() is also added.

[Version] 0.1.107
[Issue Type] Improvement

Change-Id: I37b8746153081b0361308a9697b0bf487e109350
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd logic to skip h/w decoder element in __decodebin_autoplug_select_cb() 56/240456/5
Sangchul Lee [Thu, 6 Aug 2020 10:00:49 +0000 (19:00 +0900)]
Add logic to skip h/w decoder element in __decodebin_autoplug_select_cb()

It checks the conditions to allow the h/w video decoder element
only when
 1. If zerocopy is used and
 2. 'video_decoder' is specified in zerocopy node names

[Version] 0.1.106
[Issue Type] Improvement

Change-Id: Icff5306e9cffe416da959f446d755e55ab39915c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd callback for "on-new-transceiver" on webrtcbin 92/239792/2
Sangchul Lee [Thu, 30 Jul 2020 01:43:42 +0000 (10:43 +0900)]
Add callback for "on-new-transceiver" on webrtcbin

[Version] 0.1.105
[Issue Type] Improvement

Change-Id: Ib58c047cb420b79cb8eea220210562fc39581bf7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agofixup! Revise codes to use new subfunctions to init/set GValue 00/239700/1 accepted/tizen/unified/20200729.165557 submit/tizen/20200729.053706
Sangchul Lee [Wed, 29 Jul 2020 05:31:34 +0000 (14:31 +0900)]
fixup! Revise codes to use new subfunctions to init/set GValue

Change-Id: Ie2519ae55d9192d5fa68a87105b835492975369c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd function to dump ini setttings 15/239515/3
Sangchul Lee [Mon, 27 Jul 2020 09:02:49 +0000 (18:02 +0900)]
Add function to dump ini setttings

[Version] 0.1.104
[Issue Type] Improvement

Change-Id: I5be9fef4ad7b52543ccc0cc5f7446d1221a7cd15
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd inline function to get number from string 02/239502/3
Sangchul Lee [Mon, 27 Jul 2020 07:18:21 +0000 (16:18 +0900)]
Add inline function to get number from string

[Version] 0.1.103
[Issue Type] Refactoring

Change-Id: I0c64a5e655106f0e5de0f48b7e81b60c67da1b33
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoRevise codes to use new subfunctions to init/set GValue 51/239351/5
Sangchul Lee [Fri, 24 Jul 2020 05:51:07 +0000 (14:51 +0900)]
Revise codes to use new subfunctions to init/set GValue

__ms_param_value_set() and __ms_param_value_init() are added.
Logs are added to check values easily.
Some strcmp() are replaced by comparing with enum type.

[Version] 0.1.102
[Issue Type] Improvement

Change-Id: I6ed7470a0f1c5f812d60de2457159a7d42ed6c98
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoReduce string comparisons in ms_node_set[get]_param_value() 77/239277/4
Sangchul Lee [Thu, 23 Jul 2020 08:23:39 +0000 (17:23 +0900)]
Reduce string comparisons in ms_node_set[get]_param_value()

The param_s structure now has been changed.
 - origin_name is renamed to prop_name.
 - enumeration for the prop_name and data_type are added.

These new members are set in param_table[] in media_streamer
_node.c. These are used to remove numerous string comparisons.

[Version] 0.1.101
[Issue Type] Refactoring

Change-Id: Iaab8cb68dbf6aeb81675b70e2393cc0de8c8cbe4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoFix crash 08/239108/2 accepted/tizen/unified/20200723.161243 submit/tizen/20200722.045405
Sangchul Lee [Tue, 21 Jul 2020 08:37:10 +0000 (17:37 +0900)]
Fix crash

Add null check before strdup().
Getting the ini instance codes are changed.

[Version] 0.1.100
[Issue Type] Bug Fix

Change-Id: I4806d33c257bfc669523f970e1bd579b0e9fa745
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoRevise codes releasing ini setting 39/238739/6
Sangchul Lee [Fri, 17 Jul 2020 02:33:50 +0000 (11:33 +0900)]
Revise codes releasing ini setting

[Version] 0.1.99
[Issue Type] Improvement

Change-Id: Ia38dde47223b954079563a6620b5553a37a0f738
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoUse array retrieve subfunction 37/238737/9
Sangchul Lee [Fri, 17 Jul 2020 01:14:49 +0000 (10:14 +0900)]
Use array retrieve subfunction

[Version] 0.1.98
[Issue Type] Refactoring

Change-Id: Icb4d56761666d6bccced1bc5537be0f46061681d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoImprove zerocopy format selection logic 36/238736/8
Sangchul Lee [Thu, 16 Jul 2020 05:28:58 +0000 (14:28 +0900)]
Improve zerocopy format selection logic

Previously, it always converted zerocopy format if it meets
the predefined format in hard-coded array. Because it did not
care the node type and zerocopy format, there happened a case
that invalid converting format from I420 to S420 with videotestsrc
and capsfilter.

This patch adds to look into the supported zerocopy node names
and formats in ini file.

For example of one target, the zerocopy feature can be defined in
mmfw_media_streamer.ini as below.

 use zerocopy = yes
 zerocopy node names = video_decoder,video_encoder,capsfilter
 zerocopy formats = SN12

[Version] 0.1.97
[Issue Type] Improvement

Change-Id: Ie74703f8a88de11193748dc8b452de21485408c3
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoDivide converting mimetype-string function into several parts 31/238631/3
Sangchul Lee [Thu, 16 Jul 2020 01:20:15 +0000 (10:20 +0900)]
Divide converting mimetype-string function into several parts

It'll reduce unnecessary comparison.

[Version] 0.1.96
[Issue Type] Improvement

Change-Id: Ie2227164687017b079c07f73331a00f9d612a1dd
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd support for the live source for WebRTC 36/238536/7
Sangchul Lee [Wed, 15 Jul 2020 01:29:53 +0000 (10:29 +0900)]
Add support for the live source for WebRTC

Media streamer provides several APIs to change its states
such as prepare(), play() and pause().
During prepare(), it is required for WebRTC node to exchange
negotiation messages via signaling server controlled by
application. But the implimentation of webrtcbin invokes the
'on-negotiation-needed' callback as soon as the first source
buffer arrives. This patch enables source plugins which do not
have the preroll buffer to work well with WebRTC node.

[Version] 0.1.95
[Issue Type] Improvement

Change-Id: I905351c0fd1a422d8e0c64d79995408c5720ea2e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoApply zero copy to video encoder 72/238472/4
Hyunil [Tue, 14 Jul 2020 07:38:18 +0000 (16:38 +0900)]
Apply zero copy to video encoder

- If use zerocopy is set, incoming video is pushed to encoder directly.
- Zero copy formats(SN12, SN21 and etc) are also used.

[Version] 0.1.94
[Issue Type] Improvement

Change-Id: Ic6426f943e7c059ba95fe402ed8a0d777efa095a
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoApply zero copy format for camerasrc and h/w encoder 54/238454/2
Hyunil [Tue, 14 Jul 2020 01:42:39 +0000 (10:42 +0900)]
Apply zero copy format for camerasrc and h/w encoder

[Version] 0.1.93
[Issue Type] Improvement

Change-Id: Ib9cdbd5dd5eb7938fed2845bf930998a490dd300
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoApply LCOV_EXCL_START/STOP macro to media_streamer_gst_webrtc.c 16/238416/2 submit/tizen/20200714.065000
Sangchul Lee [Tue, 14 Jul 2020 00:05:14 +0000 (09:05 +0900)]
Apply LCOV_EXCL_START/STOP macro to media_streamer_gst_webrtc.c

Invalid LCOV_EXCL_STOP is also removed in media_streamer_node.c.

[Version] 0.1.92
[Issue Type] Coverage

Change-Id: I6b2cba1cb2d33164af2df4837002c2dfaadf0164
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoChange dlog tag to TIZEN_N_MEDIASTREAMER 60/238260/1
Sangchul Lee [Fri, 10 Jul 2020 04:43:51 +0000 (13:43 +0900)]
Change dlog tag to TIZEN_N_MEDIASTREAMER

[Version] 0.1.91
[Issue Type] Log

Change-Id: I5ea2723541b32510c12e0dba034aba4f480632de
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd ms_update_state_from_pend_state() sub-function 08/238208/2
Sangchul Lee [Thu, 9 Jul 2020 09:58:35 +0000 (18:58 +0900)]
Add ms_update_state_from_pend_state() sub-function

[Version] 0.1.90
[Issue Type] Refactoring

Change-Id: I3a6172805296a9d8512d5c45bcf126b8ffc2e47b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd missing '(Since 6.0)' to description of new enum 76/238076/1
Sangchul Lee [Wed, 8 Jul 2020 07:00:34 +0000 (16:00 +0900)]
Add missing '(Since 6.0)' to description of new enum

[Version] 0.1.89
[Issue Type] Doxygen

Change-Id: I4c60b68d8344576bea5c8068beb48e992ba9bf00
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoRevise logs in ms_pipeline_get_state() 34/238034/4
Sangchul Lee [Wed, 8 Jul 2020 00:34:13 +0000 (09:34 +0900)]
Revise logs in ms_pipeline_get_state()

This revision reflects various return values of
gst_element_get_state() for easy debugging.

[Version] 0.1.88
[Issue Type] Log

Change-Id: I900d25421a5ae077e0ae2317a39b23c9fad3f576
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoRemove unidentified logic inside of __ms_bus_cb() for state change 87/237987/6
Sangchul Lee [Mon, 6 Jul 2020 09:57:49 +0000 (18:57 +0900)]
Remove unidentified logic inside of __ms_bus_cb() for state change

In case of MEDIA_STREAMER_STATE_READY/PAUSED/PLAYING, the pend state
of media streamer handle is set by API. After then, the state of
media stream handle is set in bus message callback with the pend state.

But the removed logic in this commit set these states of the handle
forcedly from the bus message callback. We can't find the situation
that it happens as well as we find it causes a bug of state change
in case of WebRTC execution. Hence, it is now removed.

Coding style and logs are also revised.

[Version] 0.1.87
[Issue Type] Bug fix

Change-Id: I06e89837101b0d9d894643d4323a7e102828e9a7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoRename internal defines for specific strings 73/236873/5
Sangchul Lee [Tue, 23 Jun 2020 05:05:12 +0000 (14:05 +0900)]
Rename internal defines for specific strings

MS_RTP_PAD_* are changed to MS_PAD_* because it is not only used
for RTP node but also used for WebRTC node.

MEDIA_STREAMER_PARAM_AUDIO[VIDEO]_IN_FORMAT is renamed to
MS_PARAM_AUDIO[VIDEO]_IN_FORMAT because these are not exported
defines.

Replace underline by hyphen in string values.

Typo is fixed - 'rctp' to 'rtcp'

[Version] 0.1.86
[Issue Type] Improvement

Change-Id: I6133494c688dfaade2a5bb60f7dcd654e5037f72
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoWrap g_hash_table_remove() with ms_node_remove_from_table() 28/237728/1
Sangchul Lee [Fri, 3 Jul 2020 04:29:03 +0000 (13:29 +0900)]
Wrap g_hash_table_remove() with ms_node_remove_from_table()

[Version] 0.1.85
[Issue Type] Refactoring

Change-Id: Ic6a5821e3231a90c3873aa9a67688cbfc91f63aa
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd new definitions for sink pad name for audio/video input 69/236869/9
Sangchul Lee [Tue, 23 Jun 2020 04:03:45 +0000 (13:03 +0900)]
Add new definitions for sink pad name for audio/video input

MEDIA_STREAMER_NODE_PAD_VIDEO_SINK and MEDIA_STREAMER_NODE_PAD_AUDIO_SINK
are added.
@remarks description of media_streamer_node_add() is also revised.

[Version] 0.1.84
[Issue Type] API

Change-Id: If27cf3952269dae521c88d4d911d60d3130830a6
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd availability information of parameters in callback prototypes 44/237644/2
Sangchul Lee [Thu, 2 Jul 2020 05:50:56 +0000 (14:50 +0900)]
Add availability information of parameters in callback prototypes

These are added in @remarks paragraph.
More '\n' are added to separate lines.

[Version] 0.1.83
[Issue Type] Doxygen

Change-Id: Iba6ca9eb15cedbd5dfbd8e94815160925f570b99
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoUse strdup() for the out parameter result of ms_node_get_param_value() 32/237632/1
Sangchul Lee [Thu, 2 Jul 2020 04:31:40 +0000 (13:31 +0900)]
Use strdup() for the out parameter result of ms_node_get_param_value()

It will be passed to the out parameter of media_streamer_node_get_param()
which needs to be released with free() by user.

Missing '()' is also added to @pre description of media_streamer_node_pull_packet().
It will create a link in the HTML documentation.

[Version] 0.1.82
[Issue Type] Improvement

Change-Id: Icc7eea60bb54f9083105b6da876e155613d828f4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd line break symbol('\n') to separate paragraphs 22/237622/4
Sangchul Lee [Thu, 2 Jul 2020 02:19:12 +0000 (11:19 +0900)]
Add line break symbol('\n') to separate paragraphs

The @a command is also added to make link for parameters
in paragraphs.

[Version] 0.1.81
[Issue Type] Doxygen

Change-Id: Ibc480b978b7bb94c1880745ce3a80b9a6913ce7a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd @remarks for release information of parameters 13/237613/2
Sangchul Lee [Thu, 2 Jul 2020 01:14:31 +0000 (10:14 +0900)]
Add @remarks for release information of parameters

[Version] 0.1.80
[Issue Type] Doxygen

Change-Id: Id49c971bd1b3c78a55a34154489ab87f4bed9f8e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd restriction about setting MEDIA_STREAMER_PARAM_DISPLAY 61/237561/5
Hyunil [Wed, 1 Jul 2020 07:26:20 +0000 (16:26 +0900)]
Add restriction about setting MEDIA_STREAMER_PARAM_DISPLAY

- MEDIA_STREAMER_PARAM_DISPLAY should be set in main thread.
  Otherwise, it will return MEDIA_STREAMER_ERROR_INVALID_OPERATION by internal restriction.
  To avoid MEDIA_STREAMER_ERROR_INVALID_OPERATION in sub thread, ecore_thread_main_loop_begin() and
  ecore_thread_main_loop_end() can be used, but deadlock can be also occurred if main thread is busy.

[Version] 0.1.79
[Issue Type] Improvement

Change-Id: Ie7290e99d6e051b363760421b18b4702b39acee0
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoFix bug in media_streamer_node_get_pad_name() 65/237565/3
Sangchul Lee [Wed, 1 Jul 2020 08:53:13 +0000 (17:53 +0900)]
Fix bug in media_streamer_node_get_pad_name()

It is fixed to return pad names properly via out parameters
of media_streamer_node_get_pad_name().

[Version] 0.1.78
[Issue Type] Bug fix

Change-Id: I57a0dfd7ecebc52ace5da3adabce2fe91f2c3843
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoFix code to set plugin name read from ini file 14/237214/1
Sangchul Lee [Fri, 26 Jun 2020 04:12:45 +0000 (13:12 +0900)]
Fix code to set plugin name read from ini file

It's a bug of ms_src_node_create() in case of
MEDIA_STREAMER_NODE_SRC_TYPE_CUSTOM type node.

[Version] 0.1.77
[Issue Type] Bug fix

Change-Id: I68f42056161e950c422ce28bc3ba31749f440ca7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoRemove unused function 98/237198/1
Sangchul Lee [Fri, 26 Jun 2020 02:42:18 +0000 (11:42 +0900)]
Remove unused function

ms_webrtcbin_set_pad_format() is removed.

[Version] 0.1.76
[Issue Type] Code cleanup

Change-Id: Ib7c15f5ae73cae67788d4f750c40f0e94c582527
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd error condition in media_streamer_prepare() for WebRTC 70/237170/4
Hyunil [Thu, 25 Jun 2020 11:21:54 +0000 (20:21 +0900)]
Add error condition in media_streamer_prepare() for WebRTC

- After setting media format to audio sink pad of WebRTC,
  if audio sink pad is not linked to peer node then an error will occur.
- The video does the same thing.

[Version] 0.1.75
[Issue Type] Improvement

Change-Id: Iff9a9ce5a73f800e2fa0c9045cd470a9f6305d76
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoChange the completion position of MEDIA_STREAMER_STATE_READY for WebRTC 09/236409/7
Hyunil [Wed, 17 Jun 2020 01:57:31 +0000 (10:57 +0900)]
Change the completion position of MEDIA_STREAMER_STATE_READY for WebRTC

- Only, in case of WebRTC, MEDIA_STREAMER_STATE_READY is set after connecting ICE connection
- Add ice-connection-state callback function

[Version] 0.1.74
[Issue Type] Improve

Change-Id: I76205f2ccd749ee0b0a54f17e58153e3b0a1bd5f
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoAdd internal API for getting webrtcbin from webrtc node 03/236403/6
Hyunil [Wed, 17 Jun 2020 01:07:38 +0000 (10:07 +0900)]
Add internal API for getting webrtcbin from webrtc node

- GstElement * ms_webrtc_node_get_webrtcbin(media_streamer_node_s *webrtc_node)

[Version] 0.1.73
[Issue Type] Refactoring

Change-Id: I7a19441f5eab9dc9bc9cd911b9468f701189d42b
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoAdd WebRTC sample app 05/235805/22
Hyunil [Wed, 10 Jun 2020 02:10:32 +0000 (11:10 +0900)]
Add WebRTC sample app

- Add creating mediastreamer pipeline for WebRTC
- Add message callback for posting session description and ICE candidate
- Add decoded ready callback for making audio/video rendering nodes
- Add calling APIs for setting session description and ICE candidate

[Version] 0.1.72
[Issue Type] Test

Change-Id: Iea62f45b8ea7fde8a5890c5de4929907dec011ca
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoAdd @remarks to the description of media_streamer_node_add() regarding its state 19/236619/2
Sangchul Lee [Fri, 19 Jun 2020 00:52:48 +0000 (09:52 +0900)]
Add @remarks to the description of media_streamer_node_add() regarding its state

Since 6.0, the required state of this function is changed.

[Version] 0.1.71
[Issue Type] Doxygen

Change-Id: Ie4c1084f674893297a6762e711f65ae22daf6448
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoRelease the state limit of media_streamer_node_add() 38/236538/4
Sangchul Lee [Thu, 18 Jun 2020 02:30:38 +0000 (11:30 +0900)]
Release the state limit of media_streamer_node_add()

Previously, media_streamer_node_add() returns the invalid
state error when the media streamer state is not IDLE.

This condition is now released to let the user can create
a new node and link the node even if the media streamer
state is PLAYING. For example, it is possible to do these
things inside of decoded ready callback directly.

[Version] 0.1.70
[Issue Type] Improvement

Change-Id: I7188abbbf0fd303304b011425790a954033c193f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd error log in case of ms_bin_add_element() failure 22/236522/3
Sangchul Lee [Thu, 18 Jun 2020 00:59:34 +0000 (09:59 +0900)]
Add error log in case of ms_bin_add_element() failure

[Version] 0.1.69
[Issue Type] Log

Change-Id: I8c69e6521dc5bc47d193e1e1980ae0fa0c992015
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoRevise descriptions - Add missing punctuation mark in @details 89/236389/2
Sangchul Lee [Tue, 16 Jun 2020 14:42:34 +0000 (23:42 +0900)]
Revise descriptions - Add missing punctuation mark in @details

[Version] 0.1.68
[Issue Type] Doxygen

Change-Id: Ib6bb6e12f9c8fa1826531564c0c8a7f351bc199f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoRevise descriptions - Reorder returned values 00/236400/1
Sangchul Lee [Wed, 17 Jun 2020 00:43:40 +0000 (09:43 +0900)]
Revise descriptions - Reorder returned values

[Version] 0.1.67
[Issue Type] Doxygen

Change-Id: I3b32b4e3948609c9f8a0171f9a90f8bb60d7be87
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoFix doxygen - Add missing command @a to refer to member arguments 99/236399/2
Sangchul Lee [Wed, 17 Jun 2020 00:20:42 +0000 (09:20 +0900)]
Fix doxygen - Add missing command @a to refer to member arguments

Invalid parameter description is also fixed.

[Version] 0.1.66
[Issue Type] Doxygen

Change-Id: I49fec1980d63c9359dff31e327ec65ef0f58a5be
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd WebRTC signaling example to test app 57/235257/13
Hyunil [Wed, 3 Jun 2020 06:29:18 +0000 (15:29 +0900)]
Add WebRTC signaling example to test app

- The websocket handshake example is added

[Version] 0.1.65
[Issue Type] Test

Change-Id: Iae0cfe586265787273d2e50c76aa465a53d253e3
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoRevise descriptions 23/236223/3
Sangchul Lee [Mon, 15 Jun 2020 23:29:03 +0000 (08:29 +0900)]
Revise descriptions

Descriptions are revised according to the recommendation
of review comments from ACR process.

[Version] 0.1.64
[Issue Type] Doxygen

Change-Id: I83c43b30cb9caccecba6b67e3670bff5062a2464
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoImprove media_streamer_node_set_pad_format() for WebRTC node 01/236101/14
Sangchul Lee [Mon, 15 Jun 2020 01:49:26 +0000 (10:49 +0900)]
Improve media_streamer_node_set_pad_format() for WebRTC node

The previous codes can not propagate the pad event because the
pipeline status is not satisfied with the condition to set the
pad format normally. To fix it, a capsfilter element is added
in the creation time of WebRTC node and set new caps to its
property.

A ghost pad for the audio input is newly added to WebRTC node.

[Version] 0.1.63
[Issue Type] Bug fix

Change-Id: I624bca9c0c4376d38587f0dd49e94c6f7e90ee6a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd internal API to find a specific element by name inside of the bin 42/236142/6
Sangchul Lee [Mon, 15 Jun 2020 06:58:58 +0000 (15:58 +0900)]
Add internal API to find a specific element by name inside of the bin

ms_find_element_in_bin_by_name() is added.

[Version] 0.1.62
[Issue Type] New feature

Change-Id: I2223fd6598d7093f369ece4d7255731dd0d7bc4c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd to check privilege and feature for WebRTC node 30/236030/6
Sangchul Lee [Fri, 12 Jun 2020 05:54:58 +0000 (14:54 +0900)]
Add to check privilege and feature for WebRTC node

 - internet privilege is needed to create WebRTC node.
 - At least, one of wifi, telephony, ethernet feature should be enabled.
 - The return value of MEDIA_STREAMER_ERROR_PERMISSION_DENIED,
   MEDIA_STREAMER_ERROR_NOT_SUPPORTED are added to media_streamer_node_create().

[Version] 0.1.61
[Issue Type] Privilege/Feature

Change-Id: I10daa928b2310b8ac194e5aa6b3762672e3a2933
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoImprove pad-added related codes of WebRTC node 02/235902/10
Hyunil [Thu, 11 Jun 2020 01:55:26 +0000 (10:55 +0900)]
Improve pad-added related codes of WebRTC node

- Add linking pad added by decodebin to webrtc_container's ghost_pad(video_out)
- Fix adding decodebin to webrtc_container

[Version] 0.1.60
[Issue Type] Improvement

Change-Id: I5a9fce745e78c06561fab4c77baf5aee0bf5f81c
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoImprove media_streamer_node_set_pad_format() to support the WebRTC 01/235801/9
Hyunil [Wed, 10 Jun 2020 01:06:18 +0000 (10:06 +0900)]
Improve media_streamer_node_set_pad_format() to support the WebRTC

- Newly add ms_webrtcbin_set_pad_format() and __ms_rtp_node_set_pad_format()

- Add VP8 and OPUS type to ms_convert_mime_to_rtp_format(media_format_mimetype_e mime)

- VP8 and OPUS can be convert to rtp format by this function

[Version] 0.1.59
[Issue Type] New feature

Change-Id: Idea5134bf8b5e4b6dda123413eb9a4f438dbb62d
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
3 years agoRevise error log 53/235953/1
Sangchul Lee [Thu, 11 Jun 2020 08:49:28 +0000 (17:49 +0900)]
Revise error log

[Version] 0.1.58
[Issue Type] Log

Change-Id: I0d545bf2488c6ee5dd9dee796b715144648a697f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd new parameter to set/get STUN server URL for WebRTC node 02/235802/4
Sangchul Lee [Wed, 10 Jun 2020 01:47:20 +0000 (10:47 +0900)]
Add new parameter to set/get STUN server URL for WebRTC node

MEDIA_STREAMER_PARAM_WEBRTC_STUN_SERVER is added.
The default value is "stun://stun.l.google.com:19302"

[Version] 0.1.57
[Issue Type] New feature

Change-Id: I12365080f76f19dc4175c8616a998fb8fe5d3624
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd support for OPUS audio format 04/235904/1
Sangchul Lee [Thu, 11 Jun 2020 02:21:05 +0000 (11:21 +0900)]
Add support for OPUS audio format

[Version] 0.1.56
[Issue Type] New feature

Change-Id: I2629add7d6d5f00a6dea8290c997a70656757cef
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agoAdd new APIs to set/unset decoded ready callback of the node 14/235514/6
Sangchul Lee [Fri, 5 Jun 2020 06:00:47 +0000 (15:00 +0900)]
Add new APIs to set/unset decoded ready callback of the node

This callback will be invoked when the 'pad-added' signal of
a gstreamer element for decoding something in the node is received.

User can utilize this callback to link the decoded source pad
with new node's sink pad for rendering something in the application.

 - int media_streamer_node_set_decoded_ready_cb(media_streamer_node_h node,
                                                media_streamer_node_decoded_ready_cb callback,
                                                void *user_data)
 - typedef void (*media_streamer_node_decoded_ready_cb)(media_streamer_node_h node,
                                                        const char *src_pad_name,
                                                        const char *media_types,
                                                        void *user_data)
 - int media_streamer_node_unset_decoded_ready_cb(media_streamer_node_h node)

Change-Id: I92199bae3b9c3e4028050e26a8ba7ab7b39df2d4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>