Commit graph

451 commits

Author SHA1 Message Date
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
Brad Davis
ed6620fc51 Merge pull request #10718 from jherico/frame_thread
Cleanup and refactoring
2017-06-19 13:31:44 -07:00
Brad Davis
a69cf31f4b PR feedback and cmake fixes 2017-06-16 16:59:58 -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