platform/core/uifw/tts.git
2 years agoMerge "Fix config client type as a bit flat" into tizen_6.5
Wonnam Jang [Fri, 17 Dec 2021 07:40:48 +0000 (07:40 +0000)]
Merge "Fix config client type as a bit flat" into tizen_6.5

2 years agoRearrange logs 88/268188/3
sooyeon [Fri, 17 Dec 2021 09:00:48 +0000 (18:00 +0900)]
Rearrange logs

Change-Id: Ia6089503030001bd8072c79518fe05a997333c72
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoFix config client type as a bit flat 19/268219/2
Suyeon Hwang [Fri, 17 Dec 2021 06:47:52 +0000 (15:47 +0900)]
Fix config client type as a bit flat

There is case that the app uses both client and setting API. In current code, this kind of usage
can cause invalid blocking to fix configuration file. Because current config client type is only
store single mode in one process.

To solve this problem, this patch changes config client type to bit flag variable. By this change,
a process can store multiple client type, and this can avoid wrong behavior.

Change-Id: I66bdb64cff148da5a0cc3cc725842265534d4842
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoFix SVACE issue (Add mutex_unlock before returning) 29/268129/1
sooyeon [Thu, 16 Dec 2021 19:49:00 +0000 (04:49 +0900)]
Fix SVACE issue (Add mutex_unlock before returning)

Change-Id: I6b5749b8221d577231db6b60361fb69658659bdc
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoUpdate version (1.65.16) 13/267613/1 accepted/tizen/6.5/unified/20211212.212705 submit/tizen_6.5/20211208.023642
Suyeon Hwang [Wed, 8 Dec 2021 01:40:46 +0000 (10:40 +0900)]
Update version (1.65.16)

Change-Id: If5beefbbc7c1826f3ccf63785a7eb8ab16c09608
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoMerge "Call ttse_terminate when engine is changed before registering vconfkey callbac...
Suyeon Hwang [Tue, 7 Dec 2021 09:58:08 +0000 (09:58 +0000)]
Merge "Call ttse_terminate when engine is changed before registering vconfkey callback" into tizen_6.5

2 years agoCall ttse_terminate when engine is changed before registering vconfkey callback 79/267579/1
sooyeon [Tue, 7 Dec 2021 17:58:57 +0000 (02:58 +0900)]
Call ttse_terminate when engine is changed before registering vconfkey callback

Change-Id: I92785e18c480154f4802500c759ff725c8d116b6
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoAdd parameter to detemine client and others 91/267491/4
Suyeon Hwang [Mon, 6 Dec 2021 07:19:24 +0000 (16:19 +0900)]
Add parameter to detemine client and others

Client app does not need to fix configuration, but current code has allowed the client to fix
configuration file. And this behavior makes race condition of configuration. By this problem,
configuration file has invalid value, and it is possible to make side effect.

To solve this problem, this patch adds new parameter to identify client app. By this change,
framework can block the fix from client, and by this behavior, possibility of race condition
would be reduced.

Change-Id: I37d26f78c9d1aa185d4ab22b15a8cd76fb890196
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoMerge "Add mutex on tts_config_info for thread safety" into tizen_6.5
Sooyeon Kim [Mon, 6 Dec 2021 02:23:51 +0000 (02:23 +0000)]
Merge "Add mutex on tts_config_info for thread safety" into tizen_6.5

2 years agoMerge "Seperate memory of tts_config_info for thread safety" into tizen_6.5
Sooyeon Kim [Mon, 6 Dec 2021 02:23:42 +0000 (02:23 +0000)]
Merge "Seperate memory of tts_config_info for thread safety" into tizen_6.5

2 years agoMake g_synth_control as atomic and Add extra logs 22/267422/3
sooyeon [Fri, 3 Dec 2021 15:59:44 +0000 (00:59 +0900)]
Make g_synth_control as atomic and Add extra logs

Change-Id: I68eda73b4b4c458b4ea17d387def2d6b478eb564
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoAdd mutex on tts_config_info for thread safety 08/267408/1
wn.jang [Fri, 3 Dec 2021 01:25:02 +0000 (10:25 +0900)]
Add mutex on tts_config_info for thread safety

Change-Id: Ia4b9a35c2c15aeb6a419892a9bde072f9455afad

2 years agoSeperate memory of tts_config_info for thread safety 06/267406/1
wn.jang [Fri, 3 Dec 2021 01:15:13 +0000 (10:15 +0900)]
Seperate memory of tts_config_info for thread safety

Change-Id: I15f7802301e03515f5f88081aa73c4e2c83efcdc

2 years agoUpdate version (1.65.15) 81/267281/1 accepted/tizen/6.5/unified/20211205.214036 submit/tizen_6.5/20211202.041353
Suyeon Hwang [Wed, 1 Dec 2021 03:03:04 +0000 (12:03 +0900)]
Update version (1.65.15)

Change-Id: Icac35e6f2dbce38430ffe5bea92e8cf9578681e4
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoSet playing status into vconf 80/267280/1
Suyeon Hwang [Wed, 1 Dec 2021 02:33:35 +0000 (11:33 +0900)]
Set playing status into vconf

Change-Id: I1fb76eb58d87a54516bbf15fcd02ea6829c59f85
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoUpdate version (1.65.14) 36/266436/1 accepted/tizen/6.5/unified/20211116.032717 submit/tizen_6.5/20211112.081028 submit/tizen_6.5/20211115.015659
Suyeon Hwang [Fri, 12 Nov 2021 07:49:50 +0000 (16:49 +0900)]
Update version (1.65.14)

Change-Id: I6ad69319e504dd2844712482be6543cb48a93d50
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoMerge branch 'tizen' into tizen_6.5 32/266432/1
Suyeon Hwang [Fri, 12 Nov 2021 06:56:29 +0000 (15:56 +0900)]
Merge branch 'tizen' into tizen_6.5

Change-Id: I6cbcaa89dad3d71bac077260b98576bb1b542dcd

2 years agoMerge "Match the function hierarchy" into tizen
Wonnam Jang [Thu, 11 Nov 2021 07:58:27 +0000 (07:58 +0000)]
Merge "Match the function hierarchy" into tizen

2 years agoMerge "Send mode to server after prepare success" into tizen
Suyeon Hwang [Thu, 11 Nov 2021 07:48:42 +0000 (07:48 +0000)]
Merge "Send mode to server after prepare success" into tizen

2 years agoSend mode to server after prepare success 77/266377/2
Suyeon Hwang [Thu, 11 Nov 2021 07:19:48 +0000 (16:19 +0900)]
Send mode to server after prepare success

Current code, request set mode message by tidl is trasmitted before prepare is finished. This
behavior makes server stores proper mode information of client, so the policy works wrong way.

This patch makes client request set mode after prepare is finished. And also, this patch unify the
logic to request set mode from both tidl and dbus.

Change-Id: Ifa7201b26c6b6ad9cc206f7e9a4f259757e04702
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoMatch the function hierarchy 79/266379/1
wn.jang [Thu, 11 Nov 2021 07:33:24 +0000 (16:33 +0900)]
Match the function hierarchy

Change-Id: Ie7e01227bfe5e790b8ca26c11e894c5482c343e7

2 years agoAdd codes to avoid parse non-xml file 68/266368/3
wn.jang [Thu, 11 Nov 2021 06:00:29 +0000 (15:00 +0900)]
Add codes to avoid parse non-xml file

Change-Id: I25d1f7c13013ed9b9a7ea499709c35d29d715df9

2 years agoUnify TTSD processes into two processes (default, interrupt) 82/265982/6
sooyeon [Wed, 3 Nov 2021 15:40:57 +0000 (00:40 +0900)]
Unify TTSD processes into two processes (default, interrupt)

- To reduce RAM usage, unifying 3 TTSD processes (default, sr, noti) is necessary.
- (server) Add a variable 'mode' into 'app_data_s' in ttsd_data. This is used when ttsd_player checks the current playing_info's mode.
- (client) Make only Default mode TTSD process launched, when client's mode is default/sr/noti.

Change-Id: Iba8c4ff99dd8d5b035c2804148a1b5b0803c4a27
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoUpdate version (1.65.13) 80/265980/1
Suyeon Hwang [Wed, 3 Nov 2021 06:45:03 +0000 (15:45 +0900)]
Update version (1.65.13)

Change-Id: I3145cc0a483d80483118a068cd20e6f9d7a16922
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoMerge "Invoke register callback once during tts_prepare()" into tizen
Suyeon Hwang [Wed, 3 Nov 2021 06:35:26 +0000 (06:35 +0000)]
Merge "Invoke register callback once during tts_prepare()" into tizen

2 years agoAdd a checker whether quit_loop_timer is carried out or not 22/265922/1
sooyeon [Tue, 2 Nov 2021 10:40:18 +0000 (19:40 +0900)]
Add a checker whether quit_loop_timer is carried out or not

Change-Id: I2b875ea42ef0a9c5e4db1b4707639f3860a2ebc7
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoInvoke register callback once during tts_prepare() 83/265883/2
Suyeon Hwang [Mon, 1 Nov 2021 08:24:55 +0000 (17:24 +0900)]
Invoke register callback once during tts_prepare()

Current code tries to create new notify callback handle every callback register. It is for
matching business logic for dbus. However, server can send message through expired callback handle
by this logic.

This patch makes code create and register callback handle once during tts_prepare().
By this change, server always sends message throught valid callback handle.
However, if registering callback is failed, this logic can not handle the situation.

If the situation occurs, handling code should be required.

Change-Id: I5e88be20ffc84c0ace99e4559440219c21d36089
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoUpdate version (1.65.12) 80/265780/1 submit/tizen/20211028.101609
Suyeon Hwang [Thu, 28 Oct 2021 09:11:39 +0000 (18:11 +0900)]
Update version (1.65.12)

Change-Id: I1225545df138622a169d854d79d31c1d82b85e11
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoPrevent destroying rpc handle on rejected callback 68/265768/2
Suyeon Hwang [Thu, 28 Oct 2021 07:30:52 +0000 (16:30 +0900)]
Prevent destroying rpc handle on rejected callback

Change-Id: Ib9027b06aa96f3b5a37748dfdbeb9904d9a4f6f0
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoAdd a state checker to ignore invalid synthesized pcm 86/265486/2
sooyeon [Wed, 20 Oct 2021 19:26:54 +0000 (04:26 +0900)]
Add a state checker to ignore invalid synthesized pcm

Change-Id: Ib0282024e288cede7e557dd00ea5ee0b09f7fe90
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoUse tidl synchronous connect for tts_prepare_sync() 29/265429/2
Suyeon Hwang [Tue, 19 Oct 2021 07:59:05 +0000 (16:59 +0900)]
Use tidl synchronous connect for tts_prepare_sync()

Change-Id: I58652521adaf9bf4faee8225e5998d28bb707a5d
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoCreate new proxy handle when connection is rejected 28/265428/2
Suyeon Hwang [Tue, 19 Oct 2021 04:01:50 +0000 (13:01 +0900)]
Create new proxy handle when connection is rejected

TIDL proxy does not need to try connect repeatedly. And also, if connection is failed by timeout,
app needs to create new proxy handle.

Thus, this patch makes flag variable to check whether connect function is called. Using this flag,
app calls connect function once. And also this patch creates new handle when on_rejected callback
is called to retry connection.

Change-Id: I8a7c26f825e95276e257e77451ffacc7a6722af5
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoCall __change_background_volume in main thread 45/265345/1
sooyeon [Fri, 15 Oct 2021 16:02:08 +0000 (01:02 +0900)]
Call __change_background_volume in main thread

Change-Id: Ia8cd1519285f9b81a3fc7b44b76460c2ab7419c5
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoUpdate version (1.65.11) 25/265325/1
sooyeon [Fri, 15 Oct 2021 12:24:13 +0000 (21:24 +0900)]
Update version (1.65.11)

Change-Id: I53d2455892f61642399dfeb0f690eec9c0770876
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoAdd a checker whether ttse_terminate() is invoked or not 23/265323/2
sooyeon [Fri, 15 Oct 2021 11:19:45 +0000 (20:19 +0900)]
Add a checker whether ttse_terminate() is invoked or not

- When 'ttse_terminate' is invoked, 'ttsd_ipc_close_connection()', 'ttsd_network_finalize()', and ttsd_finalize()' are invoked repeatably.
To avoid this phenomenon, we remove them from 'ttsd_terminate()'.

Change-Id: Ia048cce5f884d4b3fa71f63258caf9e83e43f38d
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoUpdate version (1.65.10) 61/265161/1 submit/tizen/20211012.065801
Suyeon Hwang [Tue, 12 Oct 2021 06:46:51 +0000 (15:46 +0900)]
Update version (1.65.10)

Change-Id: Id21635559542cb203389098cdd6dbe127858c9fa
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoRemove unvalid unit TC 60/265160/1
Suyeon Hwang [Tue, 12 Oct 2021 06:46:08 +0000 (15:46 +0900)]
Remove unvalid unit TC

Change-Id: I81614f409af063baf5cbcc46940e19f2320deae1
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoPrevent audio mixing between each mode 89/264189/3
Suyeon Hwang [Tue, 14 Sep 2021 07:17:06 +0000 (16:17 +0900)]
Prevent audio mixing between each mode

By the change of audio policy, tts have to do not mix the voice of each engine process.

This patch makes all engine process acquire sound focus to send signal to other engine process.
By this change, each engine process can pause or stop the player by policy.

Change-Id: Ica781a49c90e07802f7f8cdb880ab64b0c6db525
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoStart play thread only when 'ttsd_server_play()' is called 88/264188/3
Suyeon Hwang [Mon, 13 Sep 2021 11:18:07 +0000 (20:18 +0900)]
Start play thread only when 'ttsd_server_play()' is called

Previous code calls 'ttsd_player_play()' repeatedly when 'ttsd_send_result()' is called.
This logic can skip the stop request by player policy, so this patch changes the logic.

By this patch 'ttsd_player_play()' is only called when 'ttsd_server_play()' is called.

Change-Id: I8b1cfa888fc9049c7b17bf900f728eaa6062819f
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoRemove unvaluable deadcode by changing function prototype 30/264930/2
Suyeon Hwang [Tue, 28 Sep 2021 04:07:50 +0000 (13:07 +0900)]
Remove unvaluable deadcode by changing function prototype

Change-Id: I26fbd60f320ab8d0bb5452cb7246d9e37bc80361
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoClean up mixing policy code 87/264187/3
Suyeon Hwang [Wed, 8 Sep 2021 01:02:36 +0000 (10:02 +0900)]
Clean up mixing policy code

To fix the policy, this patch refactors the code which handles the policy.
By this patch, readability of the code will be enhanced and it will help to fix the policy.

Change-Id: I024e33e537fc013feaffbfa64a8bb245f12a2e4b
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoMerge "Fix implementation related to TIDL" into tizen
Suyeon Hwang [Tue, 12 Oct 2021 05:27:38 +0000 (05:27 +0000)]
Merge "Fix implementation related to TIDL" into tizen

2 years agoAdd dummy value when null parameter is used 70/265070/1
Suyeon Hwang [Fri, 8 Oct 2021 06:42:57 +0000 (15:42 +0900)]
Add dummy value when null parameter is used

Change-Id: Id39e6689460acb7c5fb1fffb96524e90d8548924
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoFix implementation related to TIDL 69/263169/5
Hwankyu Jhun [Fri, 27 Aug 2021 06:32:36 +0000 (15:32 +0900)]
Fix implementation related to TIDL

APIs that are generated by tidlc are changed.

Requires:
 - https://review.tizen.org/gerrit/#/c/platform/core/appfw/tidl/+/263601/

Change-Id: I39d19db04b43d8f06fd73f56f68452be8d6d1173
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoFix memory leak when remove item from g_list 64/264864/1
Suyeon Hwang [Fri, 1 Oct 2021 08:53:08 +0000 (17:53 +0900)]
Fix memory leak when remove item from g_list

Change-Id: I50f3d8a152982393f5eff313a7ab31cd45fb52b6
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoReorder mutex to prevent deadlock 93/264793/1 submit/tizen/20210930.015514
Suyeon Hwang [Thu, 30 Sep 2021 01:44:37 +0000 (10:44 +0900)]
Reorder mutex to prevent deadlock

Change-Id: Iecb2765a2362d7f3407a26c4e3399fff0fe10f57
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoUpdate version (1.65.9) 67/264767/1 submit/tizen/20210929.093305
Suyeon Hwang [Wed, 29 Sep 2021 09:27:24 +0000 (18:27 +0900)]
Update version (1.65.9)

Change-Id: Ie30ce1687d9be895a4ebf76cb0efd6c073a143d0
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoMerge "Add mutex to prevent race condition of g_playing_info" into tizen
Suyeon Hwang [Wed, 29 Sep 2021 09:18:50 +0000 (09:18 +0000)]
Merge "Add mutex to prevent race condition of g_playing_info" into tizen

2 years agoMake new function for tidl to match ttsd_ipc interface 24/264724/2
Suyeon Hwang [Wed, 29 Sep 2021 02:42:07 +0000 (11:42 +0900)]
Make new function for tidl to match ttsd_ipc interface

Change-Id: I2bc1ea73f5f3041cebe7c833a2ae38d4b8775eaf
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoMake ipc method name more specific 23/264723/1
Suyeon Hwang [Wed, 29 Sep 2021 02:26:42 +0000 (11:26 +0900)]
Make ipc method name more specific

Change-Id: Iff46d2653dbadfe8ed5de389166020912aaed2e3
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoChange function name to identify ipc method 22/264722/1
Suyeon Hwang [Wed, 29 Sep 2021 02:14:47 +0000 (11:14 +0900)]
Change function name to identify ipc method

Change-Id: I38c9157aba9b131825057d07f67a1f3a60cc5270
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoAdd mutex to prevent race condition of g_playing_info 72/264672/1
Suyeon Hwang [Tue, 28 Sep 2021 05:53:40 +0000 (14:53 +0900)]
Add mutex to prevent race condition of g_playing_info

Change-Id: I380fb2b7bd9b514f879952e1c0a0508f21bcfa16
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoUpdate version (1.65.8) 38/264638/1 accepted/tizen/6.5/unified/20211028.122529 accepted/tizen/unified/20210928.125345 submit/fixVD/20210927.111930 submit/tizen/20210927.112041 submit/tizen_6.5/20211028.163101 tizen_6.5.m2_release
Suyeon Hwang [Mon, 27 Sep 2021 11:17:20 +0000 (20:17 +0900)]
Update version (1.65.8)

Change-Id: If0e0638521c95958b07dbcadd4b6af5a05f42014
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoAdd and delete timer on main thread for safe handling 36/264536/2
Suyeon Hwang [Fri, 24 Sep 2021 06:26:26 +0000 (15:26 +0900)]
Add and delete timer on main thread for safe handling

Change-Id: I8eb75373d4c23d846fe8035bd6b9bc84f79c162c
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoFix order of checking condition for screen reader 84/264584/1
Suyeon Hwang [Mon, 27 Sep 2021 01:39:54 +0000 (10:39 +0900)]
Fix order of checking condition for screen reader

Change-Id: Ifcf74312c89105474ca0281b75ff91c1951681db
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoMerge "Fix typo error" into tizen
Sooyeon Kim [Fri, 24 Sep 2021 02:36:03 +0000 (02:36 +0000)]
Merge "Fix typo error" into tizen

2 years agoFix typo error 24/264524/1
sooyeon [Fri, 24 Sep 2021 11:02:17 +0000 (20:02 +0900)]
Fix typo error

Change-Id: I65d0ca07ee6329553d91fa772e7f34ee03bed454
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoMerge "Handle already_initialize error properly not ignored" into tizen
Suyeon Hwang [Fri, 24 Sep 2021 02:10:53 +0000 (02:10 +0000)]
Merge "Handle already_initialize error properly not ignored" into tizen

2 years agoHandle already_initialize error properly not ignored 06/264506/1
Suyeon Hwang [Thu, 23 Sep 2021 11:47:12 +0000 (20:47 +0900)]
Handle already_initialize error properly not ignored

Change-Id: Ib42f2750757371c74df1463ac8ba6ed738dc0847
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoRemove retval description not generated by this function 25/264325/1
Suyeon Hwang [Thu, 16 Sep 2021 05:08:12 +0000 (14:08 +0900)]
Remove retval description not generated by this function

Change-Id: Ifc99620f16c6cadb577659279297051470aa5961
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoFix config file matched with default engine 10/264210/1 accepted/tizen/unified/20210915.001815 submit/tizen/20210914.213650
Suyeon Hwang [Tue, 14 Sep 2021 12:02:55 +0000 (21:02 +0900)]
Fix config file matched with default engine

Change-Id: Iec1c9664c42c36e199612fc814a2654d161f8639
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoMerge "Use generated tidl codes" into tizen accepted/tizen/unified/20210908.131709 submit/tizen/20210907.042858
Sooyeon Kim [Tue, 7 Sep 2021 08:39:52 +0000 (08:39 +0000)]
Merge "Use generated tidl codes" into tizen

2 years agoComment out codes to duck system sound 29/263629/1
sooyeon [Tue, 7 Sep 2021 15:56:41 +0000 (00:56 +0900)]
Comment out codes to duck system sound

Change-Id: Id8274794fac89559f01c06802d307b7adf6b306b
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoUse generated tidl codes 98/263598/1
Hwankyu Jhun [Tue, 7 Sep 2021 00:47:28 +0000 (09:47 +0900)]
Use generated tidl codes

The C Generator will be refactored. Some APIs that generated by tidlc
are modified.

Related:
 - https://review.tizen.org/gerrit/#/c/platform/core/uifw/tts/+/263169/

Change-Id: If5705a1ed677f7daf7e2baeb1f07fb67fe670fdc
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years ago[ACR-1653][tts][Add] Add new APIs and an error type for checking screen reader option 98/263098/6 accepted/tizen/unified/20210907.015400 submit/tizen/20210906.145543
sooyeon [Thu, 26 Aug 2021 15:27:03 +0000 (00:27 +0900)]
[ACR-1653][tts][Add] Add new APIs and an error type for checking screen reader option

- Add a new callback to notify screen reader changed

Change-Id: I758de9786a5b0186437dccda772a10628b536694
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoMerge "Add a checker to calculate latency" into tizen accepted/tizen/unified/20210831.143737 submit/tizen/20210831.104905
Sooyeon Kim [Tue, 31 Aug 2021 01:47:21 +0000 (01:47 +0000)]
Merge "Add a checker to calculate latency" into tizen

2 years agoAdd a checker to calculate latency 28/263128/3
sooyeon [Thu, 26 Aug 2021 19:25:29 +0000 (04:25 +0900)]
Add a checker to calculate latency

- latency: from the time to request playing, to the time to receive the 1st synthesized audio data

Change-Id: I84726b3a30ff89f1530d16b82d166621924b6204
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoRecover background volume when engine is terminated 99/263199/1
Suyeon Hwang [Fri, 27 Aug 2021 11:15:38 +0000 (20:15 +0900)]
Recover background volume when engine is terminated

Change-Id: I2d3ba1f1e26cf2e797ffd62c99addd3a62025dcb
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoUpdate version (1.65.7) 55/263055/1 accepted/tizen/unified/20210827.045638 submit/tizen/20210825.074518
Suyeon Hwang [Wed, 25 Aug 2021 07:27:22 +0000 (16:27 +0900)]
Update version (1.65.7)

Change-Id: I13c9616b42d65c9ede2938a5bd0f4a6c3ca13a1d
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoFix memory leak when loading test pcm data 48/263048/4
Suyeon Hwang [Wed, 25 Aug 2021 05:18:30 +0000 (14:18 +0900)]
Fix memory leak when loading test pcm data

Change-Id: I9769d2cfd14c97c9962cf7da412274e8bd11b2b5
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoFix log to help debugging on TV 40/262440/2
Suyeon Hwang [Wed, 11 Aug 2021 02:10:00 +0000 (11:10 +0900)]
Fix log to help debugging on TV

Change-Id: I6b913d2923129cc7d0da0e8b65959f568d345839
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoFix memory leak in unittest 14/262914/1 accepted/tizen/unified/20210824.123753 submit/tizen/20210823.113859
Jihoon Kim [Mon, 23 Aug 2021 11:25:12 +0000 (20:25 +0900)]
Fix memory leak in unittest

Dynamic memory referenced by 'data' was allocated at tts_unittests.cpp:3146
by calling function 'calloc' and lost at tts_unittests.cpp:3148

Change-Id: Icf8b7e7571f30bb0e5593bdeff2e27a061b3bf57
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2 years agoMerge "Call ttse_terminate() when TTS engine is changed" into tizen accepted/tizen/unified/20210810.135334 submit/tizen/20210809.155528
Sooyeon Kim [Mon, 9 Aug 2021 06:03:07 +0000 (06:03 +0000)]
Merge "Call ttse_terminate() when TTS engine is changed" into tizen

2 years agoMake mutex cover all access of g_tidl_proxy_infos 10/262310/1
Suyeon Hwang [Fri, 6 Aug 2021 08:42:53 +0000 (17:42 +0900)]
Make mutex cover all access of g_tidl_proxy_infos

Change-Id: I917d28f6c529cf2f20ef31c05967ab525479d893
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoMerge "Remove a checker of error reason" into tizen
Sooyeon Kim [Fri, 6 Aug 2021 00:47:03 +0000 (00:47 +0000)]
Merge "Remove a checker of error reason" into tizen

2 years agoCall ttse_terminate() when TTS engine is changed 89/261989/3
sooyeon [Fri, 30 Jul 2021 15:37:04 +0000 (00:37 +0900)]
Call ttse_terminate() when TTS engine is changed

- Previously, when TTS engine is changed, TTS clients call unprepare() and prepare() in order to connect to a new TTS engine.
In this case, dbus primary owner issue is occurred, because some clients request prepare() before the old TTS engine is terminated.(timing issue)
To solve this issue, we make TTS engine terminated by itself with calling ttse_terminate().
When TTS engine is terminated, all TTS clients can receive SERVICE_RESET and try to reprepare for the new TTS engine.
This can solve the dbus primary owner issue.

Change-Id: I431677f58f76322b6751cfbbf24009073fd35fc6
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoAssign handle after tts_create() success 34/261934/3
Suyeon Hwang [Thu, 29 Jul 2021 06:03:00 +0000 (15:03 +0900)]
Assign handle after tts_create() success

Previous code assigns the new handle before all process of tts_create() is finished. So, if
some process failed, client can get garbage point as a output parameter. It might occur wrong
behavior. And also, wrong pointer is passed into tts_config module because output parameter is
directly used.

This patch makes temporary handle for processing tts_create(), and passes this handle after all
process of tts_create() is success. And also by this change, tts config module gets right pointer
of handle.

Change-Id: I78f32da442b28cf996f357f2b9875a9d4c5e8ec7
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoCreate new proxy handle when engine is changed 30/261930/2
Suyeon Hwang [Thu, 29 Jul 2021 05:22:25 +0000 (14:22 +0900)]
Create new proxy handle when engine is changed

When engine is changed or mode is changed, client has to make new proxy handle to change stub
app ID.
Previous code creates new proxy handle only when mode is changed. So, if engine is changed,
previous code does not connect new engine but the engine before changed.

This patch makes the client creates new proxy handle not only when mode is changed, but also
engine is changed. For checking engine change, information structure stores engine app id of
current proxy handle.

Change-Id: Ie59a18a4cbdc0862e636d326715b95d25a694003
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoRemove a checker of error reason 34/261834/1
sooyeon [Tue, 27 Jul 2021 16:41:29 +0000 (01:41 +0900)]
Remove a checker of error reason

Change-Id: Id54968fdd5c3a5a57f96e7a9c4fbdb1c665d4add
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoUpdate version (1.65.6) 30/261730/1
Suyeon Hwang [Fri, 23 Jul 2021 01:52:09 +0000 (10:52 +0900)]
Update version (1.65.6)

Change-Id: I3ddff4608dec6199c934c973cd540997eb4e8e2e
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoReturn error code from server 93/261593/2
Suyeon Hwang [Thu, 22 Jul 2021 01:36:51 +0000 (10:36 +0900)]
Return error code from server

Change-Id: I9f9ec0348ec2ebcae5b76e86045f870b0888f291
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoAdd TCs for pcm data handling API 92/261592/2
Suyeon Hwang [Wed, 21 Jul 2021 10:15:05 +0000 (19:15 +0900)]
Add TCs for pcm data handling API

Change-Id: I5701d21cfe213f09d87d0af252eeb1755e90fbfe
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoRemove TCs those can not be reproduced 91/261591/1
Suyeon Hwang [Wed, 21 Jul 2021 08:46:36 +0000 (17:46 +0900)]
Remove TCs those can not be reproduced

Change-Id: I2d6133f4f224f3fb19a39097ad6ae3ddec292316
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoFix critical section for checking thread status 78/261078/2 accepted/tizen/unified/20210716.131354 submit/tizen/20210709.113558 submit/tizen/20210714.093154
Suyeon Hwang [Fri, 9 Jul 2021 08:52:36 +0000 (17:52 +0900)]
Fix critical section for checking thread status

If there are multi client handles exist, uid that wants to stop or pause can be different from uid
that is played on sub thread.
However, previous code always checks thread status although uid is not the same as played uid.
If it is different, 'ttsd_player_stop()' does not stop the thread because the uid is not
playing.
By this thread status check, deadlock can occur.

This patch makes critical section for checking thread status only when 'g_playing_info' is set as
NULL. 'g_playing_info' becomes NULL means that play thread should stop.

Change-Id: I3d073d2ea49fb5d139ce6f2a2865c168538be3ef
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoRemove expired notify callback handle 27/261027/2
Suyeon Hwang [Thu, 8 Jul 2021 12:07:55 +0000 (21:07 +0900)]
Remove expired notify callback handle

If the client reconnects and assigns new notify callback, server should update the callback handle.
However, if finalize method was not invoked, server did not update the handle but make new memory
for saving this handle. And this memory could not be searched by logic.

This patch changes the logic for saving callback handle. By this patch, callback handle is always
updated and dangling memory is disappeared.

Change-Id: I02e89970e7a154c33abf38d71733605988051b95
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoClear player data after play thread is stopped 18/261018/2
Suyeon Hwang [Thu, 8 Jul 2021 09:59:46 +0000 (18:59 +0900)]
Clear player data after play thread is stopped

Previous code clears player data before reset the g_playing_info. If play thread still play
some text, race condition of player data(ex. pasued_data) may occur.

This patch changes the order of function call that 'ttsd_player_clear()' is invoked after
play thread is stopped.
By this change, player data is safe to access from other thread.

Change-Id: Ia768cf76a876956a591974f9bc7871dcbdffe1c0
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoClean code to enhance readability 79/260979/1
Suyeon Hwang [Thu, 8 Jul 2021 02:08:06 +0000 (11:08 +0900)]
Clean code to enhance readability

This patch includes these changes.
- Remove unvaluable parameter from 'ttsd_data_clear_speak_data()'
- Change NULL to nullptr to unify the coding style of file

Change-Id: I672a675899e2e66a9e795e148ce39335212f752e
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoEnhance the readability using cpp style 58/260958/1
Suyeon Hwang [Wed, 7 Jul 2021 11:43:38 +0000 (20:43 +0900)]
Enhance the readability using cpp style

This patch changes the coding style from c to cpp.
Using cpp style code and grammar, the code will become simple and easy to read.

Change-Id: I9365f5db69d97555fbd7df2577e21bf93db3efd9
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoAdd mutex for thread safety of app_data access 57/260957/1
Suyeon Hwang [Wed, 7 Jul 2021 10:37:46 +0000 (19:37 +0900)]
Add mutex for thread safety of app_data access

app_data can be handled by main thread and sub thread for text playing.
Previous code guarantees the thread safety of sound data and speak data.
However, these are members of app data and thread safety of app data is not guaranteed.

This patch make mutex for app data access and unifies the mutex g_speak_data_mutex and
g_sound_data_mutex. These mutex are covered by new mutex for app data, because the data
covered by previous mutexs are member of app data.
So, if app wants to access those data, it should access app data first.

Change-Id: Ifb42b4e4751c32e3d8f786f79ffc3871b3c273e7
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoSet timer asynchronously to avoid deadlock 28/260928/2
Suyeon Hwang [Wed, 7 Jul 2021 05:37:34 +0000 (14:37 +0900)]
Set timer asynchronously to avoid deadlock

If 'tts_stop()' or 'tts_pause()' is called when play thread calls '__unset_policy_for_playing()',
deadlock can occur because 'tts_stop()' or 'tts_pause()' blocks main thread until play thread is
finished, although play thread also blocks the thread by 'ecore_main_loop_thread_safe_call_sync()'
until ecore main is available.

This patch prevents deadlock using function 'ecore_main_loop_thread_safe_call_async()'.
By this function, play thread does not have to block the thread any more stil wait main thread.

Change-Id: I06af24bdc365d8ab1032f42256d7fe770625003e
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoAdd mutex to avoid race condition of tidl handle 36/260836/2
Suyeon Hwang [Mon, 5 Jul 2021 11:07:10 +0000 (20:07 +0900)]
Add mutex to avoid race condition of tidl handle

Change-Id: Iaa19e1b18eb0601655ac492bfa9c54e326ce2e62
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoFix coverity issues 83/260883/1 accepted/tizen/unified/20210707.130515 submit/tizen/20210706.191553
sooyeon [Tue, 6 Jul 2021 17:15:59 +0000 (02:15 +0900)]
Fix coverity issues

* Add to release resource
* Add a checker of return value

Change-Id: Id0f9d0c8c55459ec2f48edb82d997fd697e89743
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoFix data type of tidl interace for raw pcm data 51/260751/1 accepted/tizen/unified/20210705.125135 submit/tizen/20210702.091906 submit/tizen/20210705.020920
Suyeon Hwang [Fri, 2 Jul 2021 06:37:42 +0000 (15:37 +0900)]
Fix data type of tidl interace for raw pcm data

This patch fix data type of tidl interface for adding raw pcm data.
Previous type is string and string type could not send raw pcm data completely,
because the data is not character string.
To send raw pcm data completely, array<char> type should be used.

Change-Id: I50dee2f4c4f41d19f2eeaf512ed4cfa17a5e5fc2
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoAdd screen reader check when client try to prepare 98/260698/2
Suyeon Hwang [Thu, 1 Jul 2021 07:28:22 +0000 (16:28 +0900)]
Add screen reader check when client try to prepare

If service engine terminates without unprepare by some purpose such as disable screen reader on TV,
some clients try to reprepare by service reset message.
In this case, prepare by service reset is not intended behavior.
Thus, this patch adds checking screen reader option code to avoid prepare by screen reader disable.

Change-Id: If93ded568eae17bdf019c8f4d109d45ce542800e
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years agoFix coverity issues 11/260711/2 accepted/tizen/unified/20210702.133343 submit/tizen/20210701.200247
sooyeon [Thu, 1 Jul 2021 19:29:39 +0000 (04:29 +0900)]
Fix coverity issues

* No lock
* No memory release

Change-Id: I6de64422ee6b610d99cd6dbe1cad232bcb855f9d
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoMerge "Check length of extra_info to prevent empty string" into tizen
Suyeon Hwang [Thu, 1 Jul 2021 09:34:01 +0000 (09:34 +0000)]
Merge "Check length of extra_info to prevent empty string" into tizen

2 years agoMerge "Deactivate ducking after the activation is completed" into tizen
Suyeon Hwang [Thu, 1 Jul 2021 09:33:46 +0000 (09:33 +0000)]
Merge "Deactivate ducking after the activation is completed" into tizen

2 years agoMerge "Remove ducking when background volume is changed" into tizen
Suyeon Hwang [Thu, 1 Jul 2021 09:32:36 +0000 (09:32 +0000)]
Merge "Remove ducking when background volume is changed" into tizen

2 years agoFix svace issue 02/260702/1
sooyeon [Thu, 1 Jul 2021 17:54:30 +0000 (02:54 +0900)]
Fix svace issue

* No lock
* No null checker

Change-Id: I94892e1226d9ee6c3852648e5f86690945ed1462
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
2 years agoDeactivate ducking after the activation is completed 36/260636/1
Suyeon Hwang [Thu, 3 Jun 2021 01:43:22 +0000 (10:43 +0900)]
Deactivate ducking after the activation is completed

Change-Id: Iafaecc214467a4e4268b8daf56a0f9c5b9d2ab2b
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
(cherry picked from commit 3d554b32acd26b6c45bfee1903cb34107742e69b)