Commit Graph

358 Commits

Author SHA1 Message Date
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
6568e97d10 This is to compare NetEq with various codecs under a shared packet loss pattern.
TEST=passed_all_trybots
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6536 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-25 12:17:41 +00:00
1ed1af9b31 Remove payload duplication in AudioDecoderTest
This hack was made to come around issue 845. Now that is solved, and
the test code can be cleaned up.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6534 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-25 07:59:40 +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
1227ab89a7 GN: Add BUILD.gn files + kjellander to OWNERS
This should work as a foundation for all the work that is
left to do to make the parts of WebRTC that Chromium uses
to build with GN.

I implemented some the smaller modules myself in this CL.
The remaining work (TODO's in the .gn files) will be distributed
to various team members.

I'm adding myself to OWNERS files for BUILD.gn files in all the
directories where I'm adding a BUILD.gn file.

BUG=3441
TEST=
Successful compilation of WebRTC as standalone:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_clang=true clang_use_chrome_plugins=false" && ninja -C out/Default

I built successfully from a Chromium checkout (with
https://codereview.chromium.org/321313006/ applied) using:
gn gen out/Default && ninja -C out/Default webrtc

R=brettw@chromium.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6523 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-23 19:21:07 +00:00
27ab19d9b4 Roll chromium_revision 272489:277350 + fix sanitizer options
Rolling to this new Chromium revision required us to introduce
a sanitizer_options similar to the one in Chromium's base
(see https://code.google.com/p/chromium/codesearch#chromium/src/base/base.gyp&l=977
and https://codereview.chromium.org/238123003) in order
to get the same defaults for ASan and LSan. Without it
compilation will break since LeakSanitizer (LSan) is enabled by
default in Clang r209387 that is pulled with this roll.

I setup so that we pull in the sanitizer_options.cc and
tsan_suppressions.cc files using DEPS, so we don't have to maintain
them separately for now. We can still use our own TSan suppressions.txt
file as we do today with no changes needed.

This roll also brings in http://crrev.com/276676 so we can enable
GN build for WebRTC.

Overview of changes in Chrome DEPS:
$ svn diff http://src.chromium.org/chrome/trunk/src/DEPS -r 272489:277350

which can be compared with the output of:
$ svn cat http://webrtc.googlecode.com/svn/trunk/DEPS | grep chromium_deps | sed 's/^ *//' | sort | uniq

in a WebRTC checkout, gives the following relevant changes:
* third_party/android_tools 6fc0e1:c6e658
* third_party/libjpeg_turbo 263594:272637
* third_party/libyuv 1000:1007
* third_party/nss 271760:277057
* tools/gyp 1921:1927
* tools/swarming_client ae8085:aea506

The following also shows that Clang is upgraded from r206824 to r209387:
$ svn diff http://src.chromium.org/chrome/trunk/src/tools/clang/scripts/update.sh -r 272489:277350

BUG=3441
TEST=Trybots are not passing since after the recipe switch, SVN-based try jobs doesn't seem to support auto-detecting that a sync is needed if there's a DEPS change.
R=andrew@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6516 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-21 19:30:29 +00:00
8de8c9155e Maintain constantness of the input to iSAC-fix decoder, and prevent heap-buffer overflow.
To save memory in iSAC-fix, decoder operated directly on the recieved bitstream. However, this breaks constantness of input when decoder performed in-place big to little Endian conversion. Furthermore, for bit-streams with odd lengths, this meant writing outside the memory. That is because the last byte will be shifted to the Most Significat Byte which might be outside the allocated memory.

If we care about memory, the solution is to do a big-to-little Endian conversion everytime we read a Word16 from the bitstream.

BUG=845,chrome:379458
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6494 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-19 15:47:09 +00:00
9158df2aa4 Adding an empty constructor implementation to the AudioSink class
Turns out it was needed.

TBR=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6493 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-19 12:34:31 +00:00
496a98463b Adding test::AudioSink interface and derived classes
The AudioSink interface is supposed to be used by tests that produce
audio output. Two implementation classes are also provided:

OutputAudioFile: Writes the audio to a pcm file.
AudioChecksum: Calculates the MD5 checksum of the audio.

These will both be used in future changes.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6490 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-19 10:02:11 +00:00
12396aba42 Update PacketSource and RtpFileSource
The NextPacket method should now return NULL when the end of the
source was reached. In the RtpFileSource, this means that when
the end of file is reached, NULL is returned. Also, when an RTCP
packet is encountered, the next packet will be read from file
immediately.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6479 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-18 12:20:31 +00:00
d8de0669c9 Revert "Restore ptypes.txt file"
This reverts r6460. It turns out the file was no longer needed after
all.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6478 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-18 11:09:53 +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
2ca2188906 Restore ptypes.txt file
The file was lost when the neteq folders where moved and renamed.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6460 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-17 08:51:01 +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
721f970cba common_audio: Removes macro WEBRTC_SPL_LSHIFT_U16
We should avoid macros in general (see style guide) and the shift ones are particular dangerous since they assume that the user apply a non-negative shift.

Related CL: https://webrtc-codereview.appspot.com/16669004

BUG=3348,3353
TESTED=trybots and manually on linux
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6444 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-16 10:30:14 +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
a1bfc50a72 Pass GYP DEPTH variable to isolate.
Similar change to https://codereview.chromium.org/322403003/
This will make it possible to handle different
directory levels for special builds of WebRTC, without
breaking GYP when the .isolate files are processed and
their contents is verified.

Also update all our .isolate files to use the <(DEPTH)
variable.

BUG=343106
TEST=Successful compile+test on Linux using:
ninja -C out/Release
tools/swarming_client/isolate.py run -s out/Release/tools_unittests.isolated
Also trybots passing all tests.

R=pbos@webrtc.org
TBR=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6427 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-13 09:02:15 +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
18026abd82 common_audio/signal_processing: Removes macro WEBRTC_SPL_RSHIFT_U16
This macro is only used at a few places and implies a cast to uint16_t before right shifting. All places already use uint16_t. Further, the amount of shifts applied in the macro has no sanity check for negativity, makes the macro dangerous to use.

BUG=3348,3353
TESTED=trybots and manually
R=kwiberg@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6393 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-11 06:53:20 +00:00
782978cfcb common_audio/signal_processing: Moves WEBRTC_SPL_UMUL_16_16_RSFT16 to iSAC fix
This macro is only used by the fixed point version of iSAC. Replacing the (five) locations in arith_routines_logist.c, where it is used, with the actual operation.

BUG=3348,3353
TESTED=trybots and manually
R=kwiberg@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6392 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-11 06:39:03 +00:00
fd59c39caa Delete last file in neteq4 folder
The .isolate file can now be safely removed, since issue 3462 is
resolved.

BUG=2996
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6388 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-10 20:26:27 +00:00
919914d71b MIPS optimizations for ISAC (patch #1)
Implemented functions:
    - WebRtcIsacfix_AutocorrMIPS
    - WebRtcIsacfix_FilterArLoop
    - WebRtcIsacfix_FilterMaLoopMIPS
    - WebRtcIsacfix_AllpassFilter2FixDec16MIPS (only MIPS DSP)
    - WebRtcIsacfix_PitchFilterCore (only MIPS DSPR2)

Gain achieved: from aprox. 15% (MIPS32) up to aprox. 40% (MIPS DSPR2)

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

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

Patch from Ljubomir Papuga <lpapuga@mips.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6387 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-10 18:13:15 +00:00
7b82c18979 Add kjellander@webrtc.org as OWNER for *.isolate
This should make project-wide changes for isolate files
easier and make it more obvious who's a suitable reviewer
for them.

BUG=
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6379 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-10 05:42: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
2f816bbae7 NetEq: Add thread annotation to const scoped_ptrs
Since the objects pointed to are not const, only the pointer to them,
they too must be accessed under lock.

Move the crit_sect to above the variables it is protecting.

R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6340 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 10:37:13 +00:00
aafd7a88c5 The correct fix of workaround in r6261.
The CL also includes same changes to filterbanks.c in iSAC fix and aecm_core_c.c

BUG=3370,3395,3439
TESTED=trybots
R=fdegans@chromium.org, glaznev@webrtc.org, kwiberg@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6337 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 08:53:51 +00:00
edbe886a0b common_audio/signal_processing: Removed macro WEBRTC_SPL_MUL_16_16_RSFT_WITH_FIXROUND
This macro was only used at two places in fixed point iSAC, where it has been replaced with the operation.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6336 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 08:42:53 +00:00
e6e139159f Android: cleanup gtest_target_type conditions.
Ever since crrev.com/133053 OS==android implies:
gtest_target_type=shared_library

Similar to Chromium's crrev.com/271222 where base.gyp's conditions are changed
(which the affected conditions in this cl comes from).

R=henrike@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6332 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-04 20:46:50 +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
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