Commit graph

503 commits

Author SHA1 Message Date
amerhifi
46f654114a for real, changing location 2019-09-17 08:03:51 -07:00
amerhifi
065df442f3 changing work location 2019-09-17 08:01:05 -07:00
amerhifi
66725f5f1b working on swapping default devices on system change 2019-09-17 07:50:22 -07:00
amerhifi
e689531410 added unique identifier to device for comparison. Because a default device had a different name, but same underlying device. So comparing with device name is not necessarily the same device. Possibly fixed select issue with multiple devices same name 2019-09-16 15:31:44 -07:00
amerhifi
92d1f7bdcb removed clang formatting issues :" 2019-09-16 13:09:14 -07:00
amerhifi
aa6cf466d9 fixing jenkins warning. Added pseudo device and fixed issues with names 2019-09-16 11:52:04 -07:00
amerhifi
68cd8cc8a6 getting wrapper to correctly detect default and fixed clang formatting changes by vs19 2019-09-16 10:32:22 -07:00
amerhifi
bdfb82c072 finishing up the wrapper code implementation. 2019-09-13 13:13:54 -07:00
amerhifi
cc11bd9552 created new AudioWrapper 2019-09-13 11:24:41 -07:00
Ken Cooke
f445737550
Merge pull request #16040 from kencooke/audio-webrtc-improvements
Better detection of audio clipping during echo cancellation
2019-08-08 09:17:58 -07:00
Ken Cooke
86adc6099b Attempt audio device format with native sample rate and channels forced to 2/1 before failing 2019-08-05 12:14:45 -07:00
Ken Cooke
ccfe6bda63 Detect clipping prior to echo cancellation (overload of the uncancelled raw input will cause echo leakage!) 2019-08-05 10:34:03 -07:00
Kalila R
28b27a1e48 Merge branch 'v0.83.0-rc' into kasen/core 2019-08-03 15:27:23 -04:00
Ken Cooke
8c6cee4e4d Bypass WebRTC processing when not enabled.
Note: WebRTC processing with all features disabled still holds locks and performs resampling in the callback.
2019-07-30 14:09:33 -07:00
Ken Cooke
e6e8491098 Improved WebRTC error reporting 2019-07-30 14:09:33 -07:00
Ken Cooke
bd0849fd4f Allow AEC with device sample rate up to 96KHz 2019-07-30 14:09:32 -07:00
Ken Cooke
5c86c22076 Move WebRTC far-end FIFO into AudioClient.h 2019-07-30 14:09:32 -07:00
Seth Alves
8ec4505b95 add an on/off control for audio echo cancelation to Audio Settings page. It's not yet hooked to anything. 2019-07-30 14:09:32 -07:00
Ken Cooke
569c76c8ba Baseline AEC using WebRTC, always enabled.
Audio streams are hooked as close as possible to device input/output, re-buffering as needed.
2019-07-30 14:09:31 -07:00
Ken Cooke
c3b9e4806a Fix longstanding bug in Audio Scope feature that records output to WAV 2019-07-30 14:09:30 -07:00
Ken Cooke
80aeeaa3e0 Refactor the audio output callback, to expose the final output (far-end) needed for AEC 2019-07-30 14:09:30 -07:00
Seth Alves
32d5ab7b1f Make WebRTC library available 2019-07-30 14:09:30 -07:00
amer cerkic
30e295d1a0 push to talk causes fun, removing tttt 2019-06-20 15:12:20 -07:00
amer cerkic
1218f7e014 moved audioclient stop to dtor 2019-06-20 15:10:21 -07:00
Ken Cooke
a132dad486 On platforms where nativeFormatForAudioDevice() is reliable, do not enumerate formats 2019-06-05 07:03:18 -07:00
Ken Cooke
4a294b3899 Add sanity check for buffer overflow due to resampling 2019-06-01 14:31:14 -07:00
Ken Cooke
a56942e494 Correctly handle time-varying buffer size due to loopback resampling 2019-06-01 14:27:32 -07:00
Ken Cooke
451cf60e54 Reset loopback resampler when input device is changed 2019-06-01 11:04:52 -07:00
Ken Cooke
f7236f0498 Fix bug in local echo when output is multichannel 2019-06-01 10:43:34 -07:00
Ken Cooke
1572c93624 Fix longstanding bug where resampler called with samples instead of frames, resulting in buffer overflow 2019-06-01 09:05:06 -07:00
Ken Cooke
cabe9eab81 Allow local echo when audio input and output devices have different sample rates 2019-05-30 08:59:45 -07:00
Ken Cooke
501ceaa6aa Add lock-free wait for initialization to the audio output callback.
Eliminates race condition without making assumptions about the internal audio threading model.
2019-05-25 10:47:26 -07:00
Ken Cooke
135dc7f2b1 assert() on over-filling the audio callback buffer 2019-05-23 08:54:47 -07:00
Ken Cooke
85f425a93b Apply variable output gain using cubic smoothing 2019-05-09 10:05:02 -07:00
Revofire
47af406440 merged 0.80.0-kasen into 0.81.0-kasen, 0.81.0-kasen source ready for build.
various changes, idk, added a whitelist filter to ent script filter
2019-05-01 22:13:51 -04:00
Ken Cooke
85368e6836 Replace inline audio mixing with functions that do gain interpolation 2019-04-01 12:24:37 -07:00
Ken Cooke
abb0a166b1
Merge pull request #15260 from kencooke/audio-mixer-volume-control
Case 21902: System-wide independent volume controls
2019-03-27 13:19:30 -07:00
Seth Alves
5f8139a44c audio-loopback test ignores mute 2019-03-26 16:56:10 -07:00
Ken Cooke
b5e8176b0f
Merge branch 'master' into audio-mixer-volume-control 2019-03-23 16:15:29 -07:00
Ken Cooke
e6c720f793 Add AudioClient mixing gains for local injectors and system sounds 2019-03-22 10:12:31 -07:00
Sam Gondelman
04ecdb463f
Merge pull request #15173 from SamGondelman/audio
Case 21457, Case 16836, Case 15782: Improve AudioInjector threading
2019-03-21 18:03:58 -07:00
SamGondelman
609c4ab52e try to fix audio injector threading issues 2019-03-12 18:41:43 -07:00
Wayne Chen
4187104b17 culling mute state 2019-03-04 14:12:09 -08:00
Seth Alves
3ecd86caee add a way to disble muted warning from audio panel.
fix positioning of warning.  hide warning when removing timer.
2019-03-04 13:47:55 -08:00
Seth Alves
38256df0f2 add a way to disble muted warning from audio panel.
fix positioning of warning.  hide warning when removing timer.
2019-03-04 11:08:06 -08:00
Ken Cooke
c1786edc24 Emulate the old behavior of _lastInputLoudness 2019-02-21 18:45:17 -08:00
Ken Cooke
d014dc2d14 Add audio meter ballistics for less display jitter (10ms attack, 300ms release) 2019-02-07 15:35:20 -08:00
Ken Cooke
2617febbcd Replace ad-hoc audio meter with meter calibrated in dBFS 2019-02-07 15:31:13 -08:00
Ken Cooke
ba00f95f72 Expose clipping status to audio scripting interface 2019-02-06 18:23:50 -08:00
Ken Cooke
918e2fc7ab Proper detection of digital clipping on the unprocessed audio input.
Triggered when 3+ consecutive samples > -0.1 dBFS.
2019-02-06 16:08:30 -08:00
Ken Cooke
f9afe6fe43 Detect loudness and clipping on the raw audio input 2019-02-05 16:39:03 -08:00
Antonina Savinova
5d49a3f6df
Merge pull request #14732 from kencooke/audio-distattn-improvements
Bug fixes and improvements to audio distance attenuation
2019-01-29 14:02:29 -08:00
Ken Cooke
fa08e42da6 Restore legacy attenuation behavior for system sounds and scripts that do not set position.
JS detects when "position" was not set by the script.
C++ explicitly sets .positionSet=false when not set (for system sounds).
Local rendering uses a direct mix (no attenuation/HRTF) when not set.
2019-01-29 11:21:02 -08:00
Ken Cooke
53dece5451 Clamp near-field distance attenuation to max gain 2019-01-03 14:50:44 -08:00
Ken Cooke
5148b60c73 Parameterize distance attenuation by reference distance (where gain = unity) 2019-01-03 14:43:15 -08:00
Ken Cooke
fdd86876cb Fix the distance attenuation of stereo local injectors 2019-01-03 08:17:28 -08:00
Seth Alves
fac27553d7 suppress 'No instance available' messages during shutdown. try a different way of shutting down AudioClient. 2018-11-27 17:02:48 -08:00
Sam Gondelman
f68706e72f
Merge pull request #14252 from gcalero/enable_aec_by_default
Enabled AEC by default (bug 19210)
2018-11-12 16:15:33 -08:00
Clement
8f763dfd50 Fix bug and crash in solo logic 2018-11-07 17:46:18 -08:00
Clement
65a83cb026 Resend solo nodes on mixer reconnect 2018-11-07 11:41:04 -08:00
Clement
37c69ebe62 Add audio soloing feature 2018-11-05 19:02:26 -08:00
Gabriel Calero
58c135a74d Merge remote-tracking branch 'upstream/master' into enable_aec_by_default 2018-11-05 11:25:09 -03:00
Seth Alves
4d34b12f06 rather than do checkDevices to find new audio devices every 2 seconds, do each check 2 seconds after the previous one has completed. This is done to avoid swamping the thread pool when the check takes a long time 2018-10-24 14:00:23 -07:00
Gabriel Calero
5a8a5bbc55 Set AEC enabled by default 2018-10-22 18:18:16 -03:00
John Conklin II
19438d143e
Merge pull request #14073 from jherico/fix/18069_test
Working on Vive shutdown issues
2018-09-25 15:41:32 -07:00
Brad Davis
15de0590e8 Cleaning up commented out code 2018-09-25 13:18:49 -07:00
Brad Davis
72fc686ec1 Fix timer managmement during shutdown 2018-09-24 14:52:13 -07:00
John Conklin II
a602bff217
Merge pull request #13981 from gcalero/android_settings
Android settings (AEC)
2018-09-24 13:55:30 -07:00
Gabriel Calero
1215ddbe88 Remove debug files from linux qt build. Remove extra space 2018-09-13 18:50:46 -03:00
Gabriel Calero
2943502c9b Headset plug/unplug detection 2018-09-12 16:36:04 -03:00
Dante Ruiz
b665dbe13e finished requested changes 2018-09-11 14:18:12 -07:00
Dante Ruiz
5c9a88868d first round of requested changes 2018-09-11 12:01:55 -07:00
Gabriel Calero
2d2a4804f7 Add android settings screen. Add AEC setting 2018-09-06 17:49:52 -03:00
Dante Ruiz
db3d3d3d93 Merge branch 'master' of github.com:highfidelity/hifi into interstitial-final-page 2018-08-21 09:56:59 -07:00
John Conklin II
1edf1b4337
Merge pull request #13555 from SamGondelman/destroy
Trying to fix dependency shutdown
2018-08-16 13:14:58 -07:00
Gabriel Calero
4b808fe38e Revert "Test if this fixes the choppy audio"
This reverts commit 2e323efe1b.
2018-08-13 18:29:05 -03:00
Gabriel Calero
2e323efe1b Test if this fixes the choppy audio 2018-08-10 18:57:41 -03:00
Gabriel
cb215d3190
Set audio buffer size to 20 ms for android
CALLBACK_ACCELERATOR_RATIO = 0.5
2018-08-07 11:49:56 -03:00
Gabriel
5bb9accd30
Fix low volume issue in Samsung
Make Qt use QT_ANDROID_PRESET_VOICE_RECOGNITION device in order to set SL_ANDROID_RECORDING_PRESET_VOICE_RECOGNITION in OpenSL ES
2018-08-07 10:57:51 -03:00
Dante Ruiz
b9cfbfb3be adding interstitial page file to default sctipts 2018-08-03 09:59:21 -07:00
Dante Ruiz
048196ec6f disble sending avatar and audio packets during interstitial mode 2018-08-02 11:39:06 -07:00
Gabriel
f0d058cb61
Set buffer to 10 ms for android (CALLBACK_ACCELERATOR_RATIO = 1.0) 2018-08-02 11:29:56 -03:00
SamGondelman
8a9c27ed92 Merge remote-tracking branch 'upstream/master' into destroy 2018-08-01 16:07:48 -07:00
Gabriel
687f5e3df3
Update AudioClient.cpp
Trying 40ms
2018-08-01 19:49:04 -03:00
Dante Ruiz
0b7d6cb720 start interstitial page work 2018-07-31 14:10:19 -07:00
Gabriel Calero
b841a5f016 Test 3: input sample rate: 24khz. Set CALLBACK_ACCELERATOR_RATIO = 2.0 for android (master version) 2018-07-31 16:54:20 -03:00
Gabriel Calero
b8bab858d9 Test 2: input sample rate: 24khz. Set CALLBACK_ACCELERATOR_RATIO = 0.5 for android 2018-07-31 15:32:39 -03:00
Gabriel Calero
f98c19fd1d Test 1: restore input sample rate to native (48khz) and set CALLBACK_ACCELERATOR_RATIO = 1 for android 2018-07-31 15:15:21 -03:00
Gabriel Calero
f24cfebe88 Revert "Add logs to debug. Revert later"
This reverts commit 3c49e7783c.
2018-07-24 14:57:48 -03:00
Gabriel Calero
3c49e7783c Add logs to debug. Revert later 2018-07-23 14:03:58 -03:00
Gabriel Calero
00e3de4e0a Revert output sample rate to native rate 2018-07-19 19:13:28 -03:00
Gabriel Calero
988acdb3f9 Set output sample rate at 24000 (with testing purposes only) 2018-07-19 18:53:03 -03:00
Gabriel Calero
d230a634b2 Fix connects. Set down MIN_READS_TO_CONSIDER_INPUT_ALIVE to 10 2018-07-19 14:50:40 -03:00
Gabriel Calero
c8a168c273 Fix audio choppy. 2018-07-18 18:36:03 -03:00
Gabriel Calero
d8af12152b Add comment to explain the workaround 2018-07-18 18:35:47 -03:00
Gabriel Calero
e039ef1729 Use 24000Hz sample rate for Samsung only 2018-07-18 18:35:36 -03:00
Gabriel Calero
c11f4be5c1 Make louder android mic 2018-07-18 18:35:21 -03:00
SamGondelman
7954865141 trying to fix dependency shutdown 2018-07-05 14:34:37 -07:00
Atlante45
4a4c0d132e Make stereo interface async 2018-06-18 17:26:29 -07:00
Atlante45
29ff47c6fb Ensure audio devices are made on the right thread 2018-06-18 16:28:52 -07:00