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
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
46526a309d
Increase audio input buffering on Windows 7
2016-10-03 17:46:09 -07:00
Ken Cooke
9590d2eef9
Fix support for audio when input rate != output rate
2016-10-03 09:08:32 -07:00
Zach Pomerantz
81b6bb3a2d
rm unused DEFAULT_GATE_THRESHOLD
2016-09-21 18:04:07 -07:00
Zach Pomerantz
e2ff738fc3
strip unused audio settings
...
- remove parameters on the jitter buffer algorithm, these are now static
- remove parameters on the output starve detection algorithm, now static
- move interface audio settings to the Developer menu
2016-09-21 17:35:27 -07:00
Ken Cooke
b14f43b11e
Merge pull request #8610 from zzmp/test/audio-jitter
...
add audio jitter simulator testing tool
2016-09-21 16:43:36 -07:00
Chris Collins
3d9f231543
Merge pull request #8609 from zzmp/fix/audio-stats
...
fix audio network stats
2016-09-19 09:08:35 -07:00
Zach Pomerantz
b6d093889c
add AudioConstants::SAMPLE_SIZE
2016-09-16 14:20:50 -07:00
Zach Pomerantz
45b306fc97
fix preference for jitter sim
2016-09-16 12:14:57 -07:00
Zach Pomerantz
80bce953f7
justify jitter simulation
2016-09-16 11:40:37 -07:00
Zach Pomerantz
177466e4c7
calculate unplayed ms on all streams/buffers as max
2016-09-15 17:54:41 -07:00
Zach Pomerantz
53f5899a69
add audio jitter simulator
2016-09-15 14:51:39 -07:00
Zach Pomerantz
9792d025fa
clean up audio stats
2016-09-15 13:09:06 -07:00
Seth Alves
4470338663
catagorize some qDebugs
2016-09-14 21:39:45 -07:00
Ken Cooke
ad97a15e8b
Handle another case when resampling is not needed
2016-09-14 09:54:15 -07:00
Ken Cooke
e82d751dac
Fix typo
2016-09-14 08:25:41 -07:00
Ken Cooke
96313a421c
Cleanup the confusion of using null-resampler for channel conversion
2016-09-14 08:22:18 -07:00
Ken Cooke
c555e369c8
Handle the case when resampling is not needed
2016-09-14 06:37:09 -07:00
Ken Cooke
27d24eb79b
Fix compiler warning
2016-09-13 20:56:36 -07:00
Ken Cooke
ed9061040a
Better Android settings
2016-09-13 20:16:23 -07:00
Ken Cooke
f1455ab157
Remove unneeded buffers
2016-09-13 20:06:44 -07:00
Ken Cooke
724df38df0
Optimize the audio pipeline. Use float mixBuffer and apply reverb at 24khz
2016-09-13 16:11:06 -07:00
Brad Hefta-Gaub
7c3c05a450
Merge pull request #8584 from zzmp/fix/audio-starve-detection
...
fix audio client starve detection
2016-09-13 09:08:20 -07:00
Zach Pomerantz
e785c0cdf8
add test for audio jitter
2016-09-08 17:50:11 -07:00
Zach Pomerantz
2a2673d898
bring audio starve check to standard
2016-09-08 15:26:09 -07:00
Zach Pomerantz
d7643ef2a0
fix audio client starve detection
2016-09-08 14:25:33 -07:00
Ken Cooke
1a6af49b3d
Support for even more back-end sample rates
2016-08-30 16:10:11 -07:00
Ken Cooke
cb5bded7c1
Add support for more back-end sample rates
2016-08-30 14:37:33 -07:00
Ken Cooke
9187b4aa7d
More complete fix for audio threading failures. Qt keeps an internal Q_GLOBAL_STATIC list of devices, which is referenced at device start() but clobbered by availableDevices(). Now protected by a mutex.
2016-08-30 12:57:29 -07:00
Ken Cooke
d2b33e00bd
Fix audio startup failures. Directly calling the static method QAudioDeviceInfo::availableDevices() was not thread-safe.
2016-08-30 10:13:08 -07:00
Ken Cooke
1ab35797b1
Drastically reduce the audio capture buffering on Windows.
...
With device detection on another thread and WASAPI back-end, the large capture buffer (resulting from CALLBACK_ACCELERATOR_RATIO) is no longer needed.
2016-08-25 16:09:25 -07:00
Ken Cooke
c0caea1ffd
PR feedback
2016-08-24 10:32:29 -07:00
Ken Cooke
b4d143fe13
PR feedback
2016-08-24 10:19:09 -07:00
Ken Cooke
8fbf5a9e8b
PR feedback
2016-08-24 10:16:43 -07:00
Ken Cooke
4b2778f02d
Re-implement the continuous detection of device changes for all platforms, using a background thread. This prevents the glitches caused by calling checkDevices() on the audio processing thread.
2016-08-20 12:22:47 -07:00
Ken Cooke
3583bdecbb
Fix for calculateDeviceToNetworkInputRatio() which was completely broken.
...
Running the audio back-end at 44.1k now works correctly.
2016-08-18 16:56:26 -07:00
Ken Cooke
7202d132c5
Remove 22050 from the preferred list of back-end sample rates.
2016-08-16 16:57:28 -07:00
Ken Cooke
2326696d54
Disabled the continuous polling for audio device changes on Windows.
...
It necessitated extra buffering to prevent periodic dropouts in the audio stream.
2016-08-16 16:53:51 -07:00
Brad Hefta-Gaub
ca3a194454
implment coded renegotiation in client if for some reason unexpected audio codecs come in to inbound stream
2016-08-02 15:30:03 -07:00
Brad Hefta-Gaub
20824f038c
include codec in audio stream packets so that each side can discard packets that don't match
2016-07-18 21:59:44 -07:00
David Kelly
3df373252f
Several minor things
...
We could only partially fill the _scratchBuffer - .wav files may not
be exactly N frames long. Doh.
While at it, I needed to call finishLocalInjection() after local
injectors are done, and the access to the injector vector needs to
be locked, given that we do a QtDirectConnection with the networking
and thus the outputLocalInjectors is on a different thread.
The clicking was just 0-ing out the _scratchBuffer.
2016-07-18 14:00:41 -07:00
Brad Hefta-Gaub
dc2741950a
Merge pull request #8259 from kencooke/improved-hrtf
...
Fix the AudioMixer distance attenuation.
2016-07-15 22:36:51 -07:00
Ken Cooke
1ee608ad2c
Cleanup
2016-07-15 18:23:12 -07:00
Brad Hefta-Gaub
878a01cbaf
Merge pull request #8242 from kencooke/improved-hrtf
...
Improved HRTF
2016-07-15 09:02:15 -07:00
Ken Cooke
2674df6095
Fix the distance-attenuation model (for injectors only)
...
The original attenuation model seems wrong, under-attenuating at close distance but completely muting after 45m.
This uses a physics-based model of -6dB per doubling of distance in free space, for the injectors. The AudioMixer model and domain settings still need to be reworked in a future PR.
2016-07-14 18:34:07 -07:00