and touched VoEBaseImpl::NeedMorePlayData and AudioCodingModuleImpl::PlayoutData10Ms(), for
performance reasons in Android platforms.
The two functions used about 6% of VoE originally. After the change, the percentage reduced
to about 0.2%.
Review URL: https://webrtc-codereview.appspot.com/379001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1589 4adac7df-926f-26a2-2b94-8c16560cd09d
NetEQ now checks for too early CNG packets, and modifies the CNG
sample counter to jump forward in time if needed to combat clock
drift.
Adding a new unittest to reproduce and solve the issue. The
unittest LongCngWithClockDrift verifies that the buffer delay
before and after a long CNG period is almost constant. The test
introduces a clock drift of 25 ms/s.
BUG=http://code.google.com/p/webrtc/issues/detail?id=88
TEST=neteq_unittests NetEqDecodingTest.LongCngWithClockDrift
Review URL: https://webrtc-codereview.appspot.com/372002
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1547 4adac7df-926f-26a2-2b94-8c16560cd09d
As part of style this CL includes changing the input aggressiveness mode from int16_t to int. No other style changes made.
Impact on:
- Audio Processing: Changed return value on MapSetting().
- Function test in audio_conference_mixer already uses int. No action.
- NetEq: Function pointer changes and input parameter changes in SetVADMode() and SetVADModeInternal().
- Audio Coding: Uses enum ACMVADMode which is type independent.
- VAD: Two unit tests.
TESTS=vad_unittests, neteq_unittests, audioproc_unittest
Review URL: https://webrtc-codereview.appspot.com/373001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1544 4adac7df-926f-26a2-2b94-8c16560cd09d
Impact on NetEq function pointers. Other components already treat the output as int. These are:
* audio_processing
* funtion test in audio_conference_mixer
* audio_coding
TEST=vad_unittests, neteq_unittests
Review URL: https://webrtc-codereview.appspot.com/367003
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1503 4adac7df-926f-26a2-2b94-8c16560cd09d
Make the program look for the ptypes.txt file in the default trunk
path, if the path to the executable indicates that it sits in the
trunk/out/Debug folder.
Changing PT for CNG-WB to 98
Remove warnings when building NetEQ with NETEQ_DELAY_LOGGING
Review URL: https://webrtc-codereview.appspot.com/339003
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1497 4adac7df-926f-26a2-2b94-8c16560cd09d
10198: Out-of-bounds read in acm_isac.cc
10251: Unintended sign extension in acm_resampler.cc
10273: Uninitialized pointer field in acm_amr.cc
10274: Uninitialized pointer field in acm_amrwb.cc
10275: Uninitialized scalar field in acm_dtmf_detection.cc
10276: Uninitialized pointer field in acm_g722.cc
10277: Uninitialized pointer field in acm_g7221.cc
10278: Uninitialized pointer field in acm_g7221c.cc
10279: Uninitialized pointer field in acm_g729.cc
10280: Uninitialized pointer field in acm_g7291.cc
10281: Uninitialized pointer scalar in acm_generic_codec.cc
10282: Uninitialized pointer field in acm_gsmfr.cc
10283: Uninitialized scalar field in acm_isac.cc
10284: Uninitialized pointer field in acm_opus.cc
10285: Uninitialized scalar field in acm_resampler.cc
10286: Uninitialized pointer field in acm_speex.cc
10287: Uninitialized scalar field in audio_coding_module_impl.cc
10581: Unintended sign extension in audio_coding_module_impl.cc
Additional change: removed unused function and member from ACMResampler.
Review URL: https://webrtc-codereview.appspot.com/343016
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1471 4adac7df-926f-26a2-2b94-8c16560cd09d
For consistency and as part of style, the return value of WebRtcVad_Init() has been changed to int.
Impact:
1) audio_processing, audio_coding, a test in CNG, functionTest in audio_conference_mixer, a test in net_eq all used int values. Hence, unaffected.
2) Function pointers in net_eq changed.
3) The VADInit in neteq/dsp.c boiled down to typecast into int anyhow, which now is removed.
TEST=vad_unittests, neteq_unittests
Review URL: https://webrtc-codereview.appspot.com/355003
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1453 4adac7df-926f-26a2-2b94-8c16560cd09d
In addition to our naming guidelines, this will cause these files to get parsed by Sonar, and to make searching/grepping the source using file extensions easier in the future.
BUG=
TEST=Compiling on Linux.
Review URL: http://webrtc-codereview.appspot.com/348005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1405 4adac7df-926f-26a2-2b94-8c16560cd09d
I found some issues in building ARMv5 with ICM. This CL includes fixes,
and a design change which now will exclude any NEON libraries unless
the build is for dynamic detection or for Neon specifically.
Review URL: http://webrtc-codereview.appspot.com/330021
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1335 4adac7df-926f-26a2-2b94-8c16560cd09d
Removing platform limitations for NetEqDecodingTest:TestBitExactness
and NetEqDecodingTest:TestNetworkStatistics. New reference files
where provided in revision 6 of the resources, which allows us
to enable these tests.
BUG=
TEST=neteq_unittests linux32/64, win32/64, mac32
Review URL: http://webrtc-codereview.appspot.com/329027
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1332 4adac7df-926f-26a2-2b94-8c16560cd09d
Clock-drift (in parts-per-million) and peaky-jitter mode status.
Both metrics are propagated to the VoE API. Tests are added
in the NetEQ unittests, and to some extent in ACM unittests
and VoE tests.
Introducing a proper translation between structs NetworkStatistics
and ACMNetworkStatistics.
Note: The file neteq_network_stats.dat in resources must be updated
for the unittests to pass.
Review URL: http://webrtc-codereview.appspot.com/337005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1328 4adac7df-926f-26a2-2b94-8c16560cd09d
This test now runs and fails as a gtest should (previously it always
exited with 0 even if the tests failed).
The audio_coding_module_test target no longer uses exceptions in the generated project.
Output files are written to our global output folder, using
testsupport/fileutils.h.
BUG=
TEST=audio_coding_module_test on all platforms, in Debug+Release
Review URL: http://webrtc-codereview.appspot.com/334004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1266 4adac7df-926f-26a2-2b94-8c16560cd09d
Adding new statistics API to NetEQ, reporting the waiting time
for each frame. The output is raw waiting time for the frames
that have been decoded since the last statistics report (or
maximum 100 frames). The statistics are reset on each query.
Implemented functionality in ACM to query NetEQ for the raw
waiting times, and process it to produce max, average and
median.
Updating common_types.h and VoiceEngine tests to include the
new metrics.
Unit tests are also added for NetEQ and AcmNetEq.
Review URL: http://webrtc-codereview.appspot.com/328011
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1251 4adac7df-926f-26a2-2b94-8c16560cd09d
architecture with intrinsics and assembly code. The total iSAC codec speech improved
about 3~5%.
Notes
(1) The Neon version after this optimization is not bit-exact with the generic
C version. The out quality, however, is not worse as verified by test vectors ouput,
and undertandably in theory (32bit x 32bit in Neon is more accurate than the approximation
C code in the generic version).
(2) In Android, a isac neon library will be built. Along with some new function structures,
it is partly for preparation of introducing a run time detection of Neon architecture soon.
Review URL: http://webrtc-codereview.appspot.com/268016
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1192 4adac7df-926f-26a2-2b94-8c16560cd09d