Commit Graph

80 Commits

Author SHA1 Message Date
038cee2401 Add send-side bit-exactness test for AudioCoding Module
This test verifies bit exactness for the send-side of ACM. The test
setup is a chain of three different test classes:

test::AcmSendTest -> AcmSenderBitExactness -> test::AcmReceiveTest

The receiver side is driving the test by requesting new packets from
AcmSenderBitExactness::NextPacket(). This method, in turn, asks for the
packet from test::AcmSendTest::NextPacket, which inserts audio from the
input file until one packet is produced. (The input file loops
indefinitely.)  Before passing the packet to the receiver, the
AcmSenderBitExactness class verifies the packet header and updates a
payload checksum with the new payload. The decoded output from the
receiver is also verified with a (separate) checksum.

The current CL only adds tests for 30 ms and 60 ms iSAC. More codecs
will be added in coming changes.

BUG=3521
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6949 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-21 08:59:14 +00:00
e9b493e763 Removing macro in acm_opus.cc
Remove it since macros are not recommended to use according to code style guide.

BUG=
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6917 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-18 12:06:31 +00:00
e8018b0b24 Adding a 5% as packet loss level for Opus
This is a follow up of
https://webrtc-codereview.appspot.com/16979004/

The purpose of this CL is to add 5% as a level for optimizing the packet loss rate to report to Opus. Adding such a level makes the grid finer.

BUG=
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6902 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-14 12:16:12 +00:00
5af76aedcd Removing TODOs related to AcmReceiverBitExactness checksums
Should have been part of r6883.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6884 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-13 13:02:00 +00:00
388bd79a76 Update checksums for AcmReceiverBitExactness on android
This should have been a part of r6882.

BUG=3519
TBR=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6883 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-13 10:38:15 +00:00
023f12fb6e NetEq background noise generation off by default
This CL turns the background noise generation in NetEq off by default. The noise generation used to kick in during long-duration packet losses, when there was no point in extrapolating the latest audio any longer. However, this sometimes produces annoying noise in situations where silence would have been preferable.

With this change, a long packet-loss concealment will be faded out to zeros instead of a low noise.

Reference files are updated where needed.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6882 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-13 09:45:40 +00:00
6aac93bd9c Adding SetOpusMaxBandwidth in VoE and ACM
This is a step to solve
https://code.google.com/p/webrtc/issues/detail?id=1906

In particular, we add an API in VoE and ACM to call Opus's API of setting maximum bandwidth.

TEST = added a test in voe_cmd_test and listened to the result

BUG=
R=henrika@google.com, henrika@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6869 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-12 08:13:33 +00:00
1d956dd1a7 Since the packet loss rate cannot be estimated accurately, there is always a mismatch between the estimated packet loss rate and the true one. Such a mismatch will make Opus FEC suboptimal.
It is advisable to set the packet loss rate of FEC conservatively. Say, if the estimated loss rate is 5%, we can set it to 1%. The risk of degradation in quality is small and the overall performance is good.

BUG=
R=henrik.lundin@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6844 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-07 12:31:36 +00:00
ea25784107 Change how background noise mode in NetEq is set
This change prepares for switching default background noise (bgn) mode
from on to off. The actual switch will be done later.

In this change, the bgn mode is included as a setting in NetEq's config
struct. We're also removing the connection between playout modes and
bgn modes in ACM. In practice this means that bgn mode will change from
off to on for streaming mode, but since the playout modes are not used
it does not matter.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6843 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-07 12:27:37 +00:00
f563e85ab0 This is to re-open an earlier CL
https://webrtc-codereview.appspot.com/16619005/

which is reverted due to an issue in audio conference mixer.

This issue has been solved in
https://webrtc-codereview.appspot.com/20779004/

BUG=webrtc:3155
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6736 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 21:11:27 +00:00
eec6ecdb1e Landing pkasting's webrtc fixes for MSVC level 4 warnings in WebRTC.
---

Fixes for re-enabling more MSVC level 4 warnings: webrtc/ edition

This contains fixes for the following sorts of issues:
* Possibly-uninitialized local variable
* Signedness mismatch
* Assignment inside conditional

This also contains a small number of other cleanups to nearby code. In
particular several warning-disables for MSVC are removed because they don't seem
to be necessary (either that warning is not enabled or the code does not trigger
it).

BUG=crbug.com/81439
TEST=none
R=henrika@webrtc.org, pkasting@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6667 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 19:09:59 +00:00
c8e98187d1 Receiver bit-exactness test for AudioCoding Module
This CL introduces a bit-exactness test for the receive-side of the
AudioCoding Module. The main part of the test is done in the helper
class AcmReceiveTest. The test is executed from the test fixture
AcmReceiverBitExactness.

The test inserts packets from a pre-encoded RTP file. The output is
summed up into a checksum, which is verified versus a reference at the
end of the test. Alternatively, if the flag --generate_output is given,
the output is written to a file for subjective verification.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6549 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-26 19:07:04 +00:00
eecf5e6ba7 Removing neteq decode lock and friends
NetEq is thread-safe by virtue of it's own lock, and in r6404 the
ACMISAC class was made thread-safe. Therefore, the neteq decode lock
is no longer needed.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6531 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-24 13:11:22 +00:00
b338ca6557 Annotating the rest of AcmGenericCodec
A few locks had to be acquired to fully annotate the class, and a few
others had to be moved.
Removing an API method that was not used.

BUG=3401
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6526 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-24 05:51:34 +00:00
ceb5a1d724 Annotating the rest of AudioCodingModuleImpl
A few extra locks had to be acquired as a result of the annotation.

BUG=3401
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6524 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-23 19:52:27 +00:00
d42da54768 Revert 6458 "Since NetEq4 is ready to handle 48 kHz codec, it is..."
> Since NetEq4 is ready to handle 48 kHz codec, it is good to remove the 48-to-32kHz downsampling of Opus output. This facilitates webrtc to make full use of Opus's bandwidth and eliminates unneeded computation in resampling.
> 
> TEST=passed_all_trybots
> R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/16619005

TBR=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6462 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-17 09:50:12 +00:00
8f8503d947 Since NetEq4 is ready to handle 48 kHz codec, it is good to remove the 48-to-32kHz downsampling of Opus output. This facilitates webrtc to make full use of Opus's bandwidth and eliminates unneeded computation in resampling.
TEST=passed_all_trybots
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6458 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-17 08:02:05 +00:00
63e46077a3 Add thread annotations to parts of ACMGenericCodec
This change adds annotations to all member variables that could be
annotated without acquiring any new locks, or changing the lock
structure in any other way.

BUG=3041
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6441 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-16 08:02:25 +00:00
5b111b06fa Re-land "Create a joint encoder/decoder wrapper for iSAC in ACM"
The change was reverted since it was thought to cause a flaky test.
But the test kept flaking after the change was reverted.

This effectively reverts r6394, relanding r6377.

BUG=3496
TBR=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6404 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-11 14:37:21 +00:00
c726b1fc33 Revert r6377 "Create a joint encoder/decoder wrapper for iSAC in ACM"
BUG=3469
TBR=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6394 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-11 08:35:53 +00:00
620048172c Create a joint encoder/decoder wrapper for iSAC in ACM
This CL extends the ACMISAC wrapper class to inherit from AudioDecoder
as well (the type of object that NetEq uses). The class has it's own
lock protecting the iSAC instance. This way, we can remove the
neteq_decode_lock_ (a.k.a. decoder_lock_) in a later CL.

The old AcmAudioDecoderIsac class is deleted.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6377 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-09 18:39:00 +00:00
a90abdef62 Add thread annotations to AcmReceiver
This change adds thread annotations to AcmReceiver. These are the
annotations that could be added without changing acquiring the locks in
more locations, or changing the lock structure.

BUG=3401
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6376 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-09 18:35:11 +00:00
a1a2c0c190 Multi-threaded unit test for Audio Coding Module using iSAC
This test extends AudioCodingModuleTest and AudioCodingModuleMtTest
to using iSAC as codec.

R=kwiberg@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6369 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-09 09:37:17 +00:00
9c55f0f957 Rename neteq4 folder to neteq
Keep the old neteq4/audio_decoder_unittests.isolate while waiting for
a hard-coded reference to change.

This CL effectively reverts r6257 "Rename neteq4 folder to neteq".

BUG=2996
TBR=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6367 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-09 08:10:28 +00:00
9221ab420d Re-enable AudioCodingModuleMtTest again
Increase timeout and decrease test length.

BUG=3426
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6365 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-08 21:43:45 +00:00
94454b71ad Fix the chain that propagates the audio frame's rtp and ntp timestamp including:
* In AudioCodingModuleImpl::PlayoutData10Ms, don't reset the timestamp got from GetAudio.
* When there're more than one participant, set AudioFrame's RTP timestamp to 0.
* Copy ntp_time_ms_ in AudioFrame::CopyFrom method.
* In RemixAndResample, pass src frame's timestamp_ and ntp_time_ms_ to the dst frame.
* Fix how |elapsed_time_ms| is computed in channel.cc by adding GetPlayoutFrequency.

Tweaks on ntp_time_ms_:
* Init ntp_time_ms_ to -1 in AudioFrame ctor.
* When there're more than one participant, set AudioFrame's ntp_time_ms_ to an invalid value. I.e. we don't support ntp_time_ms_ in multiple participants case before the mixing is moved to chrome.

Added elapsed_time_ms to AudioFrame and pass it to chrome, where we don't have the information about the rtp timestmp's sample rate, i.e. can't convert rtp timestamp to ms.

BUG=3111
R=henrik.lundin@webrtc.org, turaj@webrtc.org, xians@webrtc.org
TBR=andrew
andrew to take another look on audio_conference_mixer_impl.cc

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6346 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 20:34:08 +00:00
65d61c3924 Opus send rate overflows if over 65 kbps
The member holding the send rate for Opus had too low resolution for rates above ~65 kbps.

I've added a test that checks if the average rate in a Opus test is in the right range. The test fails before my fix, and now passes.

BUG=3267
R=henrik.lundin@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6344 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 13:42:51 +00:00
ddc6bc9347 Revert 6312 "Re-enable AudioCodingModuleMtTest"
An example of botbreakage is http://chromegw.corp.google.com/i/client.webrtc/builders/Linux%20Memcheck/builds/1807

> Re-enable AudioCodingModuleMtTest
> 
> Increase timeout and decrease test length. Also fixing a bug in the
> test, and make sure the test aborts if fatal failure occurrs.
> 
> BUG=3426
> R=kwiberg@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/13579005

TBR=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6314 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-03 15:25:34 +00:00
8d13cd1956 Re-enable AudioCodingModuleMtTest
Increase timeout and decrease test length. Also fixing a bug in the
test, and make sure the test aborts if fatal failure occurrs.

BUG=3426
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6312 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-03 12:53:21 +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
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
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
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
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
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
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
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
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
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
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