Commit graph

531 commits

Author SHA1 Message Date
Philip Rosedale
d01b73bdaa Merge pull request #3423 from chansensturm/audio-temp
Head Penumbra filter changes (feedback from testing with Freddy)
2014-09-15 20:00:11 -07:00
Craig Hansen-Sturm
b6c38b82dc stray inline keyword 2014-09-15 18:41:41 -07:00
Craig Hansen-Sturm
8de32f1170 out-of-line inline's for performance critical member functions 2014-09-15 18:38:36 -07:00
Craig Hansen-Sturm
d8a4d71b08 out-of-line inline's for performance critical member functions 2014-09-15 18:38:32 -07:00
Brad Hefta-Gaub
a9206e0e85 Merge pull request #3422 from chansensturm/audio-temp
Implement Gordon-Smith 2-pole quadrature oscillator
2014-09-15 18:24:11 -07:00
Atlante45
f3e2507ed3 Merge branch 'master' of https://github.com/highfidelity/hifi into radio_js 2014-09-15 15:54:31 -07:00
Craig Hansen-Sturm
7a9cf193b4 Merge branch 'master' of https://github.com/highfidelity/hifi into audio-noise 2014-09-15 13:47:24 -07:00
Craig Hansen-Sturm
1c955384fb coding standard/typo 2014-09-15 09:56:11 -07:00
Craig Hansen-Sturm
0ba952b2f8 cleanup/remove stray static _frameOffset 2014-09-14 12:32:48 -07:00
Craig Hansen-Sturm
4a63f9f764 implement Gordon-Smith 2-pole quadrature oscillator 2014-09-14 12:22:32 -07:00
Craig Hansen-Sturm
85f68662b0 implement Gordon-Smith 2-pole quadrature oscillator 2014-09-14 12:22:29 -07:00
ZappoMan
ac27c36c3d one more shot at these warnings 2014-09-13 09:40:44 -07:00
ZappoMan
d92d2d57a0 one more shot at these warnings 2014-09-13 09:28:28 -07:00
ZappoMan
04772f6e5d fix more signed/unsigned warnings 2014-09-13 09:09:18 -07:00
ZappoMan
be8994f3a3 attempt to fix warning 2014-09-13 08:47:18 -07:00
Craig Hansen-Sturm
1d0ba52445 implemented new audio panning object which implements constant power sin^2+cos^2=1 law 2014-09-11 17:15:49 -07:00
Craig Hansen-Sturm
893d4686db comments 2014-09-11 11:18:05 -07:00
Craig Hansen-Sturm
0d5f28c7df audio buffer framing issue / comments 2014-09-11 11:05:27 -07:00
Craig Hansen-Sturm
18975aef57 log audio device framing errors, copy as much data as we can, but don't assert 2014-09-10 16:48:35 -07:00
Atlante45
da740e8a88 First cut at radio.js 2014-09-08 15:31:53 -07:00
Craig Hansen-Sturm
cb4aab3902 allocate 8x buffer size (for pulse audio) / more audioGain loop unrolling w/frame alignment check 2014-09-08 15:28:55 -07:00
Craig Hansen-Sturm
5a6f8015f6 unroll audio gain rendering loop 2014-09-08 14:05:47 -07:00
Craig Hansen-Sturm
5b996046ba Hot FIX: stereo input devices shouldn't trigger an assert 2014-09-08 12:05:29 -07:00
Craig Hansen-Sturm
431fcbcf6c coding standard / SLOT selectAudioSourceSine440 linkage / tone gen amplitude parameter 2014-09-08 11:18:14 -07:00
Craig Hansen-Sturm
2700d8c59d ubuntu build fix (remove std::memset ...) 2014-09-06 04:05:52 -07:00
Craig Hansen-Sturm
76adb952a3 ubuntu build fix (remove std::memset ...) 2014-09-06 03:57:11 -07:00
Craig Hansen-Sturm
e64c81420e ubuntu build fix (remove std::memset ...) 2014-09-06 03:29:14 -07:00
Craig Hansen-Sturm
e2f3392f09 formatting/renaming 2014-09-06 02:51:11 -07:00
Craig Hansen-Sturm
1eba20bc3b minor cleanup 2014-09-06 02:32:13 -07:00
Craig Hansen-Sturm
5bab1ee7f5 dependency on new audiobuffer and audioformat objects/render call now uses audiobuffers 2014-09-06 02:22:27 -07:00
Craig Hansen-Sturm
8ecf0870e7 dependency on new audiobuffer and audioformat objects 2014-09-06 02:20:14 -07:00
Craig Hansen-Sturm
0b33c344ff new audio buffer object 2014-09-06 02:18:35 -07:00
Craig Hansen-Sturm
f439475f3c new audio gain/mute object 2014-09-06 02:18:04 -07:00
Craig Hansen-Sturm
3a9a4a6402 new pink noise generator audio source object 2014-09-06 02:16:00 -07:00
Craig Hansen-Sturm
c6911274f6 new tone generator audio source object 2014-09-06 02:14:47 -07:00
Craig Hansen-Sturm
1cdb01e072 Merge branch 'master' of https://github.com/highfidelity/hifi into audio-noise 2014-09-05 18:31:02 -07:00
Atlante45
619aebcd67 move isStereo packing to the correct position 2014-09-05 16:18:02 -07:00
Atlante45
507419162c Added stereo option to the AudioInjector 2014-09-05 14:34:55 -07:00
Craig Hansen-Sturm
974c88442c new audio format object 2014-08-29 14:36:11 -07:00
Craig Hansen-Sturm
3e3090f1ea coding standard 2014-08-28 11:12:17 -07:00
Craig Hansen-Sturm
0881959750 left/right channels of head shadow filter now have independent gain + implemented all-pass filter 2014-08-27 17:30:11 -07:00
Brad Hefta-Gaub
e8c3125985 Merge pull request #3323 from chansensturm/wangyix-qt_stats_for_audiomixer
Merge of Yixin's PR #3281 to head
2014-08-27 11:14:52 -07:00
Craig Hansen-Sturm
e941e58626 merge HEAD with PR-3281 2014-08-26 18:25:40 -07:00
Atlante45
90d8626615 Fix for audio on ACs 2014-08-26 14:35:35 -07:00
Craig Hansen-Sturm
950862839e added high-shelf and low-shelf filters, positional audio now uses high-shelf filter, significant reformatting/renaming of AudioFilter.h for coding standard 2014-08-25 18:17:32 -07:00
Craig Hansen-Sturm
4f346bfe62 addresses more coding-standard spacing issues 2014-08-25 13:07:52 -07:00
Craig Hansen-Sturm
bf6d34b6f3 windows/linux build break + addresses zappoman review comments 2014-08-25 11:43:49 -07:00
Craig Hansen-Sturm
848144d98c Merge remote-tracking branch 'upstream/master' 2014-08-24 22:17:30 -07:00
Craig Hansen-Sturm
4cd1f4afef add support for head-shadow/penumbra filter for positional audio streams 2014-08-24 22:17:07 -07:00
Atlante45
45ccb01297 Update options position and orientation correctly in the AudioInjector 2014-08-18 21:05:03 -07:00
Atlante45
2eb1321cc2 Sound and AudioInjector tweaks 2014-08-18 12:28:44 -07:00
wangyix
db0fbcab97 merge with upstream 2014-08-13 11:09:55 -07:00
wangyix
746893cc94 updateLastOutputLoudnessAndTrailingLoudness 2014-08-13 10:48:47 -07:00
wangyix
ddc8bec1ec moved lastpopframeloudness calculation to checkBuffersBeforeFrameSend 2014-08-13 10:41:25 -07:00
wangyix
f34f0a719b fixed lastPopOutput null ptr errors for frame loudness check 2014-08-13 10:26:01 -07:00
wangyix
23b3d06260 forgot null check for AudioMixer repeat mix of lastPopOutput 2014-08-13 09:46:49 -07:00
wangyix
7f53ae0e4f fixed warnings 2014-08-12 12:22:13 -07:00
wangyix
a31d53544b repetition-with-fade seems good; continue testing 2014-08-11 17:58:01 -07:00
wangyix
e276d15ed4 repetition-with-fade implemented; testing interface crash 2014-08-11 16:25:43 -07:00
AndrewMeadows
0650169c25 Merge pull request #3270 from chansensturm/audio-filter
Added support for biquad, parametric, and multi-band filter eq
2014-08-11 12:22:40 -07:00
Craig Hansen-Sturm
3d95f28fb9 added apache licensing/removed implicit double<->float conversions/addressed style guide issues 2014-08-11 11:51:49 -07:00
wangyix
1f011bfe9d repetition-with-fade option added, not implemented 2014-08-11 11:22:37 -07:00
wangyix
a1ea393324 added a comment 2014-08-11 09:14:01 -07:00
Craig Hansen-Sturm
481108ecd1 added support for biquad, parametric, and multi-band filter eq 2014-08-10 22:47:27 -07:00
wangyix
7a063b8bc8 scope seems to be working now using networkSamples 2014-08-08 18:16:25 -07:00
wangyix
fea97f8fe8 added networkSamples buffer to MixedProcessedAudioStream 2014-08-08 17:17:30 -07:00
wangyix
7aa5a1f830 fixed function name 2014-08-08 17:02:13 -07:00
wangyix
4ec84b32b0 updated AudioRingBuffer bytes vs samples returns 2014-08-08 17:00:39 -07:00
wangyix
f71e1edd30 removed parseSilentPacketStreamProperties() 2014-08-08 16:46:12 -07:00
wangyix
a2d66b9a8f fixed audio scope; added parseSilentPacketStreamProperties() 2014-08-08 14:55:38 -07:00
wangyix
bf8188c6ff removed duplicate definition 2014-08-08 13:38:28 -07:00
wangyix
0dfe0b1f2a merged with master 2014-08-08 13:32:27 -07:00
Stephen Birarda
b1310c065c remove TARGET_NAME from cmake macros where it is not required 2014-08-08 13:17:54 -07:00
Stephen Birarda
26f7b1ba62 add macro to link shared dependencies to target 2014-08-08 13:17:54 -07:00
Stephen Birarda
c9f8433a2d tweak setup_hifi_library to bubble up full path of Qt modules 2014-08-08 13:17:54 -07:00
Stephen Birarda
17df6484d4 remove ssize_t and replace with size_t or int where appropriate 2014-08-08 13:17:53 -07:00
Stephen Birarda
87cf262b9e get to successful cmake after library link macro changes 2014-08-08 13:17:53 -07:00
Stephen Birarda
31488e72fe repairs for interface build to succeed 2014-08-08 13:17:53 -07:00
Stephen Birarda
892e30c5e1 get past assignment-client build after cmake auditing 2014-08-08 13:17:53 -07:00
Stephen Birarda
b5c8a4d2c6 fix requirement of networking in audio library 2014-08-08 13:17:52 -07:00
wangyix
63624fae7d cleaned up code, fixed typos 2014-08-08 11:40:48 -07:00
wangyix
b670226ee3 removed printf, removed random copy of some file 2014-08-08 11:22:04 -07:00
wangyix
8183fd3199 forgot to update starveHistoryWindowSeconds when window A changes 2014-08-08 11:17:32 -07:00
wangyix
3338102513 reverted some behavior to make getCalculated() to work again 2014-08-08 10:29:45 -07:00
wangyix
850a2d8d94 inboundaudiostream behavior updated; needs testing 2014-08-08 09:59:33 -07:00
wangyix
fd3425dfd1 knobs confirmed working 2014-08-07 17:05:23 -07:00
wangyix
1153a76ab1 new option knobs added, no new behavior yet 2014-08-07 16:37:36 -07:00
wangyix
357ba92181 working towards more dials for InboundAdioStream 2014-08-07 12:41:09 -07:00
wangyix
84c517c073 tweaked starve behavior of InboundAudioStream 2014-08-05 11:57:34 -07:00
wangyix
77dad6fe65 change to fix Mac linker error 2014-08-05 11:00:27 -07:00
wangyix
748c9e2065 numAudioSamples now calculated to be device samples instead of network samples 2014-08-05 10:13:34 -07:00
wangyix
3fe4c29848 removed heap alloc of receivedSamples; cleaned up code 2014-08-04 17:14:26 -07:00
wangyix
4d7d6f1e25 changed downstream re-sampling to occur right after parsing packet 2014-08-04 16:23:17 -07:00
wangyix
e1f905cb36 fixed >100% loss rate bug in SequenceNumberStats 2014-08-01 10:27:51 -07:00
Brad Hefta-Gaub
d4d4069f11 Merge pull request #3225 from birarda/master
cmake file cleanup to suppress warnings on cmake 3.0
2014-07-30 19:20:18 -07:00
wangyix
7281eca5a4 fixed inj crash; added statcDesired to MixedAudioStream 2014-07-30 17:20:05 -07:00
wangyix
24be668d36 added check before pushAudioToOutput to prevent starvecount buildup 2014-07-30 15:47:49 -07:00
wangyix
daeb2a898d added staticDesiredJitterBufferFrames feature; AudioMixer crashing
moved some callbacks from Application::updateAvatar() to
Application::update()
2014-07-30 15:35:40 -07:00
Stephen Birarda
2796f71419 library cleanup to suppress warnings on cmake 3.0 2014-07-30 15:06:15 -07:00
wangyix
5b0662f1d0 fixed setToStarved() behavior of InboundAudioStream 2014-07-30 10:51:50 -07:00
wangyix
656131b7ee made frames available avg window 2s; added missing _silentFramesDropped update 2014-07-30 10:24:24 -07:00
wangyix
ecfd5c2757 default max frames over desired changed to 10 2014-07-29 17:37:59 -07:00
wangyix
d49970d010 maxFramesOverDesired added; settable from domain page and preferences 2014-07-29 15:57:32 -07:00
wangyix
bb2adb2721 minor refactoring 2014-07-29 14:02:18 -07:00
wangyix
71c23eac1e added TimeWeightedAvg to InboundAudioStream
_maxFramesOverDesired hardcoded right now
2014-07-29 13:51:46 -07:00
wangyix
ccedb1bd20 forgot some code in checkBuffersBeforeFrameSend
corrected updateLastPopOutputTrailingLoudness behavior to match what the
old code did.
2014-07-29 10:40:01 -07:00
wangyix
a3b44a6a73 downstream silent packets seem to be working 2014-07-29 10:08:55 -07:00
wangyix
aead7a6823 removed get pointer methods from AudioRingBUffer 2014-07-28 22:48:29 -07:00
wangyix
4825457f4d silent audio packet type generalized 2014-07-28 16:49:53 -07:00
wangyix
7e59723522 removed +1 for philip's jitter frames calculation 2014-07-28 14:24:58 -07:00
wangyix
d221f69767 clamp overridden desired jitter buffer frames value 2014-07-28 14:22:04 -07:00
wangyix
97054d668b fixed header macros 2014-07-28 14:15:14 -07:00
wangyix
ed9bfdc503 these didn't commit for some reason 2014-07-28 14:08:45 -07:00
wangyix
145b7f8a0e got Preferences jitter buffer frames override working 2014-07-28 14:05:17 -07:00
wangyix
6fc5c74c0b renamed ringbuffer variables to audiostream 2014-07-28 13:08:53 -07:00
wangyix
32dbc6cbdb renamed audioringbuffer classes to audiostream 2014-07-28 11:52:05 -07:00
wangyix
9bbd055404 added stdev method of jitter calc to InboundAudioStream 2014-07-28 11:41:08 -07:00
wangyix
c129db16cb formatting fix, AudioRingBuffer no longer NodeData, 2014-07-28 09:40:44 -07:00
wangyix
438606d567 _consecutiveNotMixedCount++ moved back into if(starveOnFail) 2014-07-27 11:23:47 -07:00
wangyix
78031622db removed MixedAudioRingBuffer class files 2014-07-25 16:06:56 -07:00
wangyix
e17556384d added code to clear agent audiostream frames to prevent buildup 2014-07-25 15:51:34 -07:00
wangyix
fd9d7baa06 updated Agent with audiostream; added initial packets discard to audiostream 2014-07-25 15:14:10 -07:00
wangyix
f7e043f52d cleaned up code 2014-07-25 14:52:39 -07:00
wangyix
a9d26b3934 fixed repeat-popping in audiomixer 2014-07-25 12:58:10 -07:00
wangyix
822ba4da48 cleaned up code more, dancer.js audio not working 2014-07-25 10:21:38 -07:00
wangyix
473cbf2afe client audio now updated with stream class; seems fine for now 2014-07-24 17:15:46 -07:00
wangyix
83ba4b9a1c Audiomixer now working (added call to updateNextOutputTrailingLoudness()) 2014-07-24 14:43:29 -07:00
wangyix
3d22a11e28 debugging new audio stream organization 2014-07-24 13:58:15 -07:00
wangyix
fe70c1f49a didn't commit for some reason 2014-07-24 10:48:56 -07:00
wangyix
c9b6879ca8 audiomixer code complete; need to test 2014-07-24 10:48:27 -07:00
wangyix
e2f957d6dc added InboundAudioStream class 2014-07-23 16:46:23 -07:00
wangyix
4a4d065f00 another parseData change 2014-07-23 12:06:31 -07:00
wangyix
849c489b4c removed warnings about parseData() overloading in ringbuffer classes 2014-07-23 11:20:30 -07:00
wangyix
621f0725cc added input ring buffer stats to interface 2014-07-21 15:39:33 -07:00
wangyix
e557ba8052 removed space 2014-07-16 18:06:55 -07:00
wangyix
8775d22765 re-added calculated desired frames to domain page stats 2014-07-16 17:44:49 -07:00
wangyix
397e6c8b13 renamed a function 2014-07-16 17:34:48 -07:00
wangyix
6764ace8eb droppable silent packets are added for dropped packets;
_currentJitterBufferFrames replaced with moving average of frames
available.  Downstream framesAvailable stat now includes the frames in
QAudioOutput as well as the ringbuffer.
2014-07-16 14:41:24 -07:00
wangyix
871aa2790a forgot unused variable 2014-07-15 12:24:28 -07:00
wangyix
828410b7d6 removed isNan check for _nextOutputTrailingLoudness 2014-07-15 12:23:54 -07:00
wangyix
a1b2bf59e9 disabled SIMD adds in AudioMixer for windows 2014-07-15 12:23:02 -07:00
wangyix
d369435240 added dirty fix for NaN _nextOutputTrailingLoudness 2014-07-11 13:25:47 -07:00
wangyix
25f4f63a1e added window PacketStreamStats to AudioStreamStats 2014-07-10 16:42:23 -07:00
wangyix
0d83b9a6f6 tidied up code 2014-07-10 09:51:01 -07:00
wangyix
01f10024ae all stats added, needs testing; created PacketStreamStats struct 2014-07-09 18:13:33 -07:00
wangyix
d03d3ef817 new auidostreamstats displayed in interface, domain page stats updated 2014-07-09 11:59:50 -07:00
wangyix
54e8ed5e11 added MovingMinMaxAvg and unit test; added additional stats to AudioStreamStats struct 2014-07-09 09:41:49 -07:00
wangyix
e732436783 added _starveCount, _silentFramesDropped 2014-07-08 14:13:42 -07:00
wangyix
2e73ac8bc1 changed Audio.cpp to not overflow _audioOutput buffer, and 2 other things
added _consecutiveNotMixedCount to prevent premature injector stream
deletion;  made silent-frame drop only occur in dynamic jitter buffer
mode
2014-07-08 11:16:39 -07:00
Brad Hefta-Gaub
dbdce32b68 Merge pull request #3107 from wangyix/master
prune missing sequence numbers before sending NACK; AudioRingBuffer frame length can now be specified;
2014-07-03 13:32:31 -07:00