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
wangyix
2c6b2000b2
forgot arg in AudioRingBuffer constructor in PositionalAudioRingBUffer
...
changed _currentJitterBufferFrames to be -1 to indicate starved.
2014-07-03 11:34:16 -07:00
wangyix
507518f16d
removed numFramesCapacity from being exposed everywhere
2014-07-03 11:11:56 -07:00
Atlante45
106e5b578b
Merge branch 'master' of https://github.com/highfidelity/hifi into replace_qnetworkaccessmanager
2014-07-02 16:06:41 -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
Atlante45
6e02561d96
Merge branch 'master' of https://github.com/highfidelity/hifi into replace_qnetworkaccessmanager
2014-07-02 14:08:57 -07:00
Atlante45
598c1cb516
Switched Sound to NetworkAccessManager
2014-07-02 11:27:55 -07:00
Andrew Meadows
ec80ccdb9c
remove warning about signed/unsigned comparison
2014-07-02 10:49:05 -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
ab503583dd
switched order of args in PositionalAudioRingBuffer
2014-07-01 17:33:38 -07:00
wangyix
a5943e3608
made AudioRingBuffer frames capacity variable
2014-07-01 16:24:31 -07:00
wangyix
1b0ce510f6
fixed a typo, tidied up more minor details
2014-06-30 15:33:31 -07:00
wangyix
6b6dccda2f
_resetCount to _overflowCount in AudioRingBuffer
2014-06-30 14:21:38 -07:00
wangyix
c789f3c6b9
merge with upstream
2014-06-30 14:13:34 -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
f13bbdfae6
Compile fix for non-standard Qt5 install.
...
When Qt5 5.2.1 is compiled from source, configured with
-developer-build, and used without being installed;
then compiling interface results in the following compile error:
libraries/shared/src/RegisteredMetaTypes.h:17:34: fatal error: QtScript/QScriptEngine: No such file or directory
This commit fixes this by explicitely adding the include
directory for QtScript/QScriptEngine to libraries/shared/CMakeLists.txt
Likewise we get the compile error:
In file included from /opt/highfidelity/hifi/hifi/animation-server/../libraries/voxels/src/VoxelEditPacketSender.h:18:0,
from /opt/highfidelity/hifi/hifi/animation-server/src/AnimationServer.cpp:26:
/opt/highfidelity/hifi/hifi/animation-server/../libraries/voxels/src/VoxelDetail.h:15:34:
fatal error: QtScript/QScriptEngine: No such file or directory
which is fixed by added the include directory for QtScript/QScriptEngine
to animation-server/CMakeLists.txt
Finally, compile errors like
In file included from /opt/highfidelity/hifi/hifi/libraries/audio/src/AudioInjectorOptions.h:20:0,
from /opt/highfidelity/hifi/hifi/libraries/audio/src/AudioInjector.h:21,
from /opt/highfidelity/hifi/hifi/libraries/audio/src/AudioInjector.cpp:22:
/opt/highfidelity/hifi/hifi/assignment-client/../libraries/shared/src/RegisteredMetaTypes.h:17:34: fatal error: QtScript/QScriptEngine: No such file or directory
that requires to do the same in libraries/audio/CMakeLists.txt
2014-06-30 02:06:44 +02:00
wangyix
c3f571745c
removed more debug stuff
2014-06-27 17:42:22 -07:00
Aleric Inglewood
1bc2f214a5
Compiler warning fixes.
...
This fixes all warnings that I got while compiling with g++ 4.7.2:
In file included from interface/src/Application.h:53:0,
from interface/src/Menu.cpp:36:
interface/src/Menu.h: In constructor ‘Menu::Menu()’:
interface/src/Menu.h:292:13: warning: ‘Menu::_scriptsLocation’ will be initialized after [-Wreorder]
interface/src/Menu.h:289:27: warning: ‘QPointer<LoginDialog> Menu::_loginDialog’ [-Wreorder]
interface/src/Menu.cpp:82:1: warning: when initialized here [-Wreorder]
libraries/audio/src/AudioRingBuffer.cpp: In member function ‘qint64 AudioRingBuffer::writeData(const char*, qint64)’:
libraries/audio/src/AudioRingBuffer.cpp:126:75: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
libraries/audio/src/PositionalAudioRingBuffer.cpp: In member function ‘bool PositionalAudioRingBuffer::shouldBeAddedToMix()’:
libraries/audio/src/PositionalAudioRingBuffer.cpp:212:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
interface/ui/preferencesDialog.ui: Warning: The name 'horizontalLayout_11' (QHBoxLayout) is already in use, defaulting to 'horizontalLayout_111'.
interface/ui/preferencesDialog.ui: Warning: The name 'horizontalSpacer_11' (QSpacerItem) is already in use, defaulting to 'horizontalSpacer_111'.
interface/src/avatar/Avatar.cpp: In member function ‘void Avatar::initializeHair()’:
interface/src/avatar/Avatar.cpp:587:21: warning: name lookup of ‘link’ changed [enabled by default]
interface/src/avatar/Avatar.cpp:574:18: warning: matches this ‘link’ under ISO standard rules [enabled by default]
interface/src/avatar/Avatar.cpp:577:22: warning: matches this ‘link’ under old rules [enabled by default]
interface/src/ui/ApplicationOverlay.cpp: In member function ‘void ApplicationOverlay::renderControllerPointers()’:
interface/src/ui/ApplicationOverlay.cpp:379:59: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
In file included from interface/src/ui/RunningScriptsWidget.cpp:14:0:
interface/src/ui/RunningScriptsWidget.h: In constructor ‘RunningScriptsWidget::RunningScriptsWidget(QWidget*)’:
interface/src/ui/RunningScriptsWidget.h:61:18: warning: ‘RunningScriptsWidget::_scriptsModel’ will be initialized after [-Wreorder]
interface/src/ui/RunningScriptsWidget.h:60:27: warning: ‘QSortFilterProxyModel RunningScriptsWidget::_proxyModel’ [-Wreorder]
interface/src/ui/RunningScriptsWidget.cpp:27:1: warning: when initialized here [-Wreorder]
2014-06-27 22:18:38 +02: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
c5474f95bd
forgot to skip seq number in InjectedAudioRingBuffer::parseData()
2014-06-26 16:55:29 -07:00
wangyix
cb48825561
added seq number to all Audio types, untested
2014-06-26 16:52:23 -07:00
wangyix
97139b0bd0
Merge branch 'master' into seqNumberStats
2014-06-26 11:47:00 -07:00
wangyix
7f23a7fbde
switched AudioRingBuffer to use _isFull flag instead
2014-06-26 11:26:10 -07:00
wangyix
ad8fe38a59
removed extra sample in AudioRingBuffer for testing
2014-06-26 09:27:06 -07:00
wangyix
37ce693153
added seqnum stats to AudioMixerClientData; added seqnums to Audio.cpp
2014-06-25 18:01:34 -07:00
wangyix
9b8f8dbf70
removed more more unnecessary changes
2014-06-25 12:05:59 -07:00
wangyix
dd1c157f3a
reverted updateDesiredJitterBufferFrames to what Brad wrote
2014-06-25 11:42:03 -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
Andrew Meadows
d3d8e4dc2d
fix warnings about signed/unsigned comparisons
2014-06-25 09:07:10 -07:00
wangyix
d098edcdf0
Merge remote-tracking branch 'upstream/master'
2014-06-24 17:39:13 -07:00
ZappoMan
bc5f563f5c
and change ring buffer size
2014-06-24 17:25:45 -07:00
wangyix
52f00769d4
merged with upstream
2014-06-24 17:22:30 -07:00
wangyix
e1d28dfe73
removed debug code
2014-06-24 17:14:20 -07:00
wangyix
5fd1d0a87c
added AudioRingBuffer unit test
...
fixed bug with _endOfLastWrite not rolling over in addSilentFrame
2014-06-24 16:51:51 -07:00
wangyix
8e2bb130f7
added extra sample in AudioRingBuffer...
...
changed buffer overflow behavior to overwrite old data in writeData;
added overflow behavior to drop silent samples in addSilentFrame
2014-06-24 12:18:40 -07:00
ZappoMan
cdbda02765
make default ring buffer much larger
2014-06-24 12:09:58 -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
254946be9e
removed duplicate method from merge
2014-06-24 09:27:41 -07:00
wangyix
53e3f5a3b0
merged with upstream
2014-06-24 09:13:05 -07:00
ZappoMan
fda60cc8d5
remove resizing of jitter buffers for now, only ask for 1 frame
2014-06-23 18:45:24 -07:00
ZappoMan
355ab2cb95
max desired must be one less than the max frames in our ringbuffer
2014-06-23 17:58:55 -07:00
wangyix
a4f5ce2215
added stats for audiomixer jitter buffers lengths in Application
2014-06-23 17:48:57 -07:00
ZappoMan
77f262561c
typo
2014-06-23 16:47:10 -07:00
ZappoMan
8a633743b3
ignore the numSilentSamples from client, always assume one frame
2014-06-23 16:40:38 -07:00
ZappoMan
b2c982976e
break up audio mixer stats across multiple packets
2014-06-23 15:46:58 -07:00
ZappoMan
076bc11545
added server side audio mixer jitter stats
2014-06-23 15:19:13 -07:00
wangyix
fbdca59d37
fixed spacing issue
2014-06-23 11:56:14 -07:00
wangyix
ffc20b8876
changed InterframeTimeGapHistory to InterframeTimeGapStats
2014-06-23 11:22:04 -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
6b72b161d3
fixed typo with frames/samples confusion.
2014-06-20 17:52:46 -07:00
wangyix
124fba35db
fixed minor comment typo
2014-06-20 17:39:05 -07:00
wangyix
cb6681f6f8
completed code for dynamicly resizing jitter buffer
2014-06-20 17:13:42 -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
wangyix
77c377711a
removed debug code
2014-06-19 15:39:54 -07:00
wangyix
8176aa1292
added debug code for testing time gap history
2014-06-19 14:54:22 -07:00
wangyix
aa3602f0fb
added InterframeTimeGapHistory and frameReceived() calls
2014-06-19 14:35:02 -07:00
Stephen Birarda
db1031144b
fix passing of unattenuated zones to buffers
2014-06-18 13:46:03 -07:00
Oren Hurvitz
98b4d6f697
Allow the project to compile using Visual Studio 2013
2014-06-18 10:27:57 +03:00
Andrew Meadows
3f36325642
remove warnings about signed/unsigned comparison
2014-06-17 11:59:37 -07:00
Stephen Birarda
ee71d34f02
add a crash guard around negative silent samples
2014-06-09 14:03:47 -07:00
Stephen Birarda
6fdc5df47b
bump silent audio frame version
2014-06-06 11:50:36 -07:00
Stephen Birarda
a7a9656ac7
add a mixer crash guard in addSilentFrame
2014-06-06 11:47:34 -07:00
Stephen Birarda
ae2f6a3cb6
complete piping of stereo audio through mixer
2014-06-06 10:55:04 -07:00
Stephen Birarda
7da091d2b4
initial hooks for stereo audio
2014-06-06 10:15:09 -07:00
David Rowe
bd4d167684
Make JavaScript audio samples able to be looped
...
Add a "loop" property to AudioInjectorOptions and provide an example JavaScript file.
2014-05-29 14:13:02 -07:00
Ryan Huffman
aa47043d57
Fix WAV file support
...
The previous implementation assumed the file only contained RIFF, WAVE,
fmt, and data chunks. It is valid for other chunks to appear, so I
updated it to skip any chunks until it finds the "data" chunk.
2014-05-27 11:24:48 -07:00
Stephen Birarda
a9c2e3fe71
put back ssize_t definition
2014-05-20 11:56:06 -07:00
Stephen Birarda
0e7615391c
don't look for GnuTLS from cmake
2014-05-20 10:35:04 -07:00
Stephen Birarda
304e30e9d8
Merge pull request #2818 from birarda/stop-sound
...
make sure shouldStop for injector defaults to false
2014-05-08 11:12:47 -07:00
Stephen Birarda
a8a53e35dd
make sure shouldStop for injector defaults to false
2014-05-08 11:12:16 -07:00
Philip Rosedale
6762d4d63c
Merge pull request #2816 from birarda/stop-sound
...
add interface to Audio to stop injector and see if playing
2014-05-07 20:59:58 -07:00
Stephen Birarda
f78c81e073
add interface to Audio to stop injector and see if playing
2014-05-07 17:48:01 -07:00
Philip Rosedale
c6fa903d6f
Merge pull request #2813 from birarda/stop-sound
...
return an injector from playSound and allow call to stop it
2014-05-07 16:59:00 -07:00
Stephen Birarda
99ee6ae8af
return an injector from playSound and allow user to stop it
2014-05-07 16:26:32 -07:00
Stephen Birarda
5e9036b3fe
tweak audio constants to be less agressive on cutoff
2014-05-07 15:37:41 -07: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
Stephen Birarda
72fe9b94b1
fix property in sound
2014-04-18 14:48:26 -07:00
Stephen Birarda
c1e54d370c
change Sound property to hasDownloaded
2014-04-18 14:46:56 -07:00
Stephen Birarda
92f2794ea8
add a property to Sound to tell if empty
2014-04-18 14:26:56 -07:00
Stephen Birarda
aa5d7aa0b1
fix incorrectly named slot in Sound
2014-04-18 13:58:33 -07:00
Stephen Birarda
3b8cf8c172
fix mixed signal and slot
2014-04-18 13:55:22 -07:00
Stephen Birarda
6ef4e145c5
add better Sound error handling
2014-04-18 13:51:58 -07:00
Atlante45
d34e6ff864
Removed gettimeofday in AudioInjector
2014-04-16 12:01:41 -07:00
ZappoMan
bdf39186de
Merge branch 'master' of https://github.com/worklist/hifi into moonshot
2014-04-15 21:04:15 -07:00
ZappoMan
579710e4bd
some cleanup
2014-04-15 13:36:20 -07:00