Commit graph

496 commits

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