aboutsummaryrefslogtreecommitdiff
path: root/webrtc/modules
AgeCommit message (Collapse)Author
2015-12-19Reland "Added option to specify a maximum file size when recording an AEC ↵ivoc
dump.", commit ae2c5ad12afc8cc29fe9c59dea432b697b871a87. The revert of the original CL was commit 36d4c545007129446e551c45c17b25377dce89a4. Original review: https://codereview.webrtc.org/1413483003/ The original CL changes a function on audio_processing.h that is used by Chrome, this CL adds back the old function. NOTRY=true TBR=glaznev@webrtc.org, henrik.lundin@webrtc.org, solenberg@google.com, henrikg@webrtc.org, perkj@webrtc.org BUG=webrtc:4741 Review URL: https://codereview.webrtc.org/1541633002 Cr-Commit-Position: refs/heads/master@{#11093}
2015-12-18Moving FFT on farend signal to where it is used in AEC (bit exact).minyue
Currently, FFT is performance when AEC buffers farend signal. This has some drawbacks 1. memory inefficiency: two ring buffers are needed; 2. computation inefficiency: if ringbuffer gets wrapped around, some FFT computation will be wasted; 3. accessibility: the main AEC function looses accessibility to the time-domain signal. Therefore, this CL tries to buffer time domain data, which is buffered any way if a debugging macro is defined, and calculate the FFTs where they are actually used. BUG= Review URL: https://codereview.webrtc.org/1512573003 Cr-Commit-Position: refs/heads/master@{#11091}
2015-12-18iSAC: Remove unnecessary WEBRTC_LINUX define.kjellander
I can only find one use in iSAC codebase: https://code.google.com/p/chromium/codesearch#chromium/src/third_party/webrtc/modules/audio_coding/test/iSACTest.cc&l=19 It's the prime suspect for causing a compilation error for iOS failing to include linux/net.h which is being included in webrtc/voice_engine/voice_engine_defines.h NOTRY=True Review URL: https://codereview.webrtc.org/1539883002 Cr-Commit-Position: refs/heads/master@{#11089}
2015-12-18Revert of Added option to specify a maximum file size when recording an AEC ↵ivoc
dump. (patchset #5 id:120001 of https://codereview.webrtc.org/1413483003/ ) Reason for revert: Breaks Chrome-FYI bots because of a change in the StartDebugRecording function in audio_processing.h, that is called from Chrome. Original issue's description: > Added option to specify a maximum file size when recording an AEC dump. > > For applications with a strict filesize limit for debug files, > I added an option to specify a maximum filesize for AEC dumps. An > existing unit test is extended to check that the feature works as > advertised. > > BUG=webrtc:4741 > TBR=glaznev@webrtc.org > > Committed: https://crrev.com/ae2c5ad12afc8cc29fe9c59dea432b697b871a87 > Cr-Commit-Position: refs/heads/master@{#11081} TBR=pthatcher@webrtc.org,henrik.lundin@webrtc.org,henrikg@webrtc.org,solenberg@webrtc.org,andrew@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org,glaznev@webrtc.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:4741 Review URL: https://codereview.webrtc.org/1533913004 Cr-Commit-Position: refs/heads/master@{#11087}
2015-12-18Expose codec implementation names in stats.Peter Boström
Used to distinguish between software/hardware encoders/decoders and other implementation differences. Useful for tracking quality regressions related to specific implementations. BUG=webrtc:4897 R=hta@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org Review URL: https://codereview.webrtc.org/1406903002 . Cr-Commit-Position: refs/heads/master@{#11084}
2015-12-18audio_device: Move sources into platform-conditions.kjellander
This should solve a problem discovered when converting from GYP to other project formats, where the source files weren't included correctly for each platform. Two other targets in WebRTC have similar source files, which are correctly generated for each platform: * video_render_module_internal_impl * video_capture_module_internal_impl They both list the sources as it's changed to in this CL. NOTRY=True Review URL: https://codereview.webrtc.org/1536923003 Cr-Commit-Position: refs/heads/master@{#11083}
2015-12-18Defines for ARM and MIPS CPU types.kjellander
This removes a dependency on Chromium's build/build_config.h (which is not allowed). The added defines are identical to the ones in build/build_config.h. NOTRY=True Review URL: https://codereview.webrtc.org/1532333002 Cr-Commit-Position: refs/heads/master@{#11082}
2015-12-18Added option to specify a maximum file size when recording an AEC dump.ivoc
For applications with a strict filesize limit for debug files, I added an option to specify a maximum filesize for AEC dumps. An existing unit test is extended to check that the feature works as advertised. BUG=webrtc:4741 TBR=glaznev@webrtc.org Review URL: https://codereview.webrtc.org/1413483003 Cr-Commit-Position: refs/heads/master@{#11081}
2015-12-17VP9: Set speed setting to 8 for ARM.Marco
At speed 8, vp9 on ARM is currently ~2x times slower than vp8 on ARM (speed -12). Update some parameters in videoprocessor_integrationtest.cc to make tests pass on android (which uses the new speed setting). TBR=stefan@webrtc.org BUG= Review URL: https://codereview.webrtc.org/1526973004 . Cr-Commit-Position: refs/heads/master@{#11072}
2015-12-17Adding trace events for the APM render and capture stream processing functions.peah
BUG=webrtc:5099 Review URL: https://codereview.webrtc.org/1536613002 Cr-Commit-Position: refs/heads/master@{#11069}
2015-12-17Add tracing to NetEqImpl::InsertPackethenrik.lundin
BUG=webrtc:5167 R=pbos@webrtc.org Review URL: https://codereview.webrtc.org/1525423004 Cr-Commit-Position: refs/heads/master@{#11065}
2015-12-17Don't call the Pass methods of rtc::Buffer, rtc::scoped_ptr, and ↵kwiberg
rtc::ScopedVector We can now use std::move instead! This CL leaves the Pass methods in place; a follow-up CL will add deprecation annotations to them. Review URL: https://codereview.webrtc.org/1460043002 Cr-Commit-Position: refs/heads/master@{#11064}
2015-12-17Cleanup use of "do { ... } while (0)".torbjorng
BUG= Review URL: https://codereview.webrtc.org/1530003004 Cr-Commit-Position: refs/heads/master@{#11061}
2015-12-16Disable warnings failing when using Clang on Windows.kjellander
This makes it possible to build WebRTC using Clang on Windows. Depends on https://codereview.webrtc.org/1524703006/ BUG=webrtc:5360, webrtc:5366 NOTRY=True Review URL: https://codereview.webrtc.org/1522223002 Cr-Commit-Position: refs/heads/master@{#11058}
2015-12-16OWNERS: Add * to .gyp{i,} everywhere.kjellander@webrtc.org
Also convert DOS->Unix line endings in two of the OWNERS files. NOTRY=True NOPRESUBMIT=True R=niklas.enbom@webrtc.org Review URL: https://codereview.webrtc.org/1530003003 . Cr-Commit-Position: refs/heads/master@{#11056}
2015-12-16Further refactored the echo suppressor code:peah
-Extended the InverseFft function to be more generally applicable. -Included the previous external extra scaling into the preexisting InverseFft call. -Moved the updating of aec->delayEstCtr to where it is actually used. -Refactored the output production and comfort noise addition using the InverseFft function. -Removed the if-statements checking the value of the constant flagHbandCn as any value different from 1 would crash the program. Also removed the constant The changes have been tested for bitexactness. BUG=webrtc:5201 Review URL: https://codereview.webrtc.org/1492343002 Cr-Commit-Position: refs/heads/master@{#11054}
2015-12-16Don't account for audio in the pacer budget.Stefan Holmer
We should only account for audio packets in the pacer budget if we also are allocating bandwidth for the audio streams. BUG=chromium:567659,webrtc:5263 R=mflodman@webrtc.org Review URL: https://codereview.webrtc.org/1524763002 . Cr-Commit-Position: refs/heads/master@{#11053}
2015-12-16Update NetEq network statistics in neteq_unittest.minyue
NetEqNetworkStatistics has been updated some time ago. A bit exactness test in neteq unittests is still using the old NetEqNetworkStatistics. New neteq4_network_stats.dat generated by running TestBitExactness with flag "genref" BUG= Review URL: https://codereview.webrtc.org/1522103002 Cr-Commit-Position: refs/heads/master@{#11052}
2015-12-16AudioCodingModuleImpl: Stop failing artificially for non-Opus encoderskwiberg
All encoders already handle the "Opus-specific" requests sanely (by failing nicely), so we don't need extra checks to protect them. BUG=webrtc:5028 Review URL: https://codereview.webrtc.org/1527453005 Cr-Commit-Position: refs/heads/master@{#11051}
2015-12-16Retyped the frequency estimate of the comfort noise for the higher band to ↵peah
harmonize the AEC code. -Changed the type for the frequency estimate of the comfort noise for the higher band to be a two dimensional float array instead of a complex_t array. This makes sense since all the other frequency estimate (apart from the coherence) use this format and doing this change allows bundling the IFFT operations into using the InverseFFT method. -Moved the memset of the frequency estimate of the comfort noise to where it is used and made it conditional so that it is only performed when used. -Harmonized the if-statements for when the frequency estimate of the comfort noise is computed in the different optimized ComfortNoise computation methods. The changes have been tested for bitexactness. BUG=webrtc:5201 Review URL: https://codereview.webrtc.org/1494133002 Cr-Commit-Position: refs/heads/master@{#11050}
2015-12-16Move Rent-A-Codec out of CodecManagerkwiberg
So that the two of them sit next to each other at the top level of AudioCodingModuleImpl. CodecManager now manages the specifications for Rent-A-Codec, rather than managing encoders directly. BUG=webrtc:5028 Review URL: https://codereview.webrtc.org/1520283006 Cr-Commit-Position: refs/heads/master@{#11048}
2015-12-16Make VoiceDetection not a ProcessingComponent (bit exact).solenberg
BUG=webrtc:5354 Review URL: https://codereview.webrtc.org/1494593004 Cr-Commit-Position: refs/heads/master@{#11047}
2015-12-16Bugfix that fixes the error where the audio processing module is calledpeah
using the wrong sample rate for the render signal. The CL is basically a partial revert of the related changes done on output_mixer.cc in the CL https://codereview.webrtc.org/1234463003. The CL also reverts the removal of the input_sample_rate_hz() method that was removed as part of the CL https://codereview.webrtc.org/1379123002 (as it was at that point no longer used). It should be noted that this CL turns off the effect of the IntelligibilityEnhancer when the AudioFrame AudioProcessing APIs are used. While it may be possible to solve that by adding upsampling after the API call, that approach was discarded due to that: -That would add extra processing in the echo path, leading to possible AEC performance reduction. -That would add extra complexity for the mobile case. -That would only patch the intelligibility enhancer operation as the proper way to do such an operation is within APM. -The intelligibility enhancer is not active by default anywhere. BUG=webrtc:5237 Review URL: https://codereview.webrtc.org/1525173002 Cr-Commit-Position: refs/heads/master@{#11045}
2015-12-16rtcp::Dlrr block moved into own file and got Parse functiondanilchap
BUG=webrtc:5260 Review URL: https://codereview.webrtc.org/1453973005 Cr-Commit-Position: refs/heads/master@{#11044}
2015-12-16Fix NoiseSuppression initialization behavior. This was changed when removing ↵solenberg
the ProcessingComponent inheritance in https://codereview.webrtc.org/1507683006/. BUG=webrtc:5298 Review URL: https://codereview.webrtc.org/1523323002 Cr-Commit-Position: refs/heads/master@{#11043}
2015-12-16Fix HPF initialization behavior. This was changed when removing the ↵solenberg
ProcessingComponent inheritance in https://codereview.webrtc.org/1490333004/. BUG=webrtc:5298 Review URL: https://codereview.webrtc.org/1525983003 Cr-Commit-Position: refs/heads/master@{#11038}
2015-12-15Add speech encoder to the encoder stack specification structkwiberg
BUG=webrtc:5028 Review URL: https://codereview.webrtc.org/1527933002 Cr-Commit-Position: refs/heads/master@{#11037}
2015-12-15Fix incorrect commentkwiberg
Review URL: https://codereview.webrtc.org/1524663004 Cr-Commit-Position: refs/heads/master@{#11036}
2015-12-15Make LevelEstimation not a ProcessingComponent.solenberg
BUG=webrtc:5355 Review URL: https://codereview.webrtc.org/1523483002 Cr-Commit-Position: refs/heads/master@{#11033}
2015-12-15rtcp::VoipMetric block moved into own file and got Parse functiondanilchap
Review URL: https://codereview.webrtc.org/1452733002 Cr-Commit-Position: refs/heads/master@{#11030}
2015-12-15[rtp_rtcp] fixed lint errors in rtp_rtcp module that are not fixed in other CLsdanilchap
BUG=webrtc:5277 R=mflodman Review URL: https://codereview.webrtc.org/1513303003 Cr-Commit-Position: refs/heads/master@{#11025}
2015-12-15[rtp_rtcp] SSRCDatabase class cleaned (including all lint errors)danilchap
BUG=webrtc:5277 R=mflodman Review URL: https://codereview.webrtc.org/1507313005 Cr-Commit-Position: refs/heads/master@{#11023}
2015-12-15Simple CL to fix lint errors in webrtc/modules/remote_bitrate_estimator. ↵terelius
Added the lint check for the folder to the presubmit script. BUG=webrtc:5310 Review URL: https://codereview.webrtc.org/1520513003 Cr-Commit-Position: refs/heads/master@{#11021}
2015-12-15[rtp_rtcp] lint errors about rand() usage fixed.danilchap
rand() usage replaced with new Random class, which also makes it clearer what interval random number is in. BUG=webrtc:5277 R=mflodman Review URL: https://codereview.webrtc.org/1519503002 Cr-Commit-Position: refs/heads/master@{#11019}
2015-12-14Remove unused and rarely used LOG_ macros.solenberg
BUG= Review URL: https://codereview.webrtc.org/1522053002 Cr-Commit-Position: refs/heads/master@{#11014}
2015-12-14[rtp_rtcp] Lint errors cleared from rtp_rtcp/testdanilchap
except rand() function that is subject of CL#1519503002 and namespace that is fixed in CL#1506823002 BUG=webrtc:5277 R=mflodman Review URL: https://codereview.webrtc.org/1511413005 Cr-Commit-Position: refs/heads/master@{#11012}
2015-12-14rtp_rtcp/test/BWEStandAlone deleted as obsoletedanilchap
BUG=webrtc:5277 R=stefan@webrtc.org Review URL: https://codereview.webrtc.org/1525573002 Cr-Commit-Position: refs/heads/master@{#11008}
2015-12-11Add FEC producer fuzzing and a unittest for one of the issues found.Stefan Holmer
BUG=webrtc:4800 R=pbos@webrtc.org Review URL: https://codereview.webrtc.org/1522463002 . Cr-Commit-Position: refs/heads/master@{#10990}
2015-12-11Special-case android-arm64 in codec bitexactness testskwiberg
We already had a special case for android, but it only worked for arm32. BUG=webrtc:4198, webrtc:4199 Review URL: https://codereview.webrtc.org/1512833003 Cr-Commit-Position: refs/heads/master@{#10989}
2015-12-11Adding Opus to RTPencode.minyue
As a step toward fixing webrtc:3987, here we update the RTPencode to allow Opus RTP payloads. BUG=webrtc:3987, webrtc:2692 Review URL: https://codereview.webrtc.org/1516653003 Cr-Commit-Position: refs/heads/master@{#10987}
2015-12-10in rtp_rtcp module:danilchap
fixed build/namespaces lint errors fixed readability/namespace lint errors BUG=webrtc:5277 R=mflodman,stefan@webrtc.org Review URL: https://codereview.webrtc.org/1506823002 Cr-Commit-Position: refs/heads/master@{#10978}
2015-12-10clang/win: Fix -Wextra warnings in webrtc.thakis
Fixes one sign mismatch warning, and one "const has no effect and is ignored" warning. BUG=chromium:567877 Review URL: https://codereview.webrtc.org/1510233002 Cr-Commit-Position: refs/heads/master@{#10976}
2015-12-10modules/rtp_rtcp/include folder cleared of lint warningsdanilchap
Functions that do not follow lint are marked deprecated, including function in the interface. BUG=webrtc:5308 R=mflodman@webrtc.org Review URL: https://codereview.webrtc.org/1493403003 Cr-Commit-Position: refs/heads/master@{#10975}
2015-12-10Add VideoCodec::PreferDecodeLateperkj
The purpose is so that a decoder (Android) that only have a limited number of output buffers can make sure that decoding is done just before the frame is needed. Removed unused iSupportsRenderTiming and the settings structs since it was not used. Added VCMReceiver::FrameForDecoding unit test for the case when PreferDecodeLate is set. Note that this does not change the current behaviour. We actually currently always decode frames late. This cl is to make sure the behaviour is kept for Android, if the default behaviour is changed. Review URL: https://codereview.webrtc.org/1428293003 Cr-Commit-Position: refs/heads/master@{#10974}
2015-12-10Reduce the runtime of some ACM tests in modules_testsHenrik Lundin
By reducing the length of the audio input, the total runtime of $ out/Debug/modules_tests --gtest_filter=AudioCodingModuleTest.* is reduced by more than 10x, when run single-threaded. The PCMFile helper class is extended with a FastForward method (to skip initial silence in the test files) and a limiter on how much to read. BUG=webrtc:2463 R=ivoc@webrtc.org Review URL: https://codereview.webrtc.org/1513223002 . Cr-Commit-Position: refs/heads/master@{#10973}
2015-12-10lint build/include errors fixed in rtp_rtcp moduledanilchap
BUG=webrtc:5277 R=mflodman Review URL: https://codereview.webrtc.org/1505993003 Cr-Commit-Position: refs/heads/master@{#10971}
2015-12-10Typo fix: Enable a bunch of tests that were accidentally disabledkwiberg
They were meant to be run if we have either iSAC float or fix, but the typo made them run for just float. BUG=webrtc:4198, webrtc:4199 Review URL: https://codereview.webrtc.org/1513483005 Cr-Commit-Position: refs/heads/master@{#10969}
2015-12-10lint whitespace warning removed from most rtp_rtcp/source/ filesdanilchap
rtcp_utility, rtp_utility, tmmbr_help, rtcp_receiver, rtcp_receiver_help are explicetly excluded from the cleanup becaues there are short plans (or cls) to do a deeper cleaning there. BUG=webrtc:5277 R=pbos@webrtc.org, mflodman@webrtc.org Review URL: https://codereview.webrtc.org/1512493002 Cr-Commit-Position: refs/heads/master@{#10966}
2015-12-10Rewrote the PRNG using an xorshift* algorithm and moved the files from test/ ↵terelius
to base/. Created a simple unit test for the new random number generator. (It mostly tests that the generated numbers are consistent with the intended distribution, e.g. uniform. It is not a comprehensive test of the quality of the random numbers.) Several assertions in OveruseDetectorTest seem to depend on the exact sequence of random numbers. I updated those numbers to work with the new PRNG. Compute the standard deviation of the expected result in TestReorderFilter instead of passing an uncertainty parameter. BUG=webrtc:5177 Review URL: https://codereview.webrtc.org/1457023002 Cr-Commit-Position: refs/heads/master@{#10965}
2015-12-10Prevent RTCP SR to be sent with bogus timestamp.mflodman
This CL makes sure no RTCP SR is sent before there is a valid timestamp to set in the SR, based on the first sent media packet. BUG=webrtc:1600 R=stefan@webrtc.org Review URL: https://codereview.webrtc.org/1506103006 . Cr-Commit-Position: refs/heads/master@{#10964}