Commit graph

635 commits

Author SHA1 Message Date
amerhifi
884cbd7de9 working on moving display plugin lookup to audiodevices 2019-10-29 09:26:48 -07:00
amer cerkic
f1f67f1996 android build fix 2019-10-28 10:42:25 -07:00
amerhifi
8dc13ec242 fixed mac param spacing 2019-10-25 16:01:24 -07:00
amerhifi
397586bd19 setting defauld device code for mac to use QT with optional backup to platform code on failure 2019-10-25 15:19:24 -07:00
amerhifi
6860ac9693 fix missing default device 2019-10-25 13:09:13 -07:00
amerhifi
3e1f341225 typo fix 2019-10-25 12:50:13 -07:00
amerhifi
52637320f0 mac build fix 2019-10-25 12:49:03 -07:00
amerhifi
49465b1b96 null default device 2019-10-25 12:10:26 -07:00
amerhifi
5dd5447095 moved call to hmd device name prior to locking device mutex 2019-10-24 15:03:55 -07:00
amer cerkic
ac8b664537 addresing pr comments 2019-10-23 15:39:38 -07:00
amer cerkic
ed4df09a26 updated logging added clarifying comment for emit 2019-10-23 15:15:41 -07:00
amer cerkic
d7996c77f4 android build fix 2019-10-23 14:48:25 -07:00
amer cerkic
179f5e0873 fixed context switching issue with hmd. included additional output info for other audio crash issues 2019-10-23 12:56:43 -07:00
amer cerkic
0410a45da1 fixed selection issue 2019-10-22 11:11:13 -07:00
amerhifi
a8602195d4 addressing comments 2019-10-22 07:17:57 -07:00
amerhifi
ec7c8ce13c updated default changes check to account for multiple devicetypes 2019-10-18 16:50:36 -07:00
amerhifi
421cff1cb2 fixed naming to match standards 2019-10-18 15:30:32 -07:00
amerhifi
c7e1fdaeac adding hmd audio device info to deviceslist
changing locations

one more

merge

working on the threading issue

changing offices, working on qml

simple qml filtering

fixed spacing problem when item is removed
2019-10-18 15:29:10 -07:00
Ken Cooke
ec67b67966 On waking from sleep/hibernate, restart the audio devices 2019-10-10 14:10:47 -07:00
amer cerkic
c0a852d68c updated audio wording and removed audio defaul spamming. 2019-10-01 16:55:37 -07:00
Brad Davis
8724106685 Trying to fix mac build: 2019-09-27 14:55:42 -07:00
Brad Davis
403499bf32 Cleaning up android build warnings 2019-09-27 09:19:52 -07:00
amer cerkic
73f14d812f addressing cr comments 2019-09-25 13:22:50 -07:00
amerhifi
fbc68e7f69 removed clang format issue, removed old attempt at getting defaults to startup correctly 2019-09-23 15:07:04 -07:00
amer cerkic
64f14dd6ba fixing selection issues 2019-09-20 11:32:57 -07:00
amerhifi
7fbce46e30 fixing android build, I removed a function thinking it was unused. also added android ifdef guards for name since default does to exist on that device. Simplified getting a default device 2019-09-19 15:57:38 -07:00
amerhifi
8d7c28fe83 fixed audio switching issues. removed risky access to properties. adressing comments 2019-09-19 14:19:43 -07:00
amerhifi
9cc3b7a5c7 addressing pr comments 2019-09-19 10:08:30 -07:00
amer cerkic
be2fff13d2 fixed wrong device in if block 2019-09-18 17:10:12 -07:00
amer cerkic
ecca898db8 fixed some more vs clang reformatting 2019-09-18 14:39:55 -07:00
amer cerkic
d4dc06d2e7 fixed issue with null device on load. 2019-09-18 12:44:03 -07:00
amer cerkic
46b9496965 fixing mac build error 2019-09-17 16:02:20 -07:00
amer cerkic
c1854d3438 fixing gnu warnings and removing debug output 2019-09-17 14:42:35 -07:00
amer cerkic
7a9020a429 renamed file to match class 2019-09-17 14:16:25 -07:00
amer cerkic
a777757c48 fixed android build 2019-09-17 12:46:38 -07:00
amer cerkic
05a8c7853c added file info. moved pragma 2019-09-17 10:03:54 -07:00
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
0de7628d48 fix typo 2019-09-13 13:19:32 -07:00
amerhifi
bdfb82c072 finishing up the wrapper code implementation. 2019-09-13 13:13:54 -07:00
amerhifi
4fb31ad479 rebuilding the lost file :(. also undoing the postbuild script changes that were part on my last test 2019-09-13 12:29:46 -07:00
amerhifi
cc11bd9552 created new AudioWrapper 2019-09-13 11:24:41 -07:00
Ken Cooke
f445737550
Merge pull request 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
Seth Alves
27b574cf14 disable webrtc for android 2019-07-30 14:09:34 -07: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
1b733d3fb3 While PTT is active, duck the audio output by 20dB to reduce echo 2019-05-09 12:56:07 -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 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 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
36c2358dc0
Merge branch 'master' into muteWarningModified 2019-03-11 14:35:13 -07:00
Wayne Chen
4187104b17 culling mute state 2019-03-04 14:12:09 -08:00
Seth Alves
d5e8cba1ee make server-audio-loopback button work in HMDs 2019-03-04 13:47:55 -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
Wayne Chen
7860db68eb culling hearing oneself and testing sound 2019-03-04 13:33:16 -08:00
Seth Alves
9ff99c7213 make server-audio-loopback button work in HMDs 2019-03-04 11:08:07 -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
David Rowe
5428bb19dc Add "Avatar Script" JSDoc API classification 2019-02-12 11:49:49 +13: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 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