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
Zach Fox
7030c7b0a6
Space bubble improvements ( #9142 )
...
* The space bubble around a player's avatar is now visualized. When another avatar enters a player's bubble, The bubble visualization will appear, a soft tone will play, and the "Bubble" HUD button will flash.
* The space bubble radius setting has been removed. Space bubble size now scales based on avatar scale.
* Space bubble collision detection is now more accurate and reliable.
* CTRL + N toggles the bubble.
* The "Bubble" HUD button has been moved to the proper location.
2016-12-12 14:22:54 -08:00
David Kelly
3f3d922eca
No longer applying volume when reading audio injector buffer
...
Since we also apply the gain in HRTF (on both server and client), the
mono sources sort of had volume^2 applied to them.
2016-12-12 12:01:02 -08:00
Ken Cooke
e4b5c14ea3
PR feedback
2016-12-07 10:15:55 -08:00
Ken Cooke
9831d874b5
Remove debugging code
2016-12-06 10:22:58 -08:00
Ken Cooke
975cbd8e44
Replace test renderer with spatialized binaural renderer
2016-12-06 10:12:36 -08:00
Ken Cooke
e93e1a7c4f
Preliminary support for Ambisonic audio injectors.
...
Supports 4-channel WAV files, presumed to be B-format (FuMa) first-order Ambisonic.
Supports WAV with arbitrary sample rate (needs optimization).
Supports soundfield volume and orientation set via script.
Supports localOnly client-side injection using simple (non-spatialized) test renderer.
2016-12-02 18:20:57 -08:00
Ken Cooke
d69d77d0ee
Refactor the audio device format detection. Only use the native format when Qt can correctly determine it.
2016-11-21 21:36:17 -08:00
Ken Cooke
fd08936fb3
Improved failure logs
2016-11-17 13:42:43 -08:00
Ken Cooke
ec53c6a030
Add support for mono or multichannel audio output.
...
At the end of the audio pipeline, optional upmix/downmix to the device channel format.
2016-11-17 06:56:49 -08:00
Ken Cooke
b19a44e046
On Windows, set audio format to match the internal mix format.
...
This works around multichannel bugs in the Qt audio framework.
2016-11-15 10:37:32 -08:00
Ken Cooke
30c189e624
channelCount math cleanup
2016-11-15 09:10:05 -08:00
Seth Alves
137730dc50
coding standard
2016-11-01 11:59:28 -07:00
Seth Alves
ae17135a07
lock around quit flag to avoid shutdown race
2016-11-01 11:14:16 -07:00
Seth Alves
3903a51062
fix a couple of crash-on-exits
2016-10-25 13:58:48 -07:00
Clément Brisset
b63eb6ba9f
Merge pull request #8665 from zzmp/feat/audio-stats
...
move audio stats to QML/JS, with graphs
2016-10-20 16:43:49 -07:00
Anthony J. Thibault
350977f03e
Speculative fix for crash in AudioClient
2016-10-11 10:49:43 -07:00
Zach Pomerantz
5af95c6062
store channels on audio stream
2016-10-05 12:04:24 -07:00
Zach Pomerantz
972a611d03
retain stereo on dead audio resampling
2016-10-04 17:54:20 -07:00
Ken Cooke
8491254664
Merge branch 'master' of https://github.com/highfidelity/hifi into audio-fixes2
2016-10-03 18:13:43 -07:00
Ken Cooke
46526a309d
Increase audio input buffering on Windows 7
2016-10-03 17:46:09 -07:00
Chris Collins
ca1a7135eb
Merge pull request #8706 from kencooke/audio-fixes
...
Improve support for audio when input rate != output rate
2016-10-03 16:46:56 -07:00
Ken Cooke
9590d2eef9
Fix support for audio when input rate != output rate
2016-10-03 09:08:32 -07:00
Clément Brisset
02991bffab
Merge pull request #8687 from zzmp/feat/injector-loopback
...
loopback local injectors on server echo
2016-09-30 11:21:10 -07:00
Zach Pomerantz
768354e49f
loopback local injectors on server echo
2016-09-29 15:25:17 -07:00
Ken Cooke
858297241b
Even lower audio latency
2016-09-29 12:48:21 -07:00