Commit graph

256 commits

Author SHA1 Message Date
Brad Hefta-Gaub
c6ffd81c4b some cleanup 2016-07-18 22:42:38 -07:00
Brad Hefta-Gaub
2e63aba8c9 when getting unexpected codec in the mixer, send a message to the client to select a different codec 2016-07-18 22:29:05 -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
Brad Hefta-Gaub
6d7c8d5759 fix crash in audio-mixer if no plugins installed 2016-07-12 16:11:43 -07:00
Brad Hefta-Gaub
7d608ba592 groundwork for injector support 2016-07-10 21:01:20 -07:00
Brad Hefta-Gaub
ed9715ae5f some cleanup, proper memory allocation/deallocation 2016-07-10 17:40:58 -07:00
Brad Hefta-Gaub
ba6bb24595 rework plugins to allow different decoder/encoder instances per streams 2016-07-10 16:49:03 -07:00
Brad Hefta-Gaub
3c6447326e more codec plumbing 2016-07-07 21:24:24 -07:00
Brad Hefta-Gaub
f65f99a3e0 fix warning 2016-05-29 12:34:57 -07:00
Brad Hefta-Gaub
7fd531541c simplify 2016-05-29 12:08:10 -07:00
Brad Hefta-Gaub
1e7cd06d0e add audio peak limiter to audio mixer 2016-05-28 20:34:27 -07:00
Stephen Birarda
93cf5a1035 fixes for CR comments 2016-04-18 16:53:02 -07:00
Stephen Birarda
1d256be7ee fix random stats sending for AudioMixer clients 2016-04-18 16:04:20 -07:00
Stephen Birarda
925c1ce26b don't send all stats to audio-mixer clients at same time 2016-04-15 11:04:56 -07:00
Stephen Birarda
367e558b19 address PR comments for whitespace and constant 2016-02-11 09:30:07 -08:00
Stephen Birarda
f0ca412b29 use the existing not mixed count for injector inactivity 2016-02-10 18:22:57 -08:00
Stephen Birarda
edfb65acf6 more stats printing removal from audio-mixer 2016-02-10 17:38:56 -08:00
Stephen Birarda
87b85d6951 more useful stats for new HRTF mixer 2016-02-09 16:39:45 -08:00
Stephen Birarda
95d0734d7f fix for windows size_t warning 2016-02-09 15:20:34 -08:00
Stephen Birarda
04dc55686b remove some comments for HRTF cleanup tests 2016-02-09 14:31:31 -08:00
Stephen Birarda
7b2726f89b ensure that injectors are cleaned up once inactive 2016-02-09 14:30:59 -08:00
Stephen Birarda
1773233af4 cleanup management of HRTF objects across connected Nodes 2016-02-09 14:30:44 -08:00
Stephen Birarda
1ce1a73f92 some concurrency repairs for AudioMixerClientData streams 2016-02-09 10:29:02 -08:00
Stephen Birarda
73690fe4cb use unique_ptr for audio streams in AudioMixerClientData 2016-02-08 18:45:14 -08:00
Stephen Birarda
445662f5ae clean sweep of old now unused audio files 2016-02-08 15:38:12 -08:00
Stephen Birarda
1e87fe77f2 return the result of PositionalAudioStream parseData 2016-01-25 13:47:20 -08:00
Stephen Birarda
7430b12db6 add some debug for stream overflows in audio-mixer 2016-01-25 13:30:19 -08:00
Atlante45
ce51350b65 Fix warnings on windows 64bit 2015-12-11 15:42:15 -08:00
Ryan Huffman
9ddcfdf94d Cleanup PacketReceier and ReceivedMessage 2015-10-16 09:21:10 -07:00
Ryan Huffman
7682ab00e3 Add ReceivedMessage and receive progress 2015-10-15 14:09:53 -07:00
Atlante45
179ee73e26 Merge branch 'master' of https://github.com/highfidelity/hifi into update_protocol 2015-08-26 16:50:33 +02:00
Stephen Birarda
6860f3d126 add readWithoutCopy for clarity in Packet read 2015-08-19 14:32:26 -07:00
Stephen Birarda
9e7fb9ae16 shuffle Packet headers, use static enum for PacketType 2015-07-23 13:56:47 -07:00
Atlante45
fbb6a94579 Merge branch 'receive_packets' of https://github.com/huffman/hifi into protocol 2015-07-14 16:36:28 -07:00
Stephen Birarda
fbd287472d make NodeData parseData take only packet 2015-07-14 14:09:00 -07:00
Atlante45
44c5d4a2bf Couple fixes SharedNodePointer > Node& 2015-07-13 15:29:41 -07:00
Atlante45
c80df94b06 Update includes for moved files 2015-07-13 15:28:55 -07:00
Stephen Birarda
26be492475 use same listener for many packets in AudioMixer 2015-07-13 14:46:56 -07:00
Stephen Birarda
d242f5d5d9 repair AudioMixerClientData parseData 2015-07-13 14:35:03 -07:00
Atlante45
957e6394a9 sendPacket function take Node& not a pointer 2015-07-13 11:57:20 -07:00
Atlante45
605b004514 Assigment client compile fixes 2015-07-09 11:19:36 -07:00
Stephen Birarda
74940a2132 replace lingering PacketTypes in old format 2015-07-08 10:18:13 -07:00
Ryan Huffman
3690ecc28f Add std::move to sendPacket calls 2015-07-07 16:24:11 -07:00
Stephen Birarda
f6cd67f75e repairs to stats packet in AudioMixerClientData 2015-07-07 14:57:39 -07:00
Stephen Birarda
9a31b22243 use NLPacket and sendPacket for audio stream stats 2015-07-06 17:48:21 -07:00
Stephen Birarda
0d64e82fe2 replace PacketType declarations with PacketType::Value 2015-07-02 16:38:52 -07:00
Seth Alves
508ae276c6 enable -Wdouble-promotion 2015-06-16 18:23:10 -07:00
Stephen Birarda
6b3cf1ba4a remove dependency of PacketHeaders on NodeList 2015-05-05 12:19:42 -07:00
Stephen Birarda
d602c71346 cleanup audio-mixer stats, add username interpolation 2015-05-01 16:12:46 -07:00
Stephen Birarda
68998f4423 cleanup AudioMixer stats to be properly nested 2015-04-28 18:19:16 -07:00
Atlante45
0bd9ed469e Changed NodeList::getInstance() calls to use the DM 2014-12-17 15:28:25 -08:00
Atlante45
0fa95ba61d Removed Unattenuated zones from mixer 2014-10-09 14:46:32 -07:00
Atlante45
dfe70ed2e3 Initialize InjectedAudioStream with correct stereo value 2014-09-26 19:23:36 -07:00
ZappoMan
864c1c88a7 fix the filter with delay and add per listener source pair data 2014-09-18 14:58: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
0007104b6a stats working 2014-08-12 12:58:30 -07:00
wangyix
446c888242 AudioMixer print added; untested 2014-08-12 12:22:32 -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
4d7d6f1e25 changed downstream re-sampling to occur right after parsing packet 2014-08-04 16:23:17 -07:00
wangyix
7281eca5a4 fixed inj crash; added statcDesired to MixedAudioStream 2014-07-30 17:20:05 -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
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
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
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
45b4777e60 cleaned up QHash iterator code again 2014-07-28 09:47:40 -07:00
wangyix
c129db16cb formatting fix, AudioRingBuffer no longer NodeData, 2014-07-28 09:40:44 -07:00
wangyix
e6f913edb1 dead injected streams are now periodically removed in AudioMixer 2014-07-25 16:32:08 -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
172cd91f27 removed unused seq variable 2014-07-24 11:58:07 -07:00
wangyix
da3339fc39 minor const change to qhash iterator 2014-07-24 11:57:00 -07:00
wangyix
c9b6879ca8 audiomixer code complete; need to test 2014-07-24 10:48:27 -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
cd8d52c6f8 case statement style fix 2014-07-17 09:24:54 -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
a37e24aeb4 updated domain page stats to use formated usec time strings 2014-07-14 11:08:00 -07:00
wangyix
82e9aa8bb7 made stats easier to read; reverted injected stream deletion conditions 2014-07-11 16:08:15 -07:00
wangyix
90c931ea45 removed Audio.cpp initialization list warning; updated Injector removal conditions 2014-07-11 15:07:50 -07:00
wangyix
69005242b9 forgot to multiply rates by 100% for domain stats page 2014-07-10 17:18:54 -07:00
wangyix
ae1d91b21d improved domain page stats string a bit 2014-07-10 17:11:15 -07:00
wangyix
6c85caaa54 updated Stats for new AudioStreamStats format 2014-07-10 17:03:53 -07:00
wangyix
25f4f63a1e added window PacketStreamStats to AudioStreamStats 2014-07-10 16:42:23 -07:00
wangyix
b4c9e51011 Audio now periodically sends downstream audio stats to audiomixer 2014-07-10 14:14:29 -07:00
wangyix
0b213f9616 streamlined AudioStreamStats packing; added #include <limits> 2014-07-10 10:44:33 -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
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
wangyix
507518f16d removed numFramesCapacity from being exposed everywhere 2014-07-03 11:11:56 -07:00
wangyix
a5943e3608 made AudioRingBuffer frames capacity variable 2014-07-01 16:24:31 -07:00
wangyix
4abfd2b6b7 removed forgotten semicolon in stats string 2014-06-30 17:16:28 -07:00
wangyix
02f12c27c5 forgot to add early/late/lost domain page stats for mic stream 2014-06-30 16:20:29 -07:00
wangyix
ae2780dcab changed getAudioStreamStatsOfStream to return stats instead of taking pointer 2014-06-30 15:20:42 -07:00
wangyix
1bfe367020 fixed error with retrieving stream stats in AudioMixerClientData 2014-06-30 15:06:04 -07:00
wangyix
6b6dccda2f _resetCount to _overflowCount in AudioRingBuffer 2014-06-30 14:21:38 -07:00
wangyix
0711eb063e fix reference to temp object error? 2014-06-30 13:07:46 -07:00
wangyix
dbb370aecf added early/late/lost to domain page stats 2014-06-30 12:49:54 -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
wangyix
a0795fd6e6 removed extra print 2014-06-27 16:52:15 -07:00
wangyix
4587828a3a removed debug prints 2014-06-27 16:48:21 -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
37ce693153 added seqnum stats to AudioMixerClientData; added seqnums to Audio.cpp 2014-06-25 18:01:34 -07:00
wangyix
c583f8b023 removed unnecessary changes 2014-06-25 11:48:32 -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
wangyix
1257e0595a moved jbufferstats class to PositionalAudioRingBuffers 2014-06-25 09:52:02 -07:00
wangyix
52f00769d4 merged with upstream 2014-06-24 17:22:30 -07:00
ZappoMan
1d390faad8 add support for commandline/config value for dynamic jitter buffers 2014-06-24 10:29:38 -07:00
ZappoMan
5c188ea81e adding more stats 2014-06-24 09:41:29 -07:00
wangyix
53e3f5a3b0 merged with upstream 2014-06-24 09:13:05 -07:00
wangyix
a4f5ce2215 added stats for audiomixer jitter buffers lengths in Application 2014-06-23 17:48:57 -07:00
ZappoMan
6434c0a2a4 add more stats 2014-06-23 17:28:39 -07:00
ZappoMan
076bc11545 added server side audio mixer jitter stats 2014-06-23 15:19:13 -07:00
wangyix
e5d7d471e3 removed debug code 2014-06-23 10:55:30 -07:00
wangyix
7196814ec3 added debug prints to look at injected ring buffers 2014-06-23 10:22:16 -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
wangyix
435b5094a0 moved time gap history to PositionalAudioRingBuffer, untested
removed hard-coded jitter buffer length.
2014-06-19 17:58:38 -07:00
wangyix
100bc022ec fixed a for loop that erased elements while iterating 2014-06-19 16:42:51 -07:00
Stephen Birarda
db1031144b fix passing of unattenuated zones to buffers 2014-06-18 13:46:03 -07:00
Stephen Birarda
5878b4af59 setup listener unattenuated zones for source ring buffers 2014-06-18 12:50:16 -07:00
Andrew Meadows
3f36325642 remove warnings about signed/unsigned comparison 2014-06-17 11:59:37 -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
684c6b5372 run regex header replacement on all cpp files 2014-04-09 09:35:42 -07:00
Stephen Birarda
e2b230445f add a method to Agent for last read frame loudness 2014-03-26 10:28:59 -07:00
Stephen Birarda
2575b33662 reinstate a cutoff when the audio-mixer is struggling 2014-03-21 14:29:57 -07:00
Stephen Birarda
24e9446814 remove mixer cutoff strategy for testing 2014-03-21 09:52:07 -07:00
Stephen Birarda
5ae63c5b0f use a trailing average for sleep time, move loudness to RB 2014-03-20 17:10:24 -07:00
Stephen Birarda
5515141792 use a trailing average for _nextOutputLoudness 2014-03-20 16:50:20 -07:00
Stephen Birarda
a8ef64e0ce calculate a cutoff loudness for mixer recovery 2014-03-20 12:52:17 -07:00
Stephen Birarda
fb73b6e1ce collect min and max loudness for each frame 2014-03-19 17:57:01 -07:00
Stephen Birarda
61594b9a1e fixes to silent audio frame sending 2014-03-17 16:27:49 -07:00
Stephen Birarda
bc9deb5db7 handle trivial case of not mixing silent audio streams 2014-03-17 14:29:53 -07:00
Stephen Birarda
4103cc1cde packet header changes and beginning of conversion to QByteArray 2014-01-28 10:36:08 -08:00
Brad Hefta-Gaub
825c1c8876 fix windows warnings 2014-01-11 00:07:35 -08:00
Stephen Birarda
339ef93fc4 remove no longer needed QDebug includes 2014-01-03 09:41:01 -08:00
Stephen Birarda
443c94a88f repairs to AudioMixer and audio injection flow 2014-01-02 17:15:46 -08:00