platform/core/api/audio-io.git
17 months agoAdd print_usage to test program 65/294865/2
Jaechul Lee [Wed, 28 Jun 2023 02:18:43 +0000 (11:18 +0900)]
Add print_usage to test program

[Version] 0.5.57
[Issue Type] Update

Change-Id: I5c86c86023f23b304d7bd8c73fee37648ed30205
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
18 months agoModify noise suppression functionality 01/292801/6 accepted/tizen/unified/20230620.022505 accepted/tizen/unified/dev/20230726.115817
Jaechul Lee [Mon, 15 May 2023 05:06:20 +0000 (14:06 +0900)]
Modify noise suppression functionality

This commit added actual NS functionality to audio-io.
Furthermore audio_io_process_test was added.

[Version] 0.5.56
[Issue Type] New feature

Change-Id: Iff85c712541654c764b1fbf7edb279627cdef587
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
18 months agoAdd CAudioTimedLocker to handle mutex lock timeout 99/293399/4 accepted/tizen/unified/20230531.034437
Seungbae Shin [Thu, 25 May 2023 13:04:07 +0000 (22:04 +0900)]
Add CAudioTimedLocker to handle mutex lock timeout

- Revise __dumpStat() to show periodical stream writing status.
- Add overflow callback on playback stream for the future debugging purpose.

[Version] 0.5.55
[Issue Type] New feature

Change-Id: I76cdd0bb03c8de3dac067736cf5e23a44e6f4c4c

22 months agoAdd noise suppression functionality 19/288019/6 accepted/tizen/unified/20230215.155629
Jaechul Lee [Thu, 9 Feb 2023 06:16:18 +0000 (15:16 +0900)]
Add noise suppression functionality

[Version] 0.5.54
[Issue Type] New feature

Change-Id: I635096c4e1d7bc573008dafbf2dcd074351bc09b
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
2 years agoFix SVACE defects 35/283235/1 accepted/tizen/unified/20221102.020522
Seungbae Shin [Thu, 20 Oct 2022 12:56:39 +0000 (21:56 +0900)]
Fix SVACE defects

Checkers: SEC_DO_NOT_USE_INT_IN_FOR_LOOP
          SEC_INVALID_ASSIGNMENT_WITH_UNSIGNED_VALUES

[Version] 0.5.53
[Issue Type] Svace

Change-Id: I01f59cfe839b68e874caaac206c47d2f1a0029a5

2 years agoFix coverity defects 94/275494/1 accepted/tizen_7.0_unified_hotfix tizen_7.0_hotfix accepted/tizen/7.0/unified/hotfix/20221116.104607 accepted/tizen/unified/20220528.144418 submit/tizen/20220526.041526 tizen_7.0_m2_release
Seungbae Shin [Thu, 26 May 2022 01:09:43 +0000 (10:09 +0900)]
Fix coverity defects

- Operator precedence logic error
- Unchecked return value

[Version] 0.5.52
[Issue Type] Coverity

Change-Id: Ic1aa27763faa7139d3e9074cb774422edf444e60

2 years agospec: Change gcov object installation 33/275433/2 accepted/tizen/unified/20220526.143610 submit/tizen/20220525.104428
Seungbae Shin [Wed, 25 May 2022 01:45:20 +0000 (10:45 +0900)]
spec: Change gcov object installation

[Version] 0.5.51
[Issue Type] Gcov

Change-Id: I1618bba73f94b829ba369ed61a174d77d830b1de

2 years agoaudio_io_test: Release device list device list after using it 55/274055/11 accepted/tizen/unified/20220524.050431 submit/tizen/20220519.111330
Jaechul Lee [Wed, 20 Apr 2022 11:06:10 +0000 (20:06 +0900)]
audio_io_test: Release device list device list after using it

 * fixed memory leak
 * save a pair of dump files

[Version] 0.5.50
[Issue Type] Bug

Change-Id: Iece406d6fe21634eb0bda526f35e7d67bd95525d
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
2 years agoaudio_io_test: Fix INTEGER_OVERFLOW defect 96/274096/3
Seungbae Shin [Thu, 21 Apr 2022 07:37:23 +0000 (16:37 +0900)]
audio_io_test: Fix INTEGER_OVERFLOW defect

[Version] 0.5.49
[Issue Type] Svace

Change-Id: I69a00dd9aa6d3151bd3a0a3f125ab5d69d254d6d

2 years agoCAudioInfo: Initialize __mReferenceDeviceId 00/274000/2 accepted/tizen/unified/20220421.065412 submit/tizen/20220420.020006
Jaechul Lee [Wed, 20 Apr 2022 01:40:35 +0000 (10:40 +0900)]
CAudioInfo: Initialize __mReferenceDeviceId

[Version] 0.5.48
[Issue Type] Fix SVACE defects

Change-Id: Id13635f5a790ff6e2d97c401775588758e09e5d9
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
2 years agoCAudioIO: Update as per sound-manager echo-cancellation API change 28/273628/1 accepted/tizen/unified/20220418.141242 accepted/tizen/unified/20220420.135505 submit/tizen/20220415.044607 submit/tizen/20220419.020933
Sangchul Lee [Mon, 11 Apr 2022 01:48:04 +0000 (10:48 +0900)]
CAudioIO: Update as per sound-manager echo-cancellation API change

[Version] 0.5.47
[Issue Type] Update

Change-Id: I4a0deb2317633c49ada7c37dad93ec517ae3cf31
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
2 years agoAdd echo cancel testsuite 32/272832/3 submit/tizen/20220405.045611
Jaechul Lee [Fri, 25 Mar 2022 03:20:01 +0000 (12:20 +0900)]
Add echo cancel testsuite

[Version] 0.5.46
[Issue Type] Add

Change-Id: I1a5b0048b46e4f187ca9d4e31f11cae5c858025c
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
2 years agoAdd echo-cancel properties to AudioInfo 31/272831/2
Jaechul Lee [Thu, 24 Mar 2022 07:33:56 +0000 (16:33 +0900)]
Add echo-cancel properties to AudioInfo

Properties that is related to echo-cancellation are added to AudioInfo
class. The properties are used when input stream is handled by 'prepare
function'.

[Version] 0.5.45
[Issue Type] New feature

Change-Id: I0dd1241364e5ed1189aa656dd99efee531ff8d8f
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
2 years agoRevert "Adds aec testcase" 30/272830/1
Jaechul Lee [Thu, 24 Mar 2022 07:30:43 +0000 (16:30 +0900)]
Revert "Adds aec testcase"

This reverts commit 1dc3848eb79d608cc8abc3d71d99f06dec2d443f.

Change-Id: Idc034ad89c4d1cab7fd5a9324e1b3257012d99c4
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
2 years agoRevert "audio_io_test_ec: apply command design pattern" 29/272829/1
Jaechul Lee [Thu, 24 Mar 2022 07:36:52 +0000 (16:36 +0900)]
Revert "audio_io_test_ec: apply command design pattern"

This reverts commit 524af5c59b2596981364542a8704e7dd758825ee.

Change-Id: Icade6d1a50160feb1f1be11e80bb6de14e37fd58
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
2 years agoChange gcov object install path 00/269700/1 accepted/tizen/unified/20220124.020202 submit/tizen/20220121.013327
Sangchul Lee [Thu, 20 Jan 2022 05:02:16 +0000 (14:02 +0900)]
Change gcov object install path

[Version] 0.5.44
[Issue Type] Gcov

Change-Id: Ie2f67254e7ca048cab127f69cf7e8589b8bd5b06
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years ago[ACR-1664] Add new enum for channel type (up-to 16 channels for recording) 69/261569/4 accepted/tizen/6.5/unified/20211028.094619 accepted/tizen/unified/20210924.132737 submit/tizen/20210923.063705 submit/tizen_6.5/20211028.161701 tizen_6.5.m2_release
Seungbae Shin [Wed, 21 Jul 2021 07:55:01 +0000 (16:55 +0900)]
[ACR-1664] Add new enum for channel type (up-to 16 channels for recording)

[Version] 0.5.43
[Issue Type] Add

Change-Id: Ib8faee13123e91b1a857b93e273956ccb7a857d6

3 years agoaudio_io_test_ec: apply command design pattern 16/261516/5 accepted/tizen/unified/20210923.133037 submit/tizen/20210923.034818
Seungbae Shin [Tue, 20 Jul 2021 09:47:19 +0000 (18:47 +0900)]
audio_io_test_ec: apply command design pattern

[Version] 0.5.42
[Issue Type] Refactoring

Change-Id: I2615757da7e51ecd338fbe5d39c64ee9f08ab762

3 years agoAdds aec testcase 24/260324/10
Jaechul Lee [Wed, 23 Jun 2021 08:04:40 +0000 (17:04 +0900)]
Adds aec testcase

[Version] 0.5.41
[Issue Type] Add testcase

Change-Id: I997136f7aeed4538a457e3f3c80bee107c8e0de9
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
3 years agoAdd handle creation testcase 15/250515/3
Jaechul Lee [Tue, 29 Dec 2020 00:30:14 +0000 (09:30 +0900)]
Add handle creation testcase

[Version] 0.5.40
[Issue Type] Enhancement

Change-Id: I2bd966aaf73807b310e620a9ab5e1d8ce23431c1
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
4 years agoCPulseAudioClient: Add null check for pa_operation 47/250047/3 accepted/tizen/unified/20201224.151525 submit/tizen/20201223.054528
Seungbae Shin [Fri, 18 Dec 2020 11:04:43 +0000 (20:04 +0900)]
CPulseAudioClient: Add null check for pa_operation

[Version] 0.5.39
[Issue Type] Error Handling

Change-Id: Id5b3acce73ccb3c04445d619c6f3d2c539d33a22

4 years agoaudio_io_doc: Fix doxygen to remove unnecessary HTML link for feature 70/249670/1
Sangchul Lee [Wed, 16 Dec 2020 06:12:02 +0000 (15:12 +0900)]
audio_io_doc: Fix doxygen to remove unnecessary HTML link for feature

[Version] 0.5.38
[Issue Type] Doxygen

Change-Id: Ic389dbaba7401debbc9467b984662b13500cacbd
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agoCPulseAudioClient: fix improper initialize error handling 46/249546/3 accepted/tizen/unified/20201216.215923 submit/tizen/20201215.130336
Seungbae Shin [Mon, 14 Dec 2020 16:19:09 +0000 (01:19 +0900)]
CPulseAudioClient: fix improper initialize error handling

[Version] 0.5.37
[Issue Type] Error Handling

Change-Id: I1960a42a6898e30eb04b052ff87e92346461beb6

4 years agofixup! CAudioOutput: Add some stat dump log for future debugging 07/249207/2 accepted/tizen/unified/20201209.124850 submit/tizen/20201209.043637
Seungbae Shin [Tue, 8 Dec 2020 17:06:27 +0000 (02:06 +0900)]
fixup! CAudioOutput: Add some stat dump log for future debugging

Change-Id: Ib40d2f7aaeac972441d1414afe866cbf62028381

4 years agoCAudioOutput: Add some stat dump log for future debugging 49/248949/2 submit/tizen/20201208.110804
Seungbae Shin [Thu, 3 Dec 2020 11:48:58 +0000 (20:48 +0900)]
CAudioOutput: Add some stat dump log for future debugging

[Version] 0.5.36
[Issue Type] Debug

Change-Id: I8d8a7d9c5a0d88f60a57f4f192889da39b72692d

4 years agoWait for accept when signaling stream ready connection to sync callback sequence 16/247516/6 accepted/tizen/unified/20201113.130834 submit/tizen/20201112.053402
Seungbae Shin [Wed, 11 Nov 2020 10:24:06 +0000 (19:24 +0900)]
Wait for accept when signaling stream ready connection to sync callback sequence

+ add/revise some logs for debugging convenience

[Version] 0.5.35
[Issue Type] Bug

Change-Id: Icb7320014b569ef4dbd6656482974e17da53400e

4 years agofixup! move __IsReady function into the critical section 24/245324/1 accepted/tizen_6.0_unified_hotfix tizen_6.0_hotfix accepted/tizen/6.0/unified/20201030.122147 accepted/tizen/6.0/unified/hotfix/20201103.004501 accepted/tizen/6.0/unified/hotfix/20201103.051654 accepted/tizen/unified/20201007.090602 submit/tizen/20201007.064048 submit/tizen_6.0/20201029.205102 submit/tizen_6.0_hotfix/20201102.192502 submit/tizen_6.0_hotfix/20201103.114802 tizen_6.0.m2_release
Seungbae Shin [Wed, 7 Oct 2020 06:00:04 +0000 (15:00 +0900)]
fixup! move __IsReady function into the critical section

hotfix for webtct failure

Change-Id: I63d9ed1bedda30f7fe065c3f819118b423a8b929

4 years agoChanges rand() to rand_r() 86/245186/2 submit/tizen/20201005.134301
Jaechul Lee [Mon, 5 Oct 2020 07:12:50 +0000 (16:12 +0900)]
Changes rand() to rand_r()

SVACE warned that rand makes no guaranteee of thread safety.

[Version] 0.5.33
[Issue Type] Bug

Change-Id: I256cf902b08a7f4fd334e79ad9c249b323f31c57
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
4 years agoCAudioError: revise exception string format and the concatenate logic 66/244966/2 accepted/tizen/unified/20201005.005851 submit/tizen/20200929.100421
Seungbae Shin [Mon, 28 Sep 2020 11:16:47 +0000 (20:16 +0900)]
CAudioError: revise exception string format and the concatenate logic

[Version] 0.5.32
[Issue Type] Revise

Change-Id: I5ec5324f72d838b19a4d39387d82bcaa8ccfca3b

4 years agoCAudioError: Fix bug of 'Exception objects must be nothrow copy constructible' 77/244877/2 accepted/tizen/unified/20200928.213348 submit/tizen/20200928.072700
Seungbae Shin [Fri, 25 Sep 2020 08:59:06 +0000 (17:59 +0900)]
CAudioError: Fix bug of 'Exception objects must be nothrow copy constructible'

https://wiki.sei.cmu.edu/confluence/display/cplusplus/ERR60-CPP.+Exception+objects+must+be+nothrow+copy+constructible

[Version] 0.5.31
[Issue Type] Revise

Change-Id: I31225a025723dd2581f1c941012999143a9f06ee

4 years agomove __IsReady function into the critical section 01/243701/32 accepted/tizen/unified/20200927.212947 submit/tizen/20200925.085823
Jaechul Lee [Thu, 10 Sep 2020 07:59:53 +0000 (16:59 +0900)]
move __IsReady function into the critical section

IsReady() was moved into critical section to support thread-safe.
stress testcase was added.

[Version] 0.5.30
[Issue Type] DF200907-00219

Change-Id: I45811c183636faabfd66090b96ddfa910f733496
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
4 years agofixup! Add writable-size wait timeout log / Terminate write operation with accumulate... 57/238057/1 accepted/tizen/unified/20200709.164728 submit/tizen/20200708.050330
Seungbae Shin [Wed, 8 Jul 2020 04:42:36 +0000 (13:42 +0900)]
fixup! Add writable-size wait timeout log / Terminate write operation with accumulated timeouts

[Version] 0.5.29
[Issue Type] Build

Change-Id: I02ed186a776a39703a89196c7c53201539fbff04

4 years agoAdd writable-size wait timeout log / Terminate write operation with accumulated timeouts 09/237909/7 submit/tizen/20200707.101425
Seungbae Shin [Mon, 6 Jul 2020 10:27:59 +0000 (19:27 +0900)]
Add writable-size wait timeout log / Terminate write operation with accumulated timeouts

[Version] 0.5.28
[Issue Type] Enhancement

Change-Id: Ie1f43daefd63bace231e048891197258f22c10e6

4 years agoRevise dummy stream write function using anonymous vector objects 40/191640/7 accepted/tizen/unified/20200415.121418 submit/tizen/20200414.034149
Seungbae Shin [Fri, 19 Oct 2018 11:00:28 +0000 (20:00 +0900)]
Revise dummy stream write function using anonymous vector objects

In addition, remove explicit c++ mode flag

[Version] 0.5.27
[Issue Type] Revise

Change-Id: I81e4481e9030d1dda006947e9a36884ba0f6304a

4 years agouse auto for constexpr whenever possible 41/225641/2 accepted/tizen/unified/20200414.034825 submit/tizen/20200413.111527
Seungbae Shin [Fri, 21 Feb 2020 11:11:47 +0000 (20:11 +0900)]
use auto for constexpr whenever possible

Change-Id: I0afca45754dc2487ed23d7bb63f2c5293f426f46

4 years agoRevise cpp codes (mutex/cond) 76/207376/10 accepted/tizen/unified/20200411.115541 submit/tizen/20200410.105914
Seungbae Shin [Tue, 4 Jun 2019 05:31:25 +0000 (14:31 +0900)]
Revise cpp codes (mutex/cond)

use std::mutex instead of pthread_mutex for internal locking.
use lock_guard/unique_lock whenever possible, which is convenient RAII-style mechanism for owning a mutex.
use std::condition_variable instead of pthread_cond for internal wait/signal

[Version] 0.5.26
[Issue Type] Revise

Change-Id: I2aee6405c173c5df2b391998d8e483e1c528c453

4 years agoAdd audio-in set/get volume 51/223051/14 accepted/tizen/unified/20200218.145902 submit/tizen/20200217.053256 submit/tizen/20200217.171228
Seungbae Shin [Wed, 22 Jan 2020 11:37:24 +0000 (20:37 +0900)]
Add audio-in set/get volume

Change-Id: I281840bb01528f2903430fcd036a3c4812aec68c

4 years agoMove drain method to subclass CAudioOutput 44/223144/1 accepted/tizen/unified/20200203.125810 submit/tizen/20200129.111655 submit/tizen/20200130.111222 submit/tizen/20200131.044105
Seungbae Shin [Thu, 23 Jan 2020 08:00:05 +0000 (17:00 +0900)]
Move drain method to subclass CAudioOutput

fix improper virtual function keyword

[Version] 0.5.25
[Issue Type] Revise

Change-Id: I038e0450c8342dcf0155b12df1a98e2ec981a7c9

4 years agofixup! Avoid infinite blocking on internalWait() by replacing cond_wait with cond_tim... 43/221443/1 submit/tizen/20200121.063631
Seungbae Shin [Thu, 2 Jan 2020 10:17:53 +0000 (19:17 +0900)]
fixup! Avoid infinite blocking on internalWait() by replacing cond_wait with cond_timedwait

[Version] 0.5.24
[Issue Type] Bug

Change-Id: Ic116edc1ee4a23c2c6a3c5bd3cf4ae96e414b3b8

4 years agoFix improper implementation of CPulseAudioClient::getReadableSize() 33/221333/1 accepted/tizen/unified/20200101.120425 submit/tizen/20191231.101001
Seungbae Shin [Tue, 31 Dec 2019 06:55:04 +0000 (15:55 +0900)]
Fix improper implementation of CPulseAudioClient::getReadableSize()

+ Fix 'Dereference null return value' issue reported by Covertity

[Version] 0.5.23
[Issue Type] Bug

Change-Id: Ic6ad0f52b4ee1ad7e29a8c6f6bdcd46e1f6b734d

4 years agoAvoid infinite blocking on internalWait() by replacing cond_wait with cond_timedwait 12/221312/3 accepted/tizen/unified/20200101.120535 submit/tizen/20191231.054651
Seungbae Shin [Tue, 31 Dec 2019 05:03:18 +0000 (14:03 +0900)]
Avoid infinite blocking on internalWait() by replacing cond_wait with cond_timedwait

[Version] 0.5.22
[Issue Type] Deadlock

Change-Id: If7064ca734a93a8c75b88b18298f5868feffdfad

5 years agofixup! Change reference link in doc file 64/219064/1
Sangchul Lee [Mon, 2 Dec 2019 03:39:30 +0000 (12:39 +0900)]
fixup! Change reference link in doc file

The guideline has been changed.

Change-Id: I249b3b4154d3d8b331fe561eb0c1386d8cbc30f5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
5 years agoChange reference link in doc file 62/218862/1
Sangchul Lee [Fri, 29 Nov 2019 02:59:43 +0000 (11:59 +0900)]
Change reference link in doc file

Change-Id: Ib38f37c281a4c0050505731402046f0dd3b7d23c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
5 years agoUpdate coverage exception macros 94/216194/2 accepted/tizen/unified/20191108.065915 submit/tizen/20191107.103618
Seungbae Shin [Tue, 22 Oct 2019 07:18:42 +0000 (16:18 +0900)]
Update coverage exception macros

Change-Id: I265dcfdf90fab8960ebbb8a718834738b72d1c59

5 years agouse constexpr whenever possible / remove unused member function 92/212192/2 accepted/tizen_5.5_unified_mobile_hotfix tizen_5.5_mobile_hotfix accepted/tizen/5.5/unified/20191031.030850 accepted/tizen/5.5/unified/mobile/hotfix/20201027.065441 accepted/tizen/unified/20191011.015516 submit/tizen/20191002.084056 submit/tizen/20191004.062740 submit/tizen/20191010.062136 submit/tizen_5.5/20191031.000002 submit/tizen_5.5_mobile_hotfix/20201026.185102 tizen_5.5.m2_release
Seungbae Shin [Fri, 16 Aug 2019 09:16:20 +0000 (18:16 +0900)]
use constexpr whenever possible / remove unused member function

Change-Id: If9726261b3603644c9cf2f111888bd86df5f38fb

5 years agoRevise CAudioError to derive std::exception 66/212566/8
Seungbae Shin [Fri, 23 Aug 2019 05:34:55 +0000 (14:34 +0900)]
Revise CAudioError to derive std::exception

catch error by const reference

Change-Id: Ied91d1ea47de3e899466a6a23b787729ad13db81

5 years agoAdd deprecated symbol related to Unity for compatibility 51/213751/2 accepted/tizen/unified/20190917.034033 submit/tizen/20190916.021650
Seungbae Shin [Wed, 11 Sep 2019 04:06:43 +0000 (13:06 +0900)]
Add deprecated symbol related to Unity for compatibility

 - audio_out_create()
 - audio_out_set_interrupted_cb()

[Version] 0.5.21
[Issue Type] Compatibility

Change-Id: I76a7619afe6e88e8cdcb3926e8a2b4fbff497039

5 years agorevise CAudioInfo conversion 91/212191/5 submit/tizen/20190910.071813
Seungbae Shin [Fri, 16 Aug 2019 09:05:56 +0000 (18:05 +0900)]
revise CAudioInfo conversion

Change-Id: I0116ac94c3444179292f4b668fa35ae4f590b039

5 years agoRemove unused internal error enums 57/212857/3 submit/tizen/20190909.005809
Seungbae Shin [Tue, 27 Aug 2019 10:23:22 +0000 (19:23 +0900)]
Remove unused internal error enums

Following enums are removed.
  EError::ERROR_INVALID_SAMPLERATE,
  EError::ERROR_INVALID_CHANNEL,
  EError::ERROR_INVALID_FORMAT

[Version] 0.5.20
[Issue Type] Refactoring

Change-Id: Iace839139ad71177689fb1269f0ec90341bfd771

5 years agorevise conversion utility functions 89/212189/4 accepted/tizen/unified/20190902.220748 submit/tizen/20190902.110239
Seungbae Shin [Fri, 16 Aug 2019 06:33:00 +0000 (15:33 +0900)]
revise conversion utility functions

Change-Id: I503db61756e851be77558e147d3e4ade68f5e867

5 years agorevise callback assignments 88/212188/2
Seungbae Shin [Fri, 16 Aug 2019 05:38:25 +0000 (14:38 +0900)]
revise callback assignments

Change-Id: I4fa2dfe77af2d0412f97a737633eb599a98b3b1e

5 years agoRevise cpp codes 47/207347/8 accepted/tizen/unified/20190829.101437 submit/tizen/20190827.120802
Seungbae Shin [Mon, 3 Jun 2019 06:01:51 +0000 (15:01 +0900)]
Revise cpp codes

  - remove {} for single statement.
  - use noexcept keyword for non-throw methods.
  - use override keyword for overrided function.
  - remove unused methods.
  - use default keyword for empty destructors.
  - use explict keyword on single argument class constructor to prevent auto conversion.
  - use nullptr instead of NULL if possible.
  - use ! operator instead of comparing with false.
  - use auto when initializing with a cast to avoid duplicating the type name.
  - remove explict end return of void functions.

[Version] 0.5.19
[Issue Type] Refactoring

Change-Id: I5118a6ff5e85f9d9e02c7875b2cbe691652ef064

5 years agoRevise header doxygen descriptions 33/212233/3 submit/tizen/20190821.023220
Seungbae Shin [Mon, 19 Aug 2019 06:40:31 +0000 (15:40 +0900)]
Revise header doxygen descriptions

[Version] 0.5.18
[Issue Type] Doxygen

Change-Id: Ifdd05b2b7ed64c98af1a842e774f48fd56daf8b4

5 years ago[ACR-1434] Extend channel and format parameters 57/211157/16 accepted/tizen/unified/20190813.215932 submit/tizen/20190812.051439 submit/tizen/20190813.023718
Seungbae Shin [Tue, 25 Oct 2016 06:26:42 +0000 (15:26 +0900)]
[ACR-1434] Extend channel and format parameters

- support multi-channels (3~8) for recording only
- support S32LE format type

Change-Id: I5b31a7db0cfecec1d118621ed1ef4014805b6334

5 years agoAdd gcov package for line coverage automation 47/209447/1 accepted/tizen/unified/20190710.103416 submit/tizen/20190709.022805
Seungbae Shin [Mon, 8 Jul 2019 05:42:02 +0000 (14:42 +0900)]
Add gcov package for line coverage automation

[Version] 0.5.17
[Issue Type] Coverage

Change-Id: I545d8b9ceb0e051409a07bc8308aafda6274d19c

5 years agoMerge branch 'tizen_line_coverage' into tizen 46/209446/1
Seungbae Shin [Mon, 8 Jul 2019 05:40:22 +0000 (14:40 +0900)]
Merge branch 'tizen_line_coverage' into tizen

Change-Id: Ia162ed8e8ea4bb8d60ce2ae1333d5e5c232caa12

5 years agoCAudioOutput: Apply high latency in case of network source media audio type 85/208085/2 accepted/tizen/unified/20190621.121855 submit/tizen/20190619.053430 submit/tizen/20190620.095920
Sangchul Lee [Fri, 31 May 2019 05:55:45 +0000 (14:55 +0900)]
CAudioOutput: Apply high latency in case of network source media audio type

[Version] 0.5.16
[Issue Type] New feature

Change-Id: I1c614bcfed4021dad7a651bd60d69924a8d4c8c9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
5 years agoMerge branch 'tizen' into tizen_line_coverage 90/199690/1 tizen_line_coverage
Sangchul Lee [Thu, 14 Feb 2019 05:27:38 +0000 (14:27 +0900)]
Merge branch 'tizen' into tizen_line_coverage

Change-Id: I2f9d5cbdb39ab3552e1472c27272e5cedf804983

6 years agoMerge "CAudioInput/Output: Apply VoIP latency in case of VoIP audio type" into tizen accepted/tizen/unified/20181217.064613 submit/tizen/20181214.011817
Sangchul Lee [Wed, 12 Dec 2018 02:53:00 +0000 (02:53 +0000)]
Merge "CAudioInput/Output: Apply VoIP latency in case of VoIP audio type" into tizen

6 years agoCAudioInput/Output: Apply VoIP latency in case of VoIP audio type 30/195130/1
Sangchul Lee [Tue, 11 Dec 2018 04:35:38 +0000 (13:35 +0900)]
CAudioInput/Output: Apply VoIP latency in case of VoIP audio type

There was no implementation of setting specific latency value except default case.
An audio type can be set by audio_in[out]_set_sound_stream_info() and therefore
we can utilize the audio type to determine which latency type should be set.
If it is set, the audio core recoginizes it and set this stream with a specific
latency value.

VoIP type is one of the most common usecases for audio-io API. This case is
now added.

[Version] 0.5.15
[Issue Type] Enhancement

Change-Id: Id5fd33f79fbb2430ce35824e06c4454a0f66dff1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoFix invalid format string 92/194792/1 accepted/tizen/unified/20181210.060219 submit/tizen/20181207.090553
Seungbae Shin [Fri, 7 Dec 2018 07:23:05 +0000 (16:23 +0900)]
Fix invalid format string

[Version] 0.5.15
[Issue Type] Build

Change-Id: Ia7106706f2e349d64b859bed53a20d0e85cbec95

6 years agoAdd pa_threaded_mainloop_lock() in CPulseAudioClient::write() 84/192484/2 accepted/tizen/unified/20181107.082100 submit/tizen/20181106.060307
Jungsup Lee [Tue, 6 Nov 2018 04:07:28 +0000 (13:07 +0900)]
Add pa_threaded_mainloop_lock() in CPulseAudioClient::write()

[Version] 0.5.14
[Issue Type] Bug fix

Change-Id: I56747241d749c2434101106c4aa1144aad1dde07
Signed-off-by: Jungsup Lee <jungsup4.lee@samsung.com>
6 years agoAdd more excludes 57/191957/1
Seungbae Shin [Fri, 26 Oct 2018 04:37:56 +0000 (13:37 +0900)]
Add more excludes

Change-Id: I0bbcebec7119a3b9561ac2cede1f0eec772105cb

6 years agoMerge branch 'tizen' into tizen_line_coverage 48/191548/1
Seungbae Shin [Thu, 18 Oct 2018 07:38:01 +0000 (16:38 +0900)]
Merge branch 'tizen' into tizen_line_coverage

Change-Id: Ib35e0f83c76869e8471b4deed33f4f0aec3f8a72

6 years agoRemove unnecessary input drain code 47/191547/1
Seungbae Shin [Thu, 18 Oct 2018 07:35:17 +0000 (16:35 +0900)]
Remove unnecessary input drain code

[Version] 0.5.13
[Issue Type] Revise

Change-Id: Ia11fbd008af6cedf9856b4dcf6c153a8dbf4e0c8

6 years agoExclude more coverage check which can't be covered by this module 65/191365/1
Seungbae Shin [Tue, 16 Oct 2018 08:53:10 +0000 (17:53 +0900)]
Exclude more coverage check which can't be covered by this module

As following errors can't be covered by audio-io testcase itself, exclude from coverage scope
- pthread mutex errors
- sound_manager errors
- pulseaudio errors except policy restriction
- constructors which is not in use

Change-Id: I58d02dc65c16419b2c7eee95670f169327093109

6 years agoMerge branch 'tizen' into tizen_line_coverage 55/191355/1
Seungbae Shin [Tue, 16 Oct 2018 07:49:56 +0000 (16:49 +0900)]
Merge branch 'tizen' into tizen_line_coverage

Change-Id: I35670c14b02e01718d77f9c60f8d60d9eb6a5d61

6 years agoSeperates privilege implementations from CAudioInput 87/171287/5
Seungbae Shin [Wed, 28 Feb 2018 07:50:15 +0000 (16:50 +0900)]
Seperates privilege implementations from CAudioInput

[Version] 0.5.12
[Issue Type] Revise

Change-Id: I174b9cf04881acb0ff03fec1968e2f50aca8ec56

6 years agoRemove unnecessary dependancies 56/190656/3
Seungbae Shin [Thu, 4 Oct 2018 11:09:06 +0000 (20:09 +0900)]
Remove unnecessary dependancies

[Version] 0.5.11
[Issue Type] Cleanup

Change-Id: Iee1173184d7eee42fcc8ff73418c52a2d586a55d

6 years agoPatch for coverage 68/190568/1
Seungbae Shin [Mon, 14 May 2018 10:26:20 +0000 (19:26 +0900)]
Patch for coverage

Change-Id: I0fbd522e8329acc848ab7dbf0abd482809b01999

6 years agoAdd gcov environment 46/189446/2
SeokHoon Lee [Tue, 18 Sep 2018 01:28:58 +0000 (10:28 +0900)]
Add gcov environment

Signed-off-by: SeokHoon Lee <andy.shlee@samsung.com>
Change-Id: I0c6d7329d49a8af7cd8a6c77840b2623e6f47fdd

6 years agofixup! fixup! Revise testsuite 42/187842/1 accepted/tizen/5.0/unified/20181102.013100 accepted/tizen/unified/20180904.180608 submit/tizen/20180831.111337 submit/tizen_5.0/20181101.000001
Seungbae Shin [Wed, 29 Aug 2018 02:36:54 +0000 (11:36 +0900)]
fixup! fixup! Revise testsuite

 - fix 64bit build error

Change-Id: I810075a6bf0e70a0d608139c2044ce03d5dfc91f

6 years agofixup! Revise testsuite 58/187758/1 submit/tizen/20180828.024704
Seungbae Shin [Tue, 28 Aug 2018 07:26:15 +0000 (16:26 +0900)]
fixup! Revise testsuite

Change-Id: I8bde941ab926ed9a8cc925d75688784dadc22b40

6 years agoRevise testsuite 68/184368/6
Seungbae Shin [Tue, 17 Jul 2018 11:49:15 +0000 (20:49 +0900)]
Revise testsuite

remove unnecessary glib header include

[Version] 0.5.10
[Issue Type] Revision

Change-Id: Ie232cd33c38b205a0cb1795c220a0265b46e199a

6 years agoSupport 24bit sample format and up-to 192kHz sample rate 97/183897/4 accepted/tizen/unified/20180814.063205 submit/tizen/20180810.072258
Seungbae Shin [Mon, 4 Jun 2018 10:03:44 +0000 (19:03 +0900)]
Support 24bit sample format and up-to 192kHz sample rate

[Version] 0.5.9
[Issue Type] Enhancement

Change-Id: I1f5dafa187781e60041ce6667cdc66c156466076

6 years agoSkip drain when stream is not started yet 24/181124/1 accepted/tizen/unified/20180612.044139 submit/tizen/20180611.055237
Seungbae Shin [Fri, 8 Jun 2018 09:17:48 +0000 (18:17 +0900)]
Skip drain when stream is not started yet

[Version] 0.5.8
[Issue Type] Bug Fix

Change-Id: I741348f3ed8fe082d6734dd91d8e79533af1c865

6 years agoRemove 3.0 deprecated API 20/160320/11 accepted/tizen/unified/20180516.162331 submit/tizen/20180516.063000
Seungbae Shin [Wed, 15 Nov 2017 10:00:12 +0000 (19:00 +0900)]
Remove 3.0 deprecated API

Please refer following deprecation policy.

https://developer.tizen.org/development/training/native-application/understanding-tizen-programming/api-versioning-and-deprecation-policy-tizen-platform

[Version] 0.5.7
[Issue Type] Deprecation

Change-Id: I79cf36662d10fdb7140f96bca8aef8f905cec89f

6 years agoFix for TV product build macro 83/176783/1 accepted/tizen/unified/20180424.165711 submit/tizen/20180424.040057
Seungbae Shin [Mon, 23 Apr 2018 10:20:06 +0000 (19:20 +0900)]
Fix for TV product build macro

[Version] 0.5.6
[Issue Type] Build

Change-Id: Ia0541ac27ef8686579b38d8a440d6847174d3236

6 years agoUpdate doc for deprecation 74/171274/1
Seungbae Shin [Wed, 28 Feb 2018 05:42:07 +0000 (14:42 +0900)]
Update doc for deprecation

[Version] 0.5.5
[Issue Type] Deprecation

Change-Id: Ib164beb96006c7b8fc44bf7436b6dc18f63ea3b2

6 years agoRemove 3.0 deprecated API implementation 43/170943/2 accepted/tizen/unified/20180227.062934 submit/tizen/20180226.074129
Seungbae Shin [Fri, 23 Feb 2018 10:13:45 +0000 (19:13 +0900)]
Remove 3.0 deprecated API implementation

[Version] 0.5.4
[Issue Type] Deprecation

Change-Id: I8acb7365e55e0d76afe8fdca9e559e0b90f5743f

6 years agoThrow invalid operation error when unprepare() is called at inside of pulse-thread 29/170929/1
Seungbae Shin [Thu, 8 Feb 2018 08:30:48 +0000 (17:30 +0900)]
Throw invalid operation error when unprepare() is called at inside of pulse-thread

seperate tool package for containing test binary

[Version] 0.5.3
[Issue Type] Bug Fix

Change-Id: If5861e2d217d52da7dd9162aeeb74bb0498e3059

6 years agoAdd session mutex lock 28/170928/1
Seungbae Shin [Wed, 14 Feb 2018 11:37:08 +0000 (20:37 +0900)]
Add session mutex lock

- revise try-catch blocks / single line statement
- add more capi layer logs for easy debugging

[Version] 0.5.2
[Issue Type] Bug Fix

Change-Id: Ide35f778da97fe9d69227628d6d97ed607509aec

6 years agoRevise CPulseAudioClient::finalize() to free all the resources which have been alread... 27/170927/1
Sangchul Lee [Mon, 15 Jan 2018 08:02:59 +0000 (17:02 +0900)]
Revise CPulseAudioClient::finalize() to free all the resources which have been already used

A failure can be happened during initialize(), we do not lean on the __mIsInit member variable
which is only set on the last stage of the initialize() function.

[Version] 0.5.1
[Issue Type] Bug Fix

Change-Id: I906365647ea08fd27e5c72562fb59f94c2b77b96
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
6 years agoDisable deprecated sound-manager internal API call 18/168218/1 accepted/tizen/unified/20180220.064125 submit/tizen/20180219.063156 submit/tizen/20180219.083351
Seungbae Shin [Thu, 25 Jan 2018 05:30:17 +0000 (14:30 +0900)]
Disable deprecated sound-manager internal API call

Other deprecated code will be removed soon

[Version] 0.5.0
[Issue Type] Deprecation

Change-Id: I60b2d06cd51ffb391083b843630498dd1b24f424

7 years agoEnable dummy write on streamCb only for async mode backward compatibility 02/159802/1 accepted/tizen/unified/20171115.061212 submit/tizen/20171114.101427
Seungbae Shin [Tue, 7 Nov 2017 10:00:37 +0000 (19:00 +0900)]
Enable dummy write on streamCb only for async mode backward compatibility

set started/underflow for playback debugging purpose

[Version] 0.4.5
[Issue Type] Bug Fix

Change-Id: I1c39d76895f93c6a6719d719c3382342f84be4d8
(cherry picked from commit 2f28d6f49ca602993014f849835865757e1f02b9)

7 years agoFix build warning 96/158996/1
Sangchul Lee [Thu, 2 Nov 2017 09:40:31 +0000 (18:40 +0900)]
Fix build warning

[Version] 0.4.4
[Issue Type] Build warning

Change-Id: I50e90f6c0cfcc2280ce0a98490d66b3355306c90
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
(cherry picked from commit acc37bef636f7e140cb84b3b3366948fd15afbda)

7 years agoAdd to lock/unlock focus Id mutex 77/158977/1
Sangchul Lee [Thu, 2 Nov 2017 05:48:38 +0000 (14:48 +0900)]
Add to lock/unlock focus Id mutex

There are cases that focus or focus watch callback is used internally
for session backward compatibility. Because there has not been any mutex for
focus id, sometimes an unintended error happens accessed from another thread.
Now, a mutex for the focus id is added and operated to secure the critical section.

[Version] 0.4.3
[Issue Type] Bug fix

Change-Id: Ib4c721f49e80417a6b92e19e1bf61c81148bb1d4
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
7 years agoRearrange internalLock() 83/155483/1 accepted/tizen/unified/20171016.064339 submit/tizen/20171013.081720
Sangchul Lee [Fri, 29 Sep 2017 01:33:25 +0000 (10:33 +0900)]
Rearrange internalLock()

'internalLock' is for protecting mpPulseAudioClient handle.
But in some functions, it is used too widely it causes dead-lock
issue with internal focus callback for session backward compatibility.

Original patch
 : https://review.tizen.org/gerrit/#/c/153596/

[Version] 0.4.2
[Issue Type] Bug fix

Change-Id: I5c4633e3a9ecfa631bd860a85edf8511cd05c28c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
(cherry picked from commit f3f84b6d2c5257f2a25d710a336a0a52ddd42b78)

7 years agoApply blocking policy in case of prepare() functions 78/155478/1
Sangchul Lee [Mon, 17 Apr 2017 07:04:55 +0000 (16:04 +0900)]
Apply blocking policy in case of prepare() functions

If audio io handle uses media session with MIX_WITH_OTHERS option and other process
has already acquired a focus which has more higher priority than media, policy error
will be returned from prepare() functions.
 - audio_out_prepare(), audio_in_prepare()

Unnecessary session backward compatibility codes are also removed in some functions
exported since tizen 3.0.
 - audio_out_pause(), audio_in_pause()
 - audio_out_resume(), audio_in_resume()

Original patch is
 : https://review.tizen.org/gerrit/#/c/125413/

[Version] 0.4.1
[Profile] Common
[Issue Type] Backward compatibility

Change-Id: Id0710c2847903cf96cdce38eab909b5c2e103c5f
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
(cherry picked from commit 6035bcf1a578fa1c0533a7d850e0e9f2794a46ab)

7 years agoModification for Tizen C++ Coding Rule Checker 61/149261/1 accepted/tizen/unified/20170914.230139 submit/tizen/20170914.083817
Seungbae Shin [Tue, 12 Sep 2017 03:18:01 +0000 (12:18 +0900)]
Modification for Tizen C++ Coding Rule Checker

[Version] 0.4.0
[Issue Type] Cleanup

Change-Id: I1e94771fa0f3ebc5cf6fce8cce0b15deacfb5abf

7 years agoMerge from mobile product code for backward compatibility 32/142432/9 accepted/tizen/unified/20170908.062032 submit/tizen/20170907.123315
Seungbae Shin [Thu, 3 Aug 2017 10:16:05 +0000 (19:16 +0900)]
Merge from mobile product code for backward compatibility

(common)
 - seperate cond wait mutex
 - reject read on interrupted situtation
 - no auto-resume by audio-io
 - async send interrupt completed event using g_idle_add()

(except TV product)
 - seperate async playback latency managment
 - start stream as corked
 - dummy write on start

[Version] 0.3.81
[Issue Type] Compatibility

Change-Id: Ie55c7c723433db0c607e08319a09429d163c6b78

7 years agoAdd mutex for internal focus cb 65/145065/3
Sangchul Lee [Mon, 21 Aug 2017 06:14:42 +0000 (15:14 +0900)]
Add mutex for internal focus cb

[Version] 0.3.80
[Issue Type] Enhancement

Change-Id: Ic2bda1f6915738ae6228fa6b22aa74c1beefa852
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
7 years agoRevise exception handling 17/140517/8 accepted/tizen/4.0/unified/20170816.012615 accepted/tizen/4.0/unified/20170828.224329 accepted/tizen/unified/20170802.151130 submit/tizen/20170801.063935 submit/tizen_4.0/20170811.094300 submit/tizen_4.0/20170828.110001
Seungbae Shin [Tue, 25 Jul 2017 03:58:23 +0000 (12:58 +0900)]
Revise exception handling

- Use reference variable on catching exception
- Remove throw specification which mostly useless
- Add few more null checks
- Revise re-throw method
- Fix SVACE defects (WGID:13946)
- Add copy constructor for CAudioError class

[Version] 0.3.79
[Profile] Common
[Issue Type] Enhancement

Change-Id: Iadf4fcceaf0f4c07bf575f2809e16ab0cb60608d

7 years agoSupport VOICE_RECOGNITION_SERVICE stream type 54/141054/2 accepted/tizen/unified/20170801.054858 submit/tizen/20170731.025308
Sangchul Lee [Fri, 28 Jul 2017 03:05:12 +0000 (12:05 +0900)]
Support VOICE_RECOGNITION_SERVICE stream type

[Version] 0.3.78
[Profile] Common
[Issue Type] Enhancement

Change-Id: Ie9842b817a365107fbcdd2e034589cf1fbfcef4d
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
7 years agoFix exception handling of 'new' operator. 99/131399/4
KimJeongYeon [Mon, 29 May 2017 02:38:53 +0000 (11:38 +0900)]
Fix exception handling of 'new' operator.

If it fails memory allocation by calling operator 'new', 'std:bad_alloc' exception will throw.
Therefore, never check null-pointer at next line. These situations cause potential leak also.
This patch uses exception handling of 'new' operator instead of checking null-pointer.

[Version] 0.3.77
[Profile] Common
[Issue Type] Bug

Signed-off-by: KimJeongYeon <jeongyeon.kim@samsung.com>
Change-Id: Ibdd9c4d93273d1a0874eee4cdb5056ff5ae35407

7 years agoFix build error due to -Wformat 05/135705/1 accepted/tizen/unified/20170627.043403 submit/tizen/20170626.070713
Seungbae Shin [Thu, 22 Jun 2017 13:40:37 +0000 (22:40 +0900)]
Fix build error due to -Wformat

[Version] 0.3.77
[Profile] Common
[Issue Type] Enhancement

Change-Id: I5b5b9dd123eeeb5445b108063ddb158e0597a1d5

7 years agoManage current acquired focus state and check it before acquiring/releasing focus 25/135125/2
Sangchul Lee [Wed, 21 Jun 2017 01:31:07 +0000 (10:31 +0900)]
Manage current acquired focus state and check it before acquiring/releasing focus

[Version] 0.3.76
[Profile] Common
[Issue Type] Backward compatibility

Change-Id: Ifa9a06a8402932e454803b579d97ba48eac3b263
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
7 years agoUse static_cast instead of dynamic cast 84/132884/1 accepted/tizen/unified/20170608.185106 submit/tizen/20170608.102629
Seungbae Shin [Thu, 8 Jun 2017 06:59:11 +0000 (15:59 +0900)]
Use static_cast instead of dynamic cast

[Version] 0.3.75
[Profile] Common
[Issue Type] Enhancement

Change-Id: I5eb19a26aed1d01cebb77f33c8376a10ddb23a2d

7 years agoFix convertInterruptedCode() 19/125219/1
Sangchul Lee [Thu, 13 Apr 2017 05:16:11 +0000 (14:16 +0900)]
Fix convertInterruptedCode()

[Version] 0.3.74
[Profile] Common
[Issue Type] Backward compatibility

Change-Id: I2fbe48dcf447089ed1096ce750bb7db75d4f90e5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
(cherry picked from commit 54c7a443738deaf9fa3421b8372ed071fa457a76)

7 years agoFix doxygen comment which is different with actual implementation 08/122708/1
Seungbae Shin [Mon, 3 Apr 2017 05:31:20 +0000 (14:31 +0900)]
Fix doxygen comment which is different with actual implementation

Change-Id: Ie47763f3b1b28d72d7017cf315bdf659fc57ef84
(cherry picked from commit 6708973408ad4b2aa0fec759824ef15e09549d1a)