Commit Graph

317 Commits

Author SHA1 Message Date
a28c697d93 - Get rid of 'using' from .h
- Add parenthesis to make order of evaluation clearer.

BUG=
R=minyue@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12659004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6304 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-02 15:22:33 +00:00
fe41a8f68d Adding thread annotations to parts of Audio Coding Module
Picking some low-hanging fruit. Add annotations for acm_crit_sect_ that
do not require lock changes. Also adding annotations for callbacks.

BUG=3401
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12579005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6299 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-02 11:45:26 +00:00
af48aaadf4 Disable AudioCodingModuleMtTest due to memcheck and tsan failures.
This is a new test; the failures are not due to a change in underlying code.

TBR=henrik.lundin
BUG=3426

Review URL: https://webrtc-codereview.appspot.com/19589005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6288 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-30 17:11:15 +00:00
288bd15db8 Multi-threaded test for Audio Coding Module
This CL adds a basic multi-threaded extention of the ACM unit test.
The test has three threads. One thread adds raw audio to the sender
side and encodes it. The next thread adds encoded RTP packets to the
receiver. The last thread pulls decoded audio out of the receiver.

R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15559004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6286 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-30 13:00:35 +00:00
a816180f93 Fixing a bug regarding VOE packet loss rate feedback to ACM
Phenomenon:

When packet loss rate was fed to a codec that does not implement packet loss adaptive encoding, VoE logs an error.

Reason:

The ACM function SetPacketLossRate(int rate) return -1 unnecessarily too often. It was intended for more severe errors like
1. codec is not ready
2. input rate is out of range

BUG=webrtc:3413
R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16599004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6283 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-30 09:28:07 +00:00
0aa3ee661c Better buffer size estimation in NetEq for redundant packets
TEST=passed_all_trybots
R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15579005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6260 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 07:48:01 +00:00
1b9df05c85 Revert 6257 "Rename neteq4 folder to neteq"
> Rename neteq4 folder to neteq
> 
> BUG=2996
> R=turaj@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/12569005

TBR=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13549004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6259 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 07:33:39 +00:00
a90f6d67f7 Rename neteq4 folder to neteq
BUG=2996
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12569005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6257 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 06:23:34 +00:00
74767401f2 Fix a bug preventing FilePlayer from playing encoded wav files
A bug in ACM2 prevented decoding and playout of wav files where the
audio data was encoded (i.e., not just linear PCM 16 bit data).

This CL fixes the issue, and adds a unit test for the FilePlayer.

BUG=3386
R=henrike@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/21499005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6248 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-26 13:37:45 +00:00
546961a9d3 Avoid reading uninitialized values (outside baundary) in DFT arithmatic decoder of iSAC-fix.
Arithmetic encoder does not right the last 2 or 3 bytes of |streamval| when terminating the bit-stream. Perhaps the last bytes makes no difference in decoding the stream. However, the decoder reads full |streamval| (int16_t) going out of boundary and reading uninitialized values. This avoids this problem. by inserting zero-bytes whenever decoder intends to read outside boundary.

BUG=1353,chrome373312,b/13468260
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16499005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6234 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-23 17:14:29 +00:00
aa5ea1c0f9 1. Make a clear distinction between codec internal FEC and RED, confusing mentioning of FEC in the old codes is replaced by RED
2. Add two new APIs to configure codec internal FEC

3. Add a test and listened to results. This is based modifying EncodeDecodeTest and deriving a new class from it.

New ACM gives good result.
Old ACM does not use NetEq 4, so FEC won't be decoded.

BUG=
R=tina.legrand@webrtc.org, turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/11759004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6233 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-23 15:16:51 +00:00
88fbb2d86b Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
Same as https://webrtc-codereview.appspot.com/19519004. The issue in
http://chromegw.corp.google.com/i/internal.chromium.webrtc.fyi/builders/Linux...
is solved by this change
http://src.chromium.org/viewvc/chrome/trunk/src/third_party/libjingle/libjing...
(tested locally).

BUG=3380
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17619005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6218 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 21:18:46 +00:00
2fa7f79094 Revert 6202 "Switch to using base/constructormagic.h and remove ..."
> Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
> 
> BUG=N/A
> R=andrew@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/19519004

TBR=henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14579007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6210 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 11:07:29 +00:00
48438c2c90 Enabling NetEq bit-exactness test for Win x64
A new reference file (neteq4_universal_ref_win_64.pcm) was generated and
uploaded.

Also removing the old hack to have different reference files
for different version of Visual Studio. The test is now only supporting
VS 2012 and later (_MSC_VER >= 1700). This makes the windows 32-bit
output identical to the generic reference file
(neteq4_universal_ref.pcm), so the specialized one
(neteq4_universal_ref_win_32.pcm) could have been removed. However,
since the resources sync mechanism does not include removing of old
files, a client could pick up the old reference and fail. Therefore,
this cl also updates neteq4_universal_ref_win_32.pcm to be identical to
neteq4_universal_ref.pcm.

BUG=1458
R=kjellander@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14569005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6204 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-20 16:07:43 +00:00
125ffd709d Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
BUG=N/A
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19519004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6202 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-20 15:20:44 +00:00
cb711f77d2 Add interface to propagate audio capture timestamp to the renderer.
BUG=3111
R=andrew@webrtc.org, turaj@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12239004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6189 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-19 17:39:11 +00:00
a3b5673879 common_audio/signal_processing: Removes macro WEBRTC_SPL_UMUL_RSFT16
This macro was only used on two lines in iSACfix and I replaced those with the operations the macro performed.

BUG=3348
TESTED=trybots, manual unittests
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14529004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6184 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-16 12:11:20 +00:00
1b21a57902 common_audio/signal_processing: Removed macro WEBRTC_SPL_SUB_SAT_W16
Macro was only mapping a function used in one place.

BUG=3348
TESTED=trybots, unittests
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17499004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6180 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-16 06:40:31 +00:00
b4e80e095f Re-enable almost all NetEqDecodingTests for Android
All but three tests in NetEqDecodingTest could be re-enabled without
any changes. Also making sure that the TestNetworkStatistics test exits
on first diff. (Otherwise, the log output gets flooded with error
messages.)

The tests that are still disabled are:
NetEqDecodingTest.TestBitExactness
NetEqDecodingTest.TestNetworkStatistics
NetEqDecodingTest.DecoderError

BUG=3343
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20489004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6168 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-15 07:14:00 +00:00
a36ad6929d Add webrtc field trials API.
From now on it is expected that code linking system_wrappers.gyp:system_wrappers
provides an implementation for field_trial API or links with the default one in
system_wrappers.gyp:field_trial_default.

Note: Since there is no use of webrtc::field_trial API inside webrtc this CL on
itself does not forces the clients to actually define it. It however lays the
API and updates the gyp rules to link with so that it is ready to use.

Tested: Introduced a use of field trial in system wrappers and make sure all
bots were building successfully.

BUG=crbug/367114
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14489004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6147 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 12:24:04 +00:00
2fa17015d1 Re-enable NetEqExternalDecoderTest for Android
The test runs without problems now.

BUG=3343
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16519005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6144 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 11:45:22 +00:00
bf93fb3176 Re-enable NetEQ DecoderDatabase test for Android
The test was failing because iLBC is not enabled on Android. Now, the
test is using PCM16B instead.

BUG=3343
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16519004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6143 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 10:42:03 +00:00
5c49c64de5 Remove all use of AudioFrame::energy_ from AudioCodingModule
Since r6117, the energy is always calculated in the mixer module,
regardless of the value that ACM sets for energy_.

This part of the the aftermath of issue 3255.

BUG=3255
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19459004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6140 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 09:06:52 +00:00
c3e8abda7c Deleting all NetEq3 files
NetEq3 is deprecated and replaced by NetEq4
(webrtc/modules/audio_coding/neteq4/).

BUG=2996
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14469007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6118 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-13 10:40:52 +00:00
3a5825909d Deleting all ACM1 files
ACM1 is deprecated and replaced by ACM2
(webrtc/modules/audio_coding/acm2/).

BUG=2996
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/18429005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6115 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-13 08:08:56 +00:00
b9863ce6ba One of the NetEq methods needs to be virtual.
BUG=
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20449004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6099 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-10 00:58:49 +00:00
17bf9a2c5e Modifying neteq.gyp
|codecs| list is introduced, which is used in both |neteq_dependencies| and AudiDecoder unittests dependencies. This way, AudioDecoder unittests depend only on |codecs| and not on the entire |neteq_dependencies|, which is unnecessary.

TEST=trybots
BUG=
R=andrew@webrtc.org, henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14459004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6094 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-09 18:04:50 +00:00
9bd49becc1 Fix a data race in ACM1 when audio is pulled.
BUG=chromium:348511
R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13389004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6026 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-29 20:27:45 +00:00
f2aafe4355 Added include of assert.h for files calling assert but missing the include.
BUG=N/A
R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19409005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6022 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-29 17:54:17 +00:00
97e67cb476 Fix iOS assembly compile error.
In the roll of
https://webrtc-codereview.appspot.com/13369007
the fix in transform_neon.S was incorrectly removed
assuming it was only affecting Android when rolling to
265795. This CL fixes the iOS build when rolled to
266514.

Error looks like:
[893/2157] CC obj/webrtc/modules/audio_coding/codecs/isac/main/source/iSAC.entropy_coding.o
FAILED: /Volumes/data/b/build/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang -MMD -MF obj/webrtc/modules/audio_coding/codecs/isac/fix/source/isac_neon.transform_neon.o.d -DV8_DEPRECATION_WARNINGS -DBLINK_SCALE_FILTERS_AT_RECORD_TIME -DDISABLE_NACL -DCHROMIUM_BUILD -DUSE_LIBJPEG_TURBO=1 -DENABLE_CONFIGURATION_POLICY -DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY -DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DENABLE_EGLIMAGE=1 -DCLD_VERSION=1 -DENABLE_SPELLCHECK=1 -DDISABLE_FTP_SUPPORT=1 -DWEBRTC_RESTRICT_LOGGING -DWEBRTC_MODULE_UTILITY_VIDEO -DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7 -DWEBRTC_ARCH_ARM_NEON -DWEBRTC_POSIX -DWEBRTC_MAC -DWEBRTC_IOS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DNS_BLOCK_ASSERTIONS=1 -D_FORTIFY_SOURCE=2 -I../.. -I../.. -I../../webrtc -I../../webrtc/common_audio/resampler/include -I../../webrtc/common_audio/signal_processing/include -I../../webrtc/common_audio/vad/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk -Os -gdwarf-2 -fvisibility=hidden -Werror -Wnewline-eof -miphoneos-version-min=6.0 -arch armv7 -Wall -Wendif-labels -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wheader-hygiene -Wno-c++11-narrowing -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-deprecated-register -Wno-absolute-value -Wno-selector-type-mismatch -std=c99 -fcolor-diagnostics  -c ../../webrtc/modules/audio_coding/codecs/isac/fix/source/transform_neon.S -o obj/webrtc/modules/audio_coding/codecs/isac/fix/source/isac_neon.transform_neon.o
../../webrtc/modules/audio_coding/codecs/isac/fix/source/transform_neon.S:45:11: error: immediate expression for mov requires :lower16: or :upper16
  mov r6, #(WebRtcIsacfix_kSinTab1 - WebRtcIsacfix_kCosTab1)
          ^
../../webrtc/modules/audio_coding/codecs/isac/fix/source/transform_neon.S:458:11: error: immediate expression for mov requires :lower16: or :upper16
  mov r2, #(WebRtcIsacfix_kSinTab1 - WebRtcIsacfix_kCosTab1)
in
http://build.chromium.org/p/client.webrtc/builders/iOS%20Release/builds/911/steps/compile/logs/stdio

TBR=ajm
TEST=ios trybots passing tryjob based on r6010.
BUG=

Review URL: https://webrtc-codereview.appspot.com/12439005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6012 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-29 10:25:30 +00:00
acf15dc90f Remove Version method from ACM1
BUG=2996
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19409004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6009 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-29 09:25:21 +00:00
70e53fa34d Remove ACM1 and NetEq3 related targets from modules.gyp
Make necessary changes to compile.

BUG=2996
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/18379004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6008 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-29 08:58:46 +00:00
fdf2053787 Remove AudioCodingModuleFactory
These were no longer used anywhere in the code.

BUG=2996
TBR=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/21379004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6007 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-29 08:22:14 +00:00
0bc9b5a5a7 Add clock to ACM config struct
The purpose is to clean up the ACM interface a bit. This is a
follow-up of a comment in http://review.webrtc.org/13379004/.

R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16389005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6006 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-29 08:09:31 +00:00
e772c71743 Introduce a config struct for AudioCoding module
The config struct currently contains the module ID, and the NetEq
config struct, but will be extended in the future. The purpose of this
change is to expose certain NetEq settings to the ACM interface.

BUG=3083
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13379004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5993 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 10:16:57 +00:00
12a34247a4 Fix the NetEq build
TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20379004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5990 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 08:36:35 +00:00
116ed1d4f0 Include buffer size limits in NetEq config struct
This change includes max_packets_in_buffer and max_delay_ms in the
NetEq config struct. The packet buffer is also no longer limited in
terms of payload sizes (bytes), only number of packets.

The old constants governing the packet buffer limits are deleted.

BUG=3083
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14389004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5989 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 08:20:04 +00:00
b08bbf57a6 Add henrik.lundin as owner in AudioCoding module
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12409004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5988 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 08:15:35 +00:00
8f69330310 Replace scoped_array<T> with scoped_ptr<T[]>.
scoped_array is deprecated. This was done using a Chromium clang tool:
http://src.chromium.org/viewvc/chrome/trunk/src/tools/clang/rewrite_scoped_ar...

except for the few not-built-on-Linux files which were updated manually.

TESTED=trybots
BUG=2515
R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12429004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5985 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-25 23:10:28 +00:00
439a4c49f9 Add an output capacity parameter to ACMResampler::Resample10Msec()
Also adding a unit tests to make sure that a desired output frequency
of 0 passed to AudioCodingModule::PlayoutData10Ms() is invalid.

R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14369005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5974 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 19:05:33 +00:00
d57b8149c2 Fix the Android compilation (better structure for NetEq test libs)
This change should make the Android targets compile again. The reason
for the failure was a highly dubious structure in the gypi files. With
this fix, the structure is somewhat cleaner. Still room for improvement.

BUG=3254
TBR=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15369004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5972 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 13:19:04 +00:00
0a2277448e Fixing a bug in ACM2 where the output frame energy was incorrectly set
The value of AudioFrame::energy_ must be set to -1 in order to have the
energy calculated later on in the AudioConferenceMixer module. This was
not the case in ACM2, where the value was set to 0 instead. This
resulted in bad audio for multi-party calls (5 or more participants).

Implemented a unit test to verify ACM output frame.

BUG=3255
TBR=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12369005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5969 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 08:11:39 +00:00
20c71fd1dc Fix a bug in AcmReceiver::NetworkStatistics
One of the variables were not copied between the structs.

BUG=2996
TBR=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12329004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5956 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-22 10:11:21 +00:00
0c1444c748 Create ACM2 instance when calling AudioCodingModule::Create
BUG=2996
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12079005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5952 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-22 08:18:42 +00:00
f5a33f145b Resampler modifications in preparation for arbitrary audioproc rates.
- Templatize PushResampler to support int16 and float.
- Add a helper method to PushSincResampler to compute the algorithmic
delay.

This is a prerequisite of:
http://review.webrtc.org/9919004/

BUG=2894
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12169004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5943 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-19 00:32:07 +00:00
a596a389ea Fix iSAC/48000 issue with ACM2.
Registeration of iSAC into NetEq is through injecting and external AudioDecoder. This is because iSAC encoder and decoder need to share instances for bandwidth estimator to work. When external decoder is registerred, the sampling rate of the decoder had to be specified. iSAC/48000 decoder has a native sampling rate of 32000 Hz, but it has been registered as 48000 Hz decoder.

This CL fixing this issue by letting NetEq to obtain sampling rate of an external coder according to its existing database.

BUG=3143
TEST=voe_cmd_test,modules_unittest,try-bots
R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12139004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5936 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-17 23:30:49 +00:00
adaf809612 Removing AudioCoding duplicate tests
Reverting to using one version of ACM in ACM tests.

BUG=2996
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12079004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5924 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-17 08:29:10 +00:00
7c6e3d188a Moved voe_neteq_stats_unittest to audio_coding_module_unittest
The design of VoeNetEqStatsTest in voice_engine_unittests depended on
being able to inject a factory for the audio coding module into
voice engine. This functionality is now likely going away, which would
make this test fail to compile. Further, the functionality under test
is mostly ACM functionality, wherefore it makes better sense to test it
at ACM level.

BUG=2996
R=henrika@webrtc.org, turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12029004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5912 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-15 17:59:25 +00:00
2c89b5cb27 Make everyone an OWNER for .gyp/.gypi add/delete purposes, non-talk/ edition.
This CL brought to you by:
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do echo -e "\n# These are for the common case of adding or renaming files. If you're doing\n# structural changes, please get a review from a reviewer in this file.\nper-file *.gyp=*\nper-file *.gypi=*" >> $d/OWNERS; done
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do git add $d/OWNERS; done

(and then removed the talk/ impact)

R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/11969004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5903 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 20:08:03 +00:00
35ead381f8 Adding a config struct to NetEq
With this change, the parameters sent to the NetEq::Create method are
collected in one NetEq::Config struct. The benefit is that it is easier
to set, change and override default values, and easier to expand with
more parameters in the future.

BUG=3083
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/11949004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5902 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 18:49:17 +00:00