Commit graph

536 commits

Author SHA1 Message Date
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