Commit graph

591 commits

Author SHA1 Message Date
Craig Hansen-Sturm
04eca22a50 allocate 4x initial input buffer size 2014-09-08 14:28:53 -07:00
Craig Hansen-Sturm
f309875069 formatting/renaming 2014-09-06 02:50:37 -07:00
Craig Hansen-Sturm
7a5ec429d1 audio rendering loop now uses input-gain, tone-generator, noise-generator, and post-generator-gain objects / audiobuffer object now shared between all new audio objects / zero buffer copy between new objects / inline tone-generator code removed / new audio options for generators 2014-09-06 02:29:48 -07:00
Atlante45
2448229b46 fix for crash in Audio 2014-08-27 16:03:53 -07:00
Craig Hansen-Sturm
e941e58626 merge HEAD with PR-3281 2014-08-26 18:25:40 -07:00
Atlante45
acb55ce65e Switched audio play back to AudioInjector out of Audio 2014-08-18 12:31:44 -07:00
wangyix
7a8a8684d6 fixed crash when audioscope frame size is reduced 2014-08-14 15:56:13 -07:00
wangyix
db0fbcab97 merge with upstream 2014-08-13 11:09:55 -07:00
wangyix
f34f0a719b fixed lastPopOutput null ptr errors for frame loudness check 2014-08-13 10:26:01 -07:00
wangyix
7f53ae0e4f fixed warnings 2014-08-12 12:22:13 -07:00
wangyix
8565e93ba4 more test code (10% drop both directions) 2014-08-12 10:50:34 -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
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
a2d66b9a8f fixed audio scope; added parseSilentPacketStreamProperties() 2014-08-08 14:55:38 -07:00
wangyix
0dfe0b1f2a merged with master 2014-08-08 13:32:27 -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
212316aed6 moved connect to Audio constructor 2014-08-05 12:14:10 -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
779e7631a1 magic number 100 changed in Audio.cpp 2014-08-05 10:27:16 -07:00
wangyix
748c9e2065 numAudioSamples now calculated to be device samples instead of network samples 2014-08-05 10:13:34 -07:00
wangyix
2b8b15e32d made audioscope easier to see 2014-08-04 17:56:14 -07:00
wangyix
ed3240fbad minor change to _audioOutput->setBufferSize() 2014-08-04 17:31:14 -07:00
wangyix
4355ca8328 minor member rename 2014-08-04 17:24:18 -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
Philip Rosedale
69558dc574 Merge pull request #3245 from wangyix/inbound_audio_stream
Improved SequenceNumberStats
2014-08-04 07:49:31 -07:00
wangyix
cdcc6ece04 fixed compile errors caused by SequenceNumberStats changes 2014-08-01 10:34:19 -07:00
wangyix
e1f905cb36 fixed >100% loss rate bug in SequenceNumberStats 2014-08-01 10:27:51 -07:00
ZappoMan
fa5a2b9a4d reset sent time gap stats on reset 2014-08-01 10:04:35 -07:00
ZappoMan
7e51ebea49 added some additional audio stats 2014-08-01 09:42:31 -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
wangyix
efd4b7ad67 switched upstream/downstream stats; added menu item to disable injected stats 2014-07-30 12:04:03 -07:00
wangyix
2b77a72aba changed Mac downstream ringbuffer to 100 frames 2014-07-30 11:13:15 -07:00
wangyix
30c17067a1 moved pushAudioOutput to handleAudioInput 2014-07-30 11:02:10 -07:00
wangyix
d49970d010 maxFramesOverDesired added; settable from domain page and preferences 2014-07-29 15:57:32 -07:00
wangyix
71c23eac1e added TimeWeightedAvg to InboundAudioStream
_maxFramesOverDesired hardcoded right now
2014-07-29 13:51:46 -07:00
wangyix
4825457f4d silent audio packet type generalized 2014-07-28 16:49:53 -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
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
059007c99c cleaned up code (removed old code that was commented out) 2014-07-25 09:43:08 -07:00
wangyix
473cbf2afe client audio now updated with stream class; seems fine for now 2014-07-24 17:15:46 -07:00
wangyix
e2f957d6dc added InboundAudioStream class 2014-07-23 16:46:23 -07:00
wangyix
3abd383cd3 cleaned up code more 2014-07-23 15:26:49 -07:00
wangyix
663cbb76dd removed seq num reset from Audio::reset() 2014-07-23 14:37:11 -07:00
wangyix
06ed8e4b63 fixed some typos in audio stats; cleaned up code 2014-07-23 13:47:03 -07:00
wangyix
bd8b7eb710 minor spacing issue 2014-07-23 12:44:16 -07:00
wangyix
142bda3ed4 fixed audio stats typos 2014-07-23 12:43:26 -07:00
wangyix
ba4403b063 audio stats look good on Mac now 2014-07-23 11:18:25 -07:00
wangyix
5b0b484727 finished new audio stats (looks good on Windows) 2014-07-23 11:00:48 -07:00
wangyix
d9692e4af4 changed a > to >= in handleAudioInput; added audio input buffer latency to stats; 2014-07-22 17:34:35 -07:00
wangyix
1b2dc2cbe1 added central audio stats including pipeline latency; old stats still there 2014-07-22 14:21:53 -07:00
wangyix
f7381c70bc starvcount and notmixedcount also reset when audiomixer is killed 2014-07-22 11:09:47 -07:00
wangyix
847bc28990 Audio stats now reset when AudioMixer is killed 2014-07-22 10:27:26 -07:00
wangyix
f6ef61e76a fixed some typos 2014-07-21 17:15:08 -07:00
wangyix
0bcc13aec9 made Audio always push a whole number of frames to the audio output 2014-07-21 17:12:03 -07:00
wangyix
621f0725cc added input ring buffer stats to interface 2014-07-21 15:39:33 -07:00
wangyix
603974c8a2 separated ringbuffer and outputbuffer avg framesAvailable stats in interface 2014-07-21 14:27:09 -07:00
wangyix
a70eb12245 made Audio::_ringbuffer 10 frames for nonWindows;
fixed/separated framesAvailable stats for _ringBuffer and _audioOutput;
made QAudioOutput overflow check disabled by default
2014-07-21 13:21:31 -07:00
ZappoMan
7c5a77ddfe revert back the largest capacity of the client ring buffer back to the smaller default value 2014-07-21 10:29:51 -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
Aleric Inglewood
bd212c26d0 Fix initializer list order (avoiding compiler warning).
This patch fixes the compiler warning:

In file included from /opt/highfidelity/hifi/hifi/interface/src/Application.h:45:0,
                 from /opt/highfidelity/hifi/hifi/interface/src/Audio.cpp:42:
/opt/highfidelity/hifi/hifi/interface/src/Audio.h: In constructor ‘Audio::Audio(int16_t, QObject*)’:
/opt/highfidelity/hifi/hifi/interface/src/Audio.h:268:30: warning: ‘Audio::_interframeTimeGapStats’ will be initialized after [-Wreorder]
/opt/highfidelity/hifi/hifi/interface/src/Audio.h:259:9: warning:   ‘int Audio::_starveCount’ [-Wreorder]
/opt/highfidelity/hifi/hifi/interface/src/Audio.cpp:63:1: warning:   when initialized here [-Wreorder]

by fixing the initializer list of class Audio.

Note that I omitted _audioMixerAvatarStreamAudioStats() - which is a default constructor
that is called anyway (it's the default!) and therefore doesn't belong in the initializer list.
2014-07-13 17:10:39 +02:00
wangyix
a7ef7647ed application stats tracking and packing updated; 2014-07-10 16:54:26 -07:00
wangyix
b4c9e51011 Audio now periodically sends downstream audio stats to audiomixer 2014-07-10 14:14:29 -07:00
wangyix
0d83b9a6f6 tidied up code 2014-07-10 09:51:01 -07:00
wangyix
7fcf149f70 removed if randFloat 2014-07-09 18:14:58 -07:00
wangyix
01f10024ae all stats added, needs testing; created PacketStreamStats struct 2014-07-09 18:13:33 -07:00
wangyix
6ee52e97c8 added dev menu option to disable _audioOutput overflow check 2014-07-08 12:23:43 -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
wangyix
94c0c15c76 fixed more small bugs with AudioRingBuffer constructor 2014-07-03 12:06:18 -07:00
wangyix
507518f16d removed numFramesCapacity from being exposed everywhere 2014-07-03 11:11:56 -07:00
Clément Brisset
1f92d57230 Merge pull request #3103 from AlericInglewood/19827
Code Review for Job #19827
2014-07-02 15:53:57 -07:00
Andrew Meadows
8b3af0b9cb merge upstream/master into andrew/say-no-to-warnings
Conflicts:
	interface/src/ui/ApplicationOverlay.cpp
	libraries/audio/src/AudioRingBuffer.cpp
2014-07-02 10:37:30 -07:00
wangyix
a5943e3608 made AudioRingBuffer frames capacity variable 2014-07-01 16:24:31 -07:00
wangyix
99fd1c7106 changed numSamplesNeedToStartPlayback calculation in Audio.cpp 2014-07-01 10:44:07 -07:00
wangyix
f51a77ce45 reset the incoming audio seq stats in Application::nodeKilled when audiomixer is killed 2014-06-30 18:00:29 -07:00
wangyix
d2f86278b2 modified AudioStreamStats to per-stream with seq stats
added AudioStreamStats info to interface overlay stats
2014-06-30 12:31:58 -07:00
wangyix
de3c1ebf0f changed class name to AudioStreamStats, reverted ScriptEngine packing back to QDataStream 2014-06-30 09:42:22 -07:00
Aleric Inglewood
37f0635024 Fix a (possible) crash in QObject::disconnect
This is https://worklist.net/19827
2014-06-30 02:07:26 +02:00
wangyix
c3f571745c removed more debug stuff 2014-06-27 17:42:22 -07:00
wangyix
4587828a3a removed debug prints 2014-06-27 16:48:21 -07:00
wangyix
9ceac2c631 fixed Audio.cpp jitter buffer size clamp bug 2014-06-27 16:34:30 -07:00
wangyix
0ae58bd7f9 added senderUUID arg to seq stats 2014-06-27 15:39:11 -07:00
wangyix
ff438a2434 added seq stats for Agent,
fixed  AudioInjector to do << (quint16)0 instead of
skipRawData(sizeof(quint16) to correctly allocate space for seq number;
added debug prints;
2014-06-27 11:23:50 -07:00
wangyix
cb48825561 added seq number to all Audio types, untested 2014-06-26 16:52:23 -07:00
wangyix
fe2eaa8e4a forgot to increment seqnum in Audio.cpp 2014-06-25 18:02:38 -07:00
wangyix
37ce693153 added seqnum stats to AudioMixerClientData; added seqnums to Audio.cpp 2014-06-25 18:01:34 -07:00
wangyix
591bfa14b9 added PacketTypeAudioStreamStats for j-buffer stats
...instead of packing that info into audio packets.
2014-06-25 11:38:56 -07:00
Andrew Meadows
d3d8e4dc2d fix warnings about signed/unsigned comparisons 2014-06-25 09:07:10 -07:00
wangyix
c2b22c0aa2 Merge remote-tracking branch 'upstream/master' 2014-06-24 09:34:07 -07:00
David Rowe
c40c5d78c8 Fix default audio devices on Windows
Windows 8 provides the full friendly device name, not just the first 31 characters.
2014-06-24 08:50:39 -07:00
wangyix
a4f5ce2215 added stats for audiomixer jitter buffers lengths in Application 2014-06-23 17:48:57 -07:00
wangyix
e5d7d471e3 removed debug code 2014-06-23 10:55:30 -07:00
wangyix
a5457eb86b fixed bug in Audio.cpp where numSilentSamples was written to wrong place in packet
added more debug stuff, other minor changes and fixes
2014-06-20 14:43:18 -07:00
Kai Ludwig
8c700d43f3 Modified CALLBACK_ACCELERATOR_RATIO for windows because some systems need larger input buffer to work fine. 2014-06-15 21:08:14 +02:00
David Rowe
1503946b7c Fix build warning in Audio.cpp
\interface\src\Audio.cpp(309): warning C4018: '<' : signed/unsigned mismatch
2014-06-11 21:11:49 -07:00
Stephen Birarda
b6b148cd9f resolve conflicts on merge with upstream master 2014-06-06 11:31:16 -07:00
Stephen Birarda
f6011b65d7 fix input loudness for a stereo source 2014-06-06 11:26:04 -07:00
Stephen Birarda
ae2f6a3cb6 complete piping of stereo audio through mixer 2014-06-06 10:55:04 -07:00
Stephen Birarda
681ce247d6 tweak resample to handle 48 to 24 stereo, add stereo/mono byte 2014-06-06 10:27:59 -07:00
Stephen Birarda
7da091d2b4 initial hooks for stereo audio 2014-06-06 10:15:09 -07:00
Andrew Meadows
d3f51fe38e FinalOrientation -> FinalOrientationInWorldFrame 2014-06-04 10:41:17 -07:00
matsukaze
619db8ee93 Job #19694 - Add option for larger number of frames to the audio scope display 2014-05-27 23:24:28 -04:00
barnold1953
b5ad295756 Fixed improper coding style in previous pull request 2014-05-21 11:24:39 -07:00
barnold1953
661de7c62b Fixed poor coding standard 2014-05-20 17:46:52 -07:00
barnold1953
2329188939 Stopped windows crash when no audio device is detected 2014-05-20 15:15:45 -07:00
Philip Rosedale
01e5b009ee scope menus better, pause hotkey, no stay paused, remove menu for shared face culling ops 2014-05-07 20:43:23 -07:00
Atlante45
01637e8037 Fix error introduced with gettimeofday removing + spelling mistake 2014-04-24 17:37:48 -07:00
Clément Brisset
d441e6a453 Merge pull request #2717 from AndrewMeadows/inertia
avatar bounding capsule collision against voxels
2014-04-23 16:06:14 -07:00
Atlante45
ae566c55f6 Merge branch 'master' of https://github.com/highfidelity/hifi into removed_gettimeofday 2014-04-23 10:38:29 -07:00
Andrew Meadows
bfe1ee377b remove warning about signed/unsigned comparison
Also change n.f to be n.0f as per coding standard
2014-04-23 08:56:53 -07:00
matsukaze
d6e4f217f5 Expanded variable names. 2014-04-22 21:57:41 -04:00
matsukaze
1ff3b83644 Changed const color data and method signatures.
Changed constant color data and method signatures from unsigned int to
array of float. Changed glColor4f to glColor4fv.
2014-04-22 19:42:51 -04:00
matsukaze
015cbce322 Changed constant names for improved readability. 2014-04-22 18:57:22 -04:00
matsukaze
ff7a1bd60f Job #19574. Add audio oscilloscope.' 2014-04-22 06:53:59 -04:00
Atlante45
ab76e6a00c Merge branch 'master' of https://github.com/highfidelity/hifi into removed_gettimeofday
Conflicts:
	interface/src/Audio.cpp
2014-04-21 12:19:19 -07:00
ZappoMan
80dd0c3356 fix switching audio device bug 2014-04-20 20:18:56 -07:00
ZappoMan
fa787adce2 added wet/dry mix, and alternate distance attenuation features 2014-04-18 08:55:32 -07:00
Andrew Meadows
e139a6dc95 remove warnings about signed-unsigned comparison 2014-04-17 08:46:41 -07:00
ZappoMan
4c6471caa4 fix typo 2014-04-16 16:43:01 -07:00
ZappoMan
3cb109ec89 clean up 2014-04-16 15:21:04 -07:00
ZappoMan
b00a67cb57 added support for local audio spatialization independent of inbound audio 2014-04-16 13:55:39 -07:00
Atlante45
8cfc8faa01 Removed gettimeofday in Audio 2014-04-16 12:08:17 -07:00
ZappoMan
040df97be2 more cleanup 2014-04-15 20:23:47 -07:00
ZappoMan
82d9c50dc5 moved all local processing to AudioReflector 2014-04-15 20:11:53 -07:00
ZappoMan
a46d3fd254 first cut at local audio spatialization working 2014-04-15 19:57:37 -07:00
ZappoMan
523cc4bdfe revert some code 2014-04-15 16:30:47 -07:00
ZappoMan
a7cbf7f667 revert some code 2014-04-15 16:26:46 -07:00
ZappoMan
585024d70e resample the local audio before sending it to any registered listeners 2014-04-15 16:04:33 -07:00
ZappoMan
f9b6585435 some cleanup 2014-04-15 15:20:03 -07:00
ZappoMan
5bc8c83706 loop and variable name cleanup 2014-04-15 15:16:55 -07:00
ZappoMan
e514c95642 variable names cleanup to match coding standard 2014-04-15 14:47:38 -07:00
ZappoMan
24f0f37eb9 cleanup 2014-04-15 14:21:28 -07:00
ZappoMan
579710e4bd some cleanup 2014-04-15 13:36:20 -07:00
ZappoMan
cd23b95b42 revert back to using QByteArray for processReceivedAudio() 2014-04-15 13:16:52 -07:00
ZappoMan
74828a3215 removed non-functional low pass filter 2014-04-15 12:54:59 -07:00
ZappoMan
9d49a53434 coding standard cleanup 2014-04-15 12:50:05 -07:00
ZappoMan
0d308e7cb9 more cleanup add support for enable/disable rendering of paths 2014-04-14 11:58:49 -07:00
ZappoMan
7a993939bf Merge branch 'master' of https://github.com/worklist/hifi into moonshot
Conflicts:
	interface/interface_en.ts
	interface/src/Application.cpp
	interface/src/Application.h
	interface/src/Menu.h
	libraries/shared/src/SharedUtil.h
2014-04-14 09:43:29 -07:00