Commit graph

515 commits

Author SHA1 Message Date
milad nazeri
1121fe8da0 fix tabs 2018-04-23 21:47:53 -07:00
milad nazeri
4ac06fe99f Updating previous jsdocs 2018-04-22 22:22:33 -07:00
milad nazeri
e9b9c05b5d removed cruft 2018-04-22 08:51:47 -07:00
SamGondelman
3b4b43cf66 try to fix audio crash on startup 2018-04-20 10:23:47 -07:00
Ken Cooke
bcf893db18
Merge pull request #12586 from kencooke/audio-peakmeters-fix
Fix crash when closing the Audio menu
2018-03-13 07:52:37 -07:00
Dante Ruiz
3a39fca268 made requested changes 2018-03-09 10:09:51 -08:00
Dante Ruiz
c49d0557fc fixing check box issues 2018-03-09 09:29:37 -08:00
Ken Cooke
91b7acec1f Fix crash when closing the Audio menu. On some machines, checkPeakValues takes long enough that timer callbacks overlap and activeClients gets clobbered while in use. 2018-03-07 11:06:53 -08:00
John Conklin II
7bc3848c36
Merge pull request #12533 from druiz17/stereo-checkbox
Adding Stereo checkbox in Audio settings
2018-03-05 12:45:01 -08:00
Dante Ruiz
55d8cfd4c1 make sure dont make audio devices that don't use stereo use stereo 2018-03-02 10:56:44 -08:00
Sam Gateau
88ecfe7895
Merge pull request #12464 from jherico/android_dev
Android Master
2018-03-01 17:22:34 -08:00
Ken Cooke
bb2f3cac2c Use named constant for the onset of near-field corrections (1 meter) 2018-02-27 08:51:55 -08:00
Ken Cooke
f25b8e8df0 Refactor distance attenuation for near-field HRTF.
Adds near-field attenuation from 0.125m to 1m, calibrated to 0dB at 1m. Overload will trigger dynamic range compression at the peak-limiter.
2018-02-22 16:05:01 -08:00
Gabriel Calero
a2f6548d1d Make slot declarations non-conditional 2018-02-12 13:45:56 -03:00
Gabriel Calero
a91118027d Remove dead code and extra logs 2018-01-26 18:14:43 -03:00
Gabriel Calero
ed1abb3a41 Restoring adaptive audio buffer management 2018-01-15 18:30:32 -03:00
Gabriel Calero
f889782250 Merge remote-tracking branch 'github/android' into android_audio_fixes 2018-01-15 18:28:31 -03:00
Cristian Luis Duarte
21f1c0e275 Android: Make audioInputStateChanged watcher work so it can restart input audio if it stops without a reason. Implement a mechanism that counts last reads in an interval and restart input audio in case of low reads -in these cases (happens particularly on Huawei) there is no call to the audioInputStateChanged method- (Android only) 2018-01-13 06:42:16 -03:00
Ken Cooke
dfc8c86571 Fix bug when calling switchOutputToAudioDevice() with the active device.
Pass QAudioDeviceInfo by value to avoid getting clobbered.
2018-01-11 18:22:34 -08:00
Ken Cooke
db6e70cb24 Fix bug when calling switchInputToAudioDevice() with the active device.
Pass QAudioDeviceInfo by value to avoid getting clobbered.
2018-01-11 18:14:16 -08:00
Ken Cooke
7c5085bd24 Handle stereo changes while active, by restarting the codec on both ends 2018-01-11 16:10:50 -08:00
Ken Cooke
6a2e3cc272 Enable stereo codecs for AvatarAudioStream 2018-01-10 15:14:18 -08:00
Ken Cooke
660032d8fb Fix bug in how emitAudioPacket() determines mono/stereo.
Compressed bytes were counted as if audio samples.
2018-01-10 06:54:27 -08:00
luiscuenca
8abe8b9879 move save logic to audioclient 2017-12-05 18:22:14 -08:00
luiscuenca
20d6615417 emit only when recording 2017-12-05 16:13:44 -08:00
luiscuenca
4030688e7a added record wav files 2017-12-03 11:54:37 -07:00
luiscuenca
027d2d323c Measure tool and corrections 2017-11-26 22:28:34 -07:00
Bradley Austin Davis
e42068f681 Merge branch 'master' into android_new 2017-09-26 14:31:29 -07:00
Bradley Austin Davis
b93e91b9f3 New android toolchain 2017-09-19 13:45:12 -07:00
vladest
6c32783a09 Merge branch 'master' into audio_devices_split 2017-09-19 17:43:03 +02:00
Brad Hefta-Gaub
c5098abfb9 Merge pull request #10937 from kencooke/zzmp-audio/peak-values
Add peak values for all input devices in selection dialog
2017-09-07 11:58:50 -07:00
vladest
6f0229f450 Reworked according to designers request. Do not fall back to default audion output 2017-08-22 23:26:27 +02:00
Ken Cooke
ee752df653 fix typo 2017-08-09 20:11:52 -07:00
Ken Cooke
bcdf13c59c Add explicit shutdown request, since null device means something else 2017-08-09 19:40:07 -07:00
Ken Cooke
ee6d4dfc14 If real input device fails to start, use dummy input 2017-08-09 17:50:20 -07:00
Ken Cooke
fc5b4be459 bugfix 2017-08-09 16:59:02 -07:00
Ken Cooke
9c6b7306c4 Re-implement callback to Use common handleAudioInput() 2017-08-09 16:58:12 -07:00
Ken Cooke
7daa3ecff3 Handle dummy input callbacks 2017-08-09 15:54:14 -07:00
Ken Cooke
6f2cc9cfeb When no input device, create dummy input to generate callbacks 2017-08-09 14:01:17 -07:00
Brad Davis
1ecca9fd29 Merge branch 'master' into zzmp-audio/peak-values 2017-08-06 17:21:00 -07:00
Ken Cooke
6ea4ed80cd Suppress initial PacketType::SilentAudioFrame on audio gate startup 2017-08-03 09:19:08 -07:00
Brad Davis
9f13533560 Ensure input and output device containers are protected by mutex 2017-07-18 08:58:17 -07:00
Seth Alves
972dc4d1b2 more const ref 2017-07-11 19:56:34 -07:00
Seth Alves
c52e7e180a use const AudioInjectorPointer& in some places 2017-07-11 19:42:03 -07:00
Seth Alves
3670a04d8e switch bare pointers to AudioInjector objects to be QSharedPointers 2017-07-11 14:24:58 -07:00
Ken Cooke
d6eb731f3a Merge branch 'master' into audio/peak-values 2017-07-10 21:55:11 -07:00
Brad Davis
8372d73fec Additional thread safety 2017-06-30 09:15:06 -07:00
Brad Davis
b52dd7b822 Don't use blocking connections on the main thread 2017-06-29 20:45:17 -07:00
Zach Pomerantz
ed49f80322 fix peak check secs->msecs 2017-06-29 17:32:52 -04:00
Ken Cooke
0dbb7a71f3 CR fix: comments instead of ref code 2017-06-28 11:32:24 -07:00
Zach Pomerantz
3f57e5eb4d implement peakValueListChanged 2017-06-27 17:51:44 -04:00
Ken Cooke
ad970c9f5c fast compute of HRTF azimuth 2017-06-27 13:45:18 -07:00
Zach Pomerantz
b46219241c add peakValueListChanged scaffolding 2017-06-26 22:44:31 -04:00
Zach Pomerantz
497ee3a522 add Audio.inputLevel 2017-06-19 17:07:43 -07:00
Zach Pomerantz
3093a73ce1 Merge branch 'master' of github.com:highfidelity/hifi into audio/parity 2017-06-15 15:04:06 -04:00
ZappoMan
d352163d77 fix no audio device from previously removed audio device 2017-06-15 09:24:14 -07:00
Zach Pomerantz
9017738a8d start device check timer 2017-06-13 18:00:41 -04:00
Zach Pomerantz
0e2976620d start device check timer 2017-06-13 18:00:09 -04:00
Zach Pomerantz
a8f69bb2e0 Merge branch 'master' of github.com:highfidelity/hifi into audio/parity 2017-06-13 17:41:52 -04:00
Zach Pomerantz
4a39798a97 sticky audio selection 2017-06-13 14:38:52 -04:00
Zach Pomerantz
b37a0239b0 up to reverb (needs cherry-picking) 2017-06-12 18:00:52 -04:00
Chris Collins
4b6c13bc1f Merge pull request #10646 from ZappoMan/debugAudioProblems
Fix for no-audio on clean install
2017-06-10 11:32:42 -10:00
ZappoMan
6fe20f90a3 add better debugging for audio problems
use OS default device if settings have no values
2017-06-09 13:36:12 -07:00
Bradley Austin Davis
fc6a278217 Fixing dangling thread issues, consolidating thread management 2017-06-06 15:02:16 -07:00
Zach Pomerantz
954e4979f8 expose Audio.devices.input/output 2017-05-31 20:14:58 -04:00
Ken Cooke
0fe404adbb Merge branch 'master' of https://github.com/highfidelity/hifi into audio-noisegate-new 2017-05-23 17:31:03 -07:00
Ken Cooke
6b740e855d Optimize the loudness computation
NOTES:
Loudness is now measured post-gating, for improved metering.
Keep original algorithm, since other code depends on loudness behavior.
2017-05-23 14:31:24 -07:00
Ken Cooke
a6a29786ae Cleanup 2017-05-23 12:53:39 -07:00
Ken Cooke
8608695695 Remove old noise gate 2017-05-23 12:52:29 -07:00
Ken Cooke
175d1be7ca Implement state-machine to detect gate opening/closing. Fixes bugs with mute. 2017-05-23 12:32:41 -07:00
Ken Cooke
850dbd76c9 Integrate new noise gate 2017-05-23 11:12:36 -07:00
Ken Cooke
986d86ec17 Fix nasty preexisting bug in computing numSamples, where sizeof(SAMPLE_SIZE) incorrectly returns 4 instead of 2. 2017-05-23 10:29:43 -07:00
Ken Cooke
71de3d5ca1 Instantiate new gate with the correct number of channels 2017-05-23 08:40:15 -07:00
Zach Pomerantz
c5a0a1af2f Merge pull request #10429 from zzmp/audio/close-device
Close audio device when switching outputs
2017-05-18 17:18:53 -04:00
Vladyslav Stelmakhovskyi
045e93fb95 Code style fixes #2 2017-05-11 21:49:07 +02:00
Vladyslav Stelmakhovskyi
4290eb21ea Fixed possible crashes/freezes on input audio switch 2017-05-11 15:41:07 +02:00
Vladyslav Stelmakhovskyi
e4d9772bbc Fixed crashes/freezes on audio switch 2017-05-11 15:20:36 +02:00
Vladyslav Stelmakhovskyi
2328da3c48 Merge branch 'master' into audio-source-sync 2017-05-10 21:22:40 +02:00
Vladyslav Stelmakhovskyi
2d46f9d30e Move most of the logic to C++ model, speed up initialization. Reduce number of AudioClient blocking calls to minimum 2017-05-10 21:21:39 +02:00
Zach Pomerantz
5a11911e1d close audio device when switching 2017-05-09 19:38:52 -04:00
Zach Pomerantz
219062b76a Merge branch 'master' of github.com:highfidelity/hifi into fix/audio-underrun 2017-05-09 17:32:24 -04:00
Zach Pomerantz
c478f1a752 synchronously fill injector buffer on underrun 2017-05-09 16:34:42 -04:00
Zach Pomerantz
73a3bf413b update local audio thread name 2017-05-08 20:14:09 -04:00
Zach Pomerantz
b6f652e0ea use network period multiple for local audio buffer 2017-05-08 20:05:14 -04:00
Zach Pomerantz
defc3c1c4f Merge branch 'master' of github.com:highfidelity/hifi into fix/audio-bg-join 2017-05-08 19:55:10 -04:00
Vladyslav Stelmakhovskyi
d0111ac0bb Merge branch 'master' into audio-source-sync 2017-05-08 20:09:34 +02:00
Zach Pomerantz
7db404eba0 recast avoid overwriting buffer logic 2017-05-05 18:16:48 -04:00
Zach Pomerantz
ed3fc004a6 avoid assignment-as-test 2017-05-05 18:15:56 -04:00
Zach Pomerantz
48af83a960 guard against audio injector and local buffer datarace 2017-05-05 17:05:40 -04:00
Zach Pomerantz
cdf6c332a6 prevent overflow of local injectors buffer 2017-05-05 16:29:52 -04:00
Zach Pomerantz
e882e7b648 rm extra lock in audio read 2017-05-05 15:37:01 -04:00
Zach Pomerantz
ca7cd61c64 Merge branch 'master' of github.com:highfidelity/hifi into fix/audio-bg-join 2017-05-05 13:04:01 -04:00
Vladyslav Stelmakhovskyi
d18ac6dd49 Reimplemented Tablet Audio screen using C++ model 2017-04-28 23:02:28 +02:00
Stephen Birarda
da1d93b86c fix emission of inputReceived in AudioClient 2017-04-25 15:41:37 -07:00
Zach Pomerantz
e9c5b86003 use mutex, not cv 2017-04-25 16:02:43 -04:00
Zach Pomerantz
c27dd446eb rename to standard 2017-04-25 14:59:30 -04:00
Zach Pomerantz
4a26785eda cleanup Audio bg threads in cleanupBeforeQuit 2017-04-24 18:21:27 -04:00
Zach Pomerantz
cd2665fc55 standardize Audio bg thread joins 2017-04-24 18:10:50 -04:00
Zach Pomerantz
b6d111369f Merge pull request #9935 from zzmp/fix/audio-initialization
Fix data race in audio output initialization
2017-03-21 00:23:28 -04:00
Zach Pomerantz
20ea13e00a Merge pull request #9897 from zzmp/record/noise-gate
Add AudioNoiseGate to recordings played through Interface
2017-03-21 00:21:20 -04:00
Zach Pomerantz
a68146e7d9 mv audio output init to output thread 2017-03-17 15:31:00 -04:00
Ken Cooke
652c80057e Merge pull request #9924 from zzmp/fix/noise-delay
Use single frame buffer for local audio injectors
2017-03-17 11:24:02 -07:00
Zach Pomerantz
db956f4cc3 use single frame buffer for local audio 2017-03-16 18:06:18 -04:00
Zach Pomerantz
789bb7c855 rename audio(Mic)OutboundPPS 2017-03-15 13:30:39 -04:00
Zach Pomerantz
2d0e11e2d1 add AudioNoiseGate to recording 2017-03-15 13:30:39 -04:00
Zach Pomerantz
b1e5e43faa mv AudioNoiseGate to audio 2017-03-15 00:15:33 +00:00
Zach Pomerantz
0abcda86a8 mv AudioNoiseGate to audio 2017-03-15 00:14:55 +00:00
ZappoMan
956fdd0933 CR feedback 2017-03-13 12:06:38 -07:00
ZappoMan
099ee1db7f CR feedback 2017-03-13 12:05:42 -07:00
ZappoMan
3e020ede78 CR feedback 2017-03-13 11:58:43 -07:00
Brad Hefta-Gaub
a38965d628 add more audio stats 2017-03-11 09:50:30 -08:00
Brad Hefta-Gaub
eaea718de1 add various scriping interfaces for managing the audio scope and detecting noise gate transitions 2017-03-10 17:08:19 -08:00
Brad Hefta-Gaub
69fdea3621 fix typo in comment 2017-03-10 11:44:53 -08:00
Brad Hefta-Gaub
a4eac3cbc0 Merge branch 'master' of https://github.com/highfidelity/hifi into fadeInWhenOpeningNoiseGate
Conflicts:
	libraries/audio-client/src/AudioNoiseGate.cpp
2017-03-10 11:43:30 -08:00
Brad Hefta-Gaub
2d595c1f87 CR feedback 2017-03-08 20:29:32 -08:00
Brad Hefta-Gaub
7acfcf6750 fade in and out when opening/closing the noise gate 2017-03-08 18:15:32 -08:00
Brad Hefta-Gaub
60daaba525 small cleanup 2017-03-08 17:30:44 -08:00
Brad Hefta-Gaub
1bdad89cbe properly handle silent packet transitions 2017-03-08 17:27:46 -08:00
Chris Collins
de84e07281 Merge pull request #9714 from thoys/fix-recorder-js-playback
Fix recorder.js playback in interface
2017-02-23 09:59:37 -08:00
Thijs Wenker
5033e7be11 CR fixes 2017-02-23 18:22:36 +01:00
Thijs Wenker
72eb797910 remove unused encoder (was for testing) 2017-02-21 20:22:29 +01:00
Thijs Wenker
13b2b6086f Fix recorder.js playback in interface 2017-02-21 19:47:26 +01:00
Anthony J. Thibault
856a38af0c Fix for audio, toolbar and tablet on macos. 2017-02-17 17:08:23 -08:00
Zach Pomerantz
061668cba4 use lock-free pipe for local audio in device callback 2017-01-22 00:25:08 -05:00
Zach Pomerantz
72f8fa49f9 inline audio convertToFloat 2017-01-20 18:38:21 -05:00
Zach Pomerantz
df051ff8df maintain network audio in int16_t 2017-01-20 18:37:46 -05:00
Zach Pomerantz
685483b924 do not omit local audio when echoing server audio 2017-01-20 17:52:03 -05:00
Zach Pomerantz
bb247fe8a3 rename AudioMixRingBuffer 2017-01-20 14:48:54 -05:00
Zach Pomerantz
280ed04f74 fix unused warning for channel up/downmix 2017-01-20 14:43:41 -05:00
Zach Pomerantz
5927c089ac use AudioRingMixBuffer as LocalInjectorsStream 2017-01-20 12:29:44 -05:00
Zach Pomerantz
4f7f3c2a60 mv localInjectorsBuffer to float-based localInjectorsStream
The localInjectorsBuffer is based on
AudioRingBuffer, which only accounts for int16_t.
Local injectors are mixed, and so they can exceed
std::numeric_limits<int16_t> before limiting.
This will allow them to remain as float until
limiting (in the device callback) - once the new
stream is implemented.
2017-01-20 12:29:44 -05:00
Zach Pomerantz
c5415f9624 clean audio client logs 2017-01-20 12:29:44 -05:00
Zach Pomerantz
7261b5285e omit all injector samples on server echo 2017-01-20 12:29:44 -05:00
Zach Pomerantz
492795f7e5 audio client cosmetics 2017-01-20 12:29:44 -05:00
Zach Pomerantz
4c7c7ee3cc mv audio injector preparation to own thread 2017-01-20 12:29:44 -05:00
Zach Pomerantz
d7085ec685 add audio helpers convertToMix/Scratch 2017-01-20 12:29:44 -05:00
Zach Pomerantz
d1673e554f simplify audio bytesWritten computation 2017-01-20 12:29:44 -05:00
Zach Pomerantz
0f08abfa14 fix bug in audio samples popped check 2017-01-20 12:29:44 -05:00
Zach Pomerantz
61f7f72c5e simplify resampling 2017-01-20 12:29:44 -05:00
Zach Pomerantz
42f5af7c39 improve audiostream debug logs 2017-01-20 12:29:44 -05:00
Zach Pomerantz
969d776e1f queue injector audio after device callbacks
Conflicts:
	libraries/audio-client/src/AudioClient.cpp
2017-01-20 12:29:44 -05:00
Zach Pomerantz
dee5f63037 rename audio mix/scratch buffers
Conflicts:
	libraries/audio-client/src/AudioClient.cpp
	libraries/audio-client/src/AudioClient.h
2017-01-20 12:29:44 -05:00
Zach Pomerantz
0f1ec63b17 enable injectors in audio device callback 2017-01-20 12:29:44 -05:00
Zach Pomerantz
3a0d874bb5 add injector ring buffer to audio client 2017-01-20 12:29:44 -05:00
Zach Pomerantz
a7ecf41a42 add audio limiting to device callback 2017-01-20 12:29:44 -05:00
Zach Pomerantz
24d53ea13c rm audio output limiting 2017-01-20 12:29:44 -05:00
Zach Pomerantz
ebe96f9b25 rm injectors from mixed audio processing 2017-01-20 12:29:44 -05:00
Ken Cooke
42e13d1e97 Fix audio failures on systems that return incorrect/unsupported mixFormat 2017-01-14 10:26:13 -08:00
David Kelly
b68a07e930 Merge pull request #9197 from davidkelly/dk/injectorVolume
No longer applying volume when reading audio injector buffer
2016-12-16 15:11:33 -08:00
David Kelly
a8157ae2cd Typo, plus some CR feedback 2016-12-13 17:48:30 -08:00