platform/core/uifw/tts.git
3 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>
3 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>
3 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>
3 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

3 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>
3 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>
3 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>
3 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>
3 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>
3 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

3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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

3 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>
3 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

3 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>
3 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>
3 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>
3 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

3 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>
3 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>
3 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>
3 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

3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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

3 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>
3 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

3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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

3 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

3 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

3 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>
3 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)

3 years agoRemove ducking when background volume is changed 35/260635/1
sooyeon.kim [Fri, 28 May 2021 07:39:37 +0000 (16:39 +0900)]
Remove ducking when background volume is changed

Change-Id: I49fff0e042938786ea001dddfeb2f9ef67ded6e8
Signed-off-by: sooyeon.kim <sooyeon.kim@samsung.com>
(cherry picked from commit e62a27b107eee9febed04b3af7c2687533de104b)

3 years agoCheck length of extra_info to prevent empty string 17/260617/1
Suyeon Hwang [Fri, 25 Jun 2021 08:03:30 +0000 (17:03 +0900)]
Check length of extra_info to prevent empty string

Change-Id: I68bfcb742fa2e17e111e8eae3beb4fefd94b8c1c
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoMerge "Update version (1.65.5)" into tizen accepted/tizen/unified/20210629.130203 submit/tizen/20210628.060348
Suyeon Hwang [Mon, 28 Jun 2021 05:55:17 +0000 (05:55 +0000)]
Merge "Update version (1.65.5)" into tizen

3 years agoUpdate version (1.65.5) 10/260510/1
Suyeon Hwang [Mon, 28 Jun 2021 05:43:21 +0000 (14:43 +0900)]
Update version (1.65.5)

Change-Id: I4b4aba6cc90514b8cb15f17b9fbc80afa2fd6ac2
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoRemove duplicated check code 12/260512/1
Suyeon Hwang [Mon, 28 Jun 2021 05:27:12 +0000 (14:27 +0900)]
Remove duplicated check code

Change-Id: I2641de9f183dfa758a8bfe18fcc27c86f2801b04
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoRemove duplicated function 11/260511/1
Suyeon Hwang [Mon, 28 Jun 2021 05:08:25 +0000 (14:08 +0900)]
Remove duplicated function

Change-Id: I8f48778e4d67d8e4c2baae185dc06a6c786a24ee
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoClean up proxy handle creation code 12/260012/4
Suyeon Hwang [Thu, 13 May 2021 05:26:20 +0000 (14:26 +0900)]
Clean up proxy handle creation code

Change-Id: I4031b0455844feeda369da1fe9cf2ff576a46cf4
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoWait TIDL connection when tts_prepare_sync() is called 11/260011/4
Suyeon Hwang [Wed, 12 May 2021 11:01:51 +0000 (20:01 +0900)]
Wait TIDL connection when tts_prepare_sync() is called

Change-Id: I97892140e896249c1cd90f86ba3c2810ce6e4473
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoCreate data structure for saving tidl proxy information 10/260010/4
Suyeon Hwang [Wed, 12 May 2021 07:07:57 +0000 (16:07 +0900)]
Create data structure for saving tidl proxy information

Change-Id: I00a4583cd8b62527e3da5eddfd62951b72d5cad1
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoRemove unused tidl method 09/260009/4
Suyeon Hwang [Wed, 12 May 2021 06:23:26 +0000 (15:23 +0900)]
Remove unused tidl method

Change-Id: I209626021bb00d72fdfc71a5f9137dd6c8c76b22
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoFix tidl_request_hello logic to match tidl and dbus behavior 08/260008/4
Suyeon Hwang [Wed, 21 Apr 2021 04:49:48 +0000 (13:49 +0900)]
Fix tidl_request_hello logic to match tidl and dbus behavior

Change-Id: I2b7731701f9117775d94d0efc1bcd77065be24a9
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoImplement tts_prepare_sync() on tidl method 07/260007/3
Suyeon Hwang [Wed, 21 Apr 2021 02:53:01 +0000 (11:53 +0900)]
Implement tts_prepare_sync() on tidl method

Change-Id: I583eab761d9af9083257dfdc77344c1595231187
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoCreate TCs for tts_prepare_sync() 06/260006/3
Suyeon Hwang [Tue, 11 May 2021 07:10:34 +0000 (16:10 +0900)]
Create TCs for tts_prepare_sync()

Change-Id: Ia41af943aba155cb0ab4d6984047076dff65d180
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoCheck timeout on unittest 05/260005/3
Suyeon Hwang [Tue, 11 May 2021 06:23:38 +0000 (15:23 +0900)]
Check timeout on unittest

Change-Id: I009fef16175c573c892421bc50532ee71285ea99
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoLaunch exact service process for each mode 04/260004/3
Suyeon Hwang [Fri, 7 May 2021 06:07:13 +0000 (15:07 +0900)]
Launch exact service process for each mode

Change-Id: I515b3e552c633d0af75443d643bd012182c23a89
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoExtract function from open_connection 03/260003/2
Suyeon Hwang [Thu, 6 May 2021 07:26:45 +0000 (16:26 +0900)]
Extract function from open_connection

This patch extracts the unit functions from open_connection to enhance readability

Change-Id: If5315031089a115dfaa6b730326ae47cb8e0543f
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoMake structure for saving tidl information 02/260002/2
Suyeon Hwang [Wed, 21 Apr 2021 01:21:49 +0000 (10:21 +0900)]
Make structure for saving tidl information

Change-Id: I7942601167e84d18de3ca287ed9d142141fbf824
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoUse 'intptr_t' to support multi architecture safely 22/260222/1
Suyeon Hwang [Tue, 22 Jun 2021 07:36:18 +0000 (16:36 +0900)]
Use 'intptr_t' to support multi architecture safely

Change-Id: Ibcda4d2f4c5e781b6bb6c00084c97f373ccf9095
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoRemove duplicate code and unvaluable function 69/259869/1
Suyeon Hwang [Wed, 16 Jun 2021 07:08:47 +0000 (16:08 +0900)]
Remove duplicate code and unvaluable function

This patch removes duplicated code and unvaluble function to enhance readbility.
Using 'tts_core_check_screen_reader()' remove and simplify the condition check code.
And also, 'tts_core_set_mode()' just call 'tts_client_set_mode()', this patch makes 'tts_set_mode()'
calls 'tts_client_set_mode()' directly and removes 'tts_core_set_mode()'.

Change-Id: Ia1338770fe243bd7b99cab23089ce17547bc6325
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoRemove 'g_is_screen_reader_on' and '__screen_reader_state_changed_cb()' 68/259868/1
Suyeon Hwang [Wed, 16 Jun 2021 06:33:19 +0000 (15:33 +0900)]
Remove 'g_is_screen_reader_on' and '__screen_reader_state_changed_cb()'

This patch removes 'g_is_screen_reader_on' and '__screen_reader_state_changed_cb()' to avoid duplicate behavior.
Using '__update_screen_reader_state()', client can still check current screen reader state.
Therefore, it is okay to remove 'g_is_screen_read_on' and '__screen_reader_state_changed_cb()'.

Change-Id: Ia2d6d77be7c7bb01e38e3e1d39c536b968700926
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoRemove unused parameter 'before_state' 67/259867/1
Suyeon Hwang [Wed, 16 Jun 2021 05:53:43 +0000 (14:53 +0900)]
Remove unused parameter 'before_state'

Change-Id: I17ee21cbca9c558fb8ec2d71686c135913914a61
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoFix name of function and remove unused function 66/259866/1
Suyeon Hwang [Wed, 16 Jun 2021 05:34:19 +0000 (14:34 +0900)]
Fix name of function and remove unused function

This patch reflects the review content of https://review.tizen.org/gerrit/c/platform/core/uifw/tts/+/257109
To remove ambiguous function name 'tts_core_set_current_state()', this patch remove unused function
'tts_core_notify_state_changed()' and reuse this name.
'tts_core_set_current_state()' invokes the state changed callback, so I think using verbe 'notify' gives more
clear meaning.

Change-Id: I126fdd646ae435788797a9a60cb777ef3a4df3ca
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoFix loop statement from 'while' to 'for' 13/257113/2
Suyeon Hwang [Mon, 21 Dec 2020 11:47:13 +0000 (20:47 +0900)]
Fix loop statement from 'while' to 'for'

Change-Id: I2f42eb7943d6ddd2c56e75eb91eb5e913fe344d3
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoRemove duplicated code using __handle_dbus_request_result function 12/257112/2
Suyeon Hwang [Mon, 21 Dec 2020 11:16:41 +0000 (20:16 +0900)]
Remove duplicated code using __handle_dbus_request_result function

Change-Id: Ic11f9694ad4f952d70e95961c0dc9c708e3c76bb
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoExtract function about private data from tts.c 11/257111/2
Suyeon Hwang [Mon, 21 Dec 2020 10:58:14 +0000 (19:58 +0900)]
Extract function about private data from tts.c

Change-Id: Ia9c623f4344896b8235c975e44770dc0d53e660a
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoClean up the code and mark the future task 10/257110/2
Suyeon Hwang [Fri, 27 Nov 2020 05:19:37 +0000 (14:19 +0900)]
Clean up the code and mark the future task

This patch includes next changes
- Remove unused variables.
- Remove not necessary check code.
- Add missing code for finalization.
- Add missing const keyword.

Change-Id: I506a3413c277a0f9a27927e1902aad0a5f57460e
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoRefactor duplicated code for handling dbus request 09/257109/2
Suyeon Hwang [Mon, 23 Nov 2020 06:26:59 +0000 (15:26 +0900)]
Refactor duplicated code for handling dbus request

Change-Id: I7519e7144ed9c423304bcbc41f0e3beb752d96dd
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoRefactor the APIs about playing text 08/257108/2
Suyeon Hwang [Fri, 20 Nov 2020 01:31:09 +0000 (10:31 +0900)]
Refactor the APIs about playing text

This patch refactors the next APIs about playing text.
- tts_add_text
- tts_play
- tts_stop
- tts_pause
- tts_add_pcm
- tts_play_pcm
- tts_stop_pcm

By this patch, tts.c provides simple business logic and tts_core provides core logic.

Change-Id: Ieb81972acc5e305733f0bbceb357b1866f7c05c2
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoMake function to access uid of client 07/257107/2
Suyeon Hwang [Wed, 18 Nov 2020 07:48:11 +0000 (16:48 +0900)]
Make function to access uid of client

Change-Id: I79b36ab368f559aeb8f3368eca508f80f8c9aca4
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoMove code for checking screen reader status into tts_core 06/257106/2
Suyeon Hwang [Wed, 18 Nov 2020 06:38:58 +0000 (15:38 +0900)]
Move code for checking screen reader status into tts_core

Change-Id: Iba167a7fe003d95c9de8ba147b8be2806d6b9a61
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoMake function to access mode of client 05/257105/2
Suyeon Hwang [Mon, 19 Apr 2021 05:42:16 +0000 (14:42 +0900)]
Make function to access mode of client

Change-Id: Ia64ecbc1865f68c9be1f3575fe43140dd0548a83
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoUnify error handling function 04/257104/2
Suyeon Hwang [Thu, 15 Apr 2021 07:55:55 +0000 (16:55 +0900)]
Unify error handling function

Because tts_ipc layer is added, error handling code is duplicated.
To remove duplicated code, this patch unifies the functions for handling error from server.

Change-Id: Icc5a43cc8d66a956ef8aa050c01b718454ea8be7
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoDivide __tts_cb_error() into two seperate function 03/257103/2
Suyeon Hwang [Tue, 17 Nov 2020 08:36:18 +0000 (17:36 +0900)]
Divide __tts_cb_error() into two seperate function

__tts_cb_err() is used for two different purpose, so this function has high complexity.

This patch divides __tts_cb_error() into two functions __handle_service_reset() and
 __handle_service_error().
These two function has lower complexity and clear purpose to use.
Thus, it is expected that new developer can easily understand the purpose and behavior of each
function.

Change-Id: I749f292ac3161d1cca33ab8ca6847f8d55f240a3
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoMake validation function for tts_client_s 02/257102/2
Suyeon Hwang [Fri, 16 Apr 2021 04:32:34 +0000 (13:32 +0900)]
Make validation function for tts_client_s

Using uid is better way to validate tts_client_s.
However, using uid makes unnecessary access for tts_client_s and it makes unsafe pointer access.

This patch makes function for validating tts_client_s using pointer of tts_client_s.
This function is useful when the function does not use uid.

Change-Id: I6f10e64bee6c32c46f78f8124d551d349af5505d
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoRemove include statements for unused header 01/257101/2
Suyeon Hwang [Fri, 16 Apr 2021 04:17:48 +0000 (13:17 +0900)]
Remove include statements for unused header

Change-Id: I703f556012ad9c504134758496eb3022ef84e0e0
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoUpdate version (1.65.4) 16/258816/1
Suyeon Hwang [Wed, 26 May 2021 06:02:45 +0000 (15:02 +0900)]
Update version (1.65.4)

Change-Id: I64ae1ce8c2c459d71bd85bc48c874256ee810b08
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoAdd null check to avoid null reference problem 25/258625/1
Suyeon Hwang [Fri, 21 May 2021 07:44:34 +0000 (16:44 +0900)]
Add null check to avoid null reference problem

Change-Id: I717cc485a79eafd97f41f4ca70671dc1a964808f
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
3 years agoRemove access function to avoid toctou problem 18/258618/2
Suyeon Hwang [Fri, 21 May 2021 06:22:50 +0000 (15:22 +0900)]
Remove access function to avoid toctou problem

Change-Id: I8291353ba9770a470a35cccaddc8a0d6cb8f20ea
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>