platform/core/api/audio-io.git
3 weeks agofixup! Reset dump values when pause function is called 88/309088/4 accepted/tizen_unified accepted/tizen_unified_x tizen accepted/tizen/unified/20240409.135556 accepted/tizen/unified/20240409.155901 accepted/tizen/unified/x/20240411.011827
Seungbae Shin [Thu, 4 Apr 2024 12:05:00 +0000 (21:05 +0900)]
fixup! Reset dump values when pause function is called

refactor code to handle internal cork scenario due to empty-pop-timeout

Change-Id: Ief7fad657bc78a34f4835ace504ffd6d1fa9ee8c

3 weeks agoReset dump values when pause function is called 77/308877/3 accepted/tizen/unified/20240404.021341 accepted/tizen/unified/x/20240404.062114
Jaechul Lee [Tue, 2 Apr 2024 06:45:52 +0000 (15:45 +0900)]
Reset dump values when pause function is called

All media streams couldn't be played because there could be a ducking problem
when a media stream which should be ducked doesn't write pcm data.(in
case of this, netflix)

[Version] 0.5.67
[Issue Type] DF240327-00487

Change-Id: I7ad6b49f47cf8b13ba14e72158d71895de57f692
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
4 months agoUpdate @since_tizen doxygen tag due to profile merge 13/302313/1 accepted/tizen_unified_riscv accepted/tizen/unified/20231211.171512 accepted/tizen/unified/riscv/20231226.211741
Seungbae Shin [Tue, 5 Dec 2023 08:16:05 +0000 (17:16 +0900)]
Update @since_tizen doxygen tag due to profile merge

[Version] 0.5.66
[Issue Type] Doxygen

Change-Id: I24cfc27df402b5903fdde94cf332447276142f9c

6 months agoAdd get ns/agc function 76/300376/1 accepted/tizen/unified/20231101.174518 accepted/tizen/unified/riscv/20231211.043615
Jaechul Lee [Mon, 23 Oct 2023 08:01:18 +0000 (17:01 +0900)]
Add get ns/agc function

AGC should be applied at the end of the pipe. So it should be separated
and set to the property.

[Version] 0.5.65
[Issue Type] Update

Change-Id: I35bde1c564d7d5a36efd972916d3a5e3bf659556
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
6 months agotest: Add loopback functionality 46/299346/4
Jaechul Lee [Tue, 26 Sep 2023 08:15:22 +0000 (17:15 +0900)]
test: Add loopback functionality

Usage:
audio_io_process_test -r 48000 -c 1 -m 0x0001 -a 0x0004 -d 1 | audio_io_process_test -p -r 48000 -c 1

[Version] 0.5.64
[Issue Type] Update

Change-Id: I106133725ae3122e8da519d2cc6424170a349436
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
8 months agofixup! CAudioInfo: Refactor getters to return in group 73/296973/1 accepted/tizen/8.0/unified/20231005.092621 accepted/tizen/unified/20230808.170214 tizen_8.0_m2_release
Seungbae Shin [Tue, 8 Aug 2023 06:53:34 +0000 (15:53 +0900)]
fixup! CAudioInfo: Refactor getters to return in group

[Version] 0.5.63
[Issue Type] Fixup

Change-Id: I8a89782975c4cddc2e5b633c1aea851b7acd7fad

8 months agoaudio_io_process_test: Fix SVACE defects 31/296831/2
Seungbae Shin [Fri, 4 Aug 2023 12:11:07 +0000 (21:11 +0900)]
audio_io_process_test: Fix SVACE defects

- TAINTED_ARRAY_INDEX.MIGHT
- TAINTED_INT.MIGHT

[Version] 0.5.62
[Issue Type] Svace

Change-Id: I486f63081d06dd25c7aaa79e553833e7d4a43853

8 months agoCAudioInfo: Refactor getters to return in group 27/296627/3
Seungbae Shin [Wed, 2 Aug 2023 09:22:20 +0000 (18:22 +0900)]
CAudioInfo: Refactor getters to return in group

[Version] 0.5.61
[Issue Type] Refactoring

Change-Id: I0b3e644436a8037164dc8148fe16ba31ee33501c

8 months agoUse in-class initializer for class members 06/296606/3 accepted/tizen/unified/20230807.014708
Seungbae Shin [Wed, 2 Aug 2023 04:40:49 +0000 (13:40 +0900)]
Use in-class initializer for class members

https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-in-class-initializer

In addition, use const keyword on function for const getters

[Version] 0.5.60
[Issue Type] Refactoring

Change-Id: I587cd5fa2865c01227ec8e56a3ae317a41bcb2ae

9 months agoRemove unused AEC/NS testcase 25/296225/1 accepted/tizen/unified/20230727.173036
Jaechul Lee [Mon, 24 Jul 2023 05:39:23 +0000 (14:39 +0900)]
Remove unused AEC/NS testcase

[Version] 0.5.59
[Issue Type] Update

Change-Id: I10516410fcc533f6889c1d0b3b9ca813b4edbcd5
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
9 months agoAdd effect methods information to AudioInfo 18/295318/9 accepted/tizen/unified/20230719.170108
Jaechul Lee [Wed, 5 Jul 2023 06:12:01 +0000 (15:12 +0900)]
Add effect methods information to AudioInfo

[Version] 0.5.58
[Issue Type] Update

Change-Id: I9c685f9b724583e1afa616a6f387aa6dd34ca981
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
10 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>
10 months agoModify noise suppression functionality 01/292801/6 accepted/tizen_unified_dev 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>
11 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

14 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>
18 months 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

23 months 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

23 months 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

23 months 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>
2 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

2 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

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

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

3 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

3 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

3 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

3 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

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

3 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

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

3 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

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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

5 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

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

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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

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

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

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

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