Commit Graph

4101 Commits

Author SHA1 Message Date
7252a2ba80 Add HW fallback option to software decoding.
Permits falling back to software decoding for unsupported resolutions in
bitstreams.

BUG=4625, chromium:487934
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9209}
2015-05-18 17:41:50 +00:00
b26198972c Adding support for OpenSL ES output in native WebRTC
BUG=4573,2982,2175,3590
TEST=modules_unittests --gtest_filter=AudioDevice*, AppRTCDemo and WebRTCDemo

Summary:

- Removes dependency of the 'enable_android_opensl' compiler flag.
  Instead, OpenSL ES is always supported, and will enabled for devices that
  supports low-latency output.
- WebRTC no longer supports OpenSL ES for the input/recording side.
- Removes old code and demos using OpenSL ES for audio input.
- Improves accuracy of total delay estimates (better AEC performance).
- Reduces roundtrip audio latency; especially when OpenSL can be used.

Performance verified on: Nexus 5, 6, 7 and 9. Samsung Galaxy S4 and S6.
Android One device.

R=magjed@webrtc.org, phoglund@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9208}
2015-05-18 14:49:04 +00:00
7e0c7d49ea Add support for external encoders in ACM
Also introduce tests using external (mock) encoders, both for
CodecOwner and for AudioCodingModule.

Support for external decoders is still missing.

COAUTHOR=henrik.lundin@webrtc.org
BUG=4474
R=jmarusic@webrtc.org, minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9206}
2015-05-18 12:52:13 +00:00
ea14f0ac11 Move SetCurrentThreadName to platform_thread.* in rtc_base_approved,
update all webrtc and libjingle code to use the same function and remove
extra implementations.

BUG=
R=andresp@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9205}
2015-05-18 11:50:31 +00:00
bd1bc47395 Restructure decoder registration in ACM
Before this change, a decoder was registered into ACMReceiver through
the CodecOwner; the CodecOwner had to have a pointer back to the
AudioCodingModuleImpl object to make this call. With this change, the
AudioCodingModuleImpl object asks the CodecOwner for a decoder pointer
instead, making the chain of calls more straightforward.

COAUTHOR=henrik.lundin@webrtc.org
BUG=4474
R=jmarusic@webrtc.org, minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9204}
2015-05-18 10:18:44 +00:00
39f2b0c870 Implemented video device info for iOS
R=pbos@webrtc.org, tkchin@webrtc.org

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

Patch from Yuriy Shevchuk <youwrk@gmail.com>.

Cr-Commit-Position: refs/heads/master@{#9190}
2015-05-14 21:16:01 +00:00
9a63866272 Move IncomingVideoFrames to common_video/.
Permits using IncomingVideoFrame in VideoReceiveStream without depending
on VideoRender.

BUG=4588
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9184}
2015-05-13 11:28:04 +00:00
4feb50500d Remove VideoProcessing::ColorEnhancement.
Code for creating this table still (currently) exists under
webrtc/modules/video_processing/main/test/unit_test/createTable.m. This
processing effect is disabled but still occupies 64k of binary size.

BUG=4491
R=marpan@google.com, mflodman@webrtc.org, marpan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9183}
2015-05-13 09:27:14 +00:00
e2357149eb Guard new protobuf target with enable_protobuf==1.
Fixes a gyp error on iOS.

BUG=4642
TBR=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9180}
2015-05-12 15:43:38 +00:00
8171735b0c Add NetEqIlbcQualityTest
This is virtually the same as NetEq{Isac,Opus}QualityTest but for iLBC.

BUG=2692
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9178}
2015-05-12 13:04:29 +00:00
df664536af Remove FPS->kilo-FPS conversion in VideoSender.
Wat.

Also moving the parameter to make sure this doesn't happen as easily
(right now it was part of a bitrate conversion from kilobits to bits).

BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9177}
2015-05-12 10:22:07 +00:00
e5ff00a1c6 Add NetEqPcmuQualityTest
This is virtually the same as NetEq{Isac,Opus}QualityTest but for PCMu.

BUG=2692
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9176}
2015-05-12 10:09:53 +00:00
fade1790a7 Remove leaking aecdump testfiles.
Also removes tracing to file in ApmTest because it leads to remaining
files.

BUG=4258
R=bjornv@webrtc.org, kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9175}
2015-05-12 08:44:03 +00:00
075bb8d125 Fix race in AudioCodingModuleImpl::Add10MsData()
AudioCodingModuleImpl::Add10MsData() calls two private methods that
together do all the work: Add10MsDataInternal() and Encode(). They
each took locks internally in order to protect access to, among other
things, codec_manager_.

This turned out to be inadequate. Add10MsDataInternal() calls
codec_manager_.CurrentEncoder()->SampleRateHz() in order to be able to
resample the audio data to what the current encoder wants. When the
resampled data is fed to the encoder deep inside the Encode() call,
that sample rate must still be correct, but occasionally it wasn't,
which triggered a CHECK. (The specific test that failed was the
voe_auto_test subtest
CodecTest.OpusMaxPlaybackRateCannotBeSetForNonOpus, which changes the
current encoder while encoding is in progress.)

This CL solves the problem by covering all of
AudioCodingModuleImpl::Add10MsData() in a single critical section, so
that the sample rate obtained in Add10MsDataInternal() is guaranteed
to still be valid during the Encode() call.

BUG=4644
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9174}
2015-05-12 08:09:58 +00:00
cb3e8fe492 Increase the tolerance in NetEq's DelayManagerTest a notch
This change is to make the test pass on Samsung devices.

BUG=4426
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9172}
2015-05-11 13:15:49 +00:00
64dad838e6 Reland r9159 "Adding a new constraint to set NetEq buffer capacity ..."
The original change was reverted due to a breakage in the chrome build.
This change includes a fix for this.

TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9169}
2015-05-11 10:44:20 +00:00
092041c1cd Setting OPUS_SIGNAL_VOICE when enable DTX.
A better solution than forcing OPUS_APPLICATION_VOIP when enabling DTX has been found, which is to set OPUS_SIGNAL_VOICE.

This reduces the uncertainty of entering DTX over silence period of audio.

This CL contains the setup of OPUS_SIGNAL_VOICE and decoupling opus application mode with DTX.

BUG=4559
R=henrik.lundin@webrtc.org, henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9168}
2015-05-11 10:19:36 +00:00
242e22b055 Refactor RTCP sender
The main purpose of this CL is to clean up RTCPSender::PrepareRTCP, but
it has quite a few ramifications. Notable changes:

* Removed the rtcpPacketTypeFlags bit vector and don't assume
  RTCPPacketType values have a single unique bit set. This will allow
  making this an enum class once rtcp_receiver has been overhauled.

* Flags are now stored in a map that is a member of the class. This
  meant we could remove some bool flags (eg send_remb_) which was
  previously masked into rtcpPacketTypeFlags and then masked out again
  when testing if a remb packet should be sent.

* Make all build methods, eg. BuildREMB(), have the same signature.
  An RtcpContext struct was introduced for this purpose. This allowed
  the use of a map from RTCPPacketType to method pointer. Instead of
  18 consecutive if-statements, there is now a single loop.
  The context class also allowed some simplifications in the build
  methods themselves.

* A few minor simplifications and cleanups.

The next step is to gradually replace the builder methods with the
builders from the new RtcpPacket classes.

BUG=2450
R=asapersson@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9166}
2015-05-11 08:17:46 +00:00
1f629232d5 Revert r9164 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit fd32f35aff8fc28ec084bddc274de284e0422a57.

TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9165}
2015-05-10 09:06:20 +00:00
fd32f35aff Reland r9159 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit cdb47a4533b7b1e29e803ed6591a68bb1a4f1692.

Contains a tentative fix to the chrome build breakage caused by the
original change.

TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9164}
2015-05-10 09:03:00 +00:00
54adb28e89 mac: Explicitly redeclare methods only available on 10.7+.
When compiling against an OSX 10.7+ SDK, explicitly redeclare methods only
available from an OSX 10.7+ SDK. This suppresses the clang warning
-Wpartial-availability, which will be turned on in the future.

BUG=chromium:471823
R=jiayl@webrtc.org, mark@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#9163}
2015-05-08 18:48:58 +00:00
cdb47a4533 Revert r9159 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit 208a2294cde839025318f1b3d57559cb0611a4e7.
Breaks the Chrome build.

TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9161}
2015-05-08 12:03:46 +00:00
208a2294cd Adding a new constraint to set NetEq buffer capacity from peerconnection
This change makes it possible to set a custom value for the maximum
capacity of the packet buffer in NetEq (the audio jitter buffer). The
default value is 50 packets, but any value can be set with the new
functionality.

R=jmarusic@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9159}
2015-05-08 10:58:51 +00:00
83b5c053b9 Modify NetEqQualityTest
- Take input sample rate as parameter - provides resampling when needed.
- Add support for wav output.

BUG=2692
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9158}
2015-05-08 08:34:00 +00:00
cb05b72eb2 Add WAV and arbitrary geometry support to nlbf test.
This adds functionality from audioproc_float. The geometry parsing code
is now shared from test_utils.h. I removed the "mic_spacing" flag from
audioproc_float because it's a redundancy that I suspect isn't very
useful.

Includes a cleanup of the audio_processing test utils. They're now
packaged in targets, with the protobuf-using ones split out to avoid
requiring users to depend on protobufs.

pcm_utils is no longer needed and removed.

The primary motivation for this CL is that AudioProcessing currently
doesn't support more than two channels and we'd like a way to pass
more channels to the beamformer.

R=aluebs@webrtc.org, mgraczyk@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#9157}
2015-05-08 05:17:58 +00:00
2ea71c3279 Replace ACMGenericCodec with CodecOwner and AudioEncoderMutable
CodecOwner is introduced here; AudioEncoderMutable was introduced in a
previous commit, but had no users until now. The only remaining task
for ACMGenericCodec was to construct and maintain the stack of speech,
CNG, and RED encoders. This task is now handled by the CodecOwner,
which is owned and used by the CodecManager.

COAUTHOR=henrik.lundin@webrtc.org
BUG=4228
R=jmarusic@webrtc.org, minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9152}
2015-05-07 13:49:24 +00:00
53d0dc3f06 Wire up RTT to send-side GCC and TCP.
BUG=4548
R=magalhaesc@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9151}
2015-05-07 13:04:29 +00:00
dcccab3ebb New interface: AudioEncoderMutable
With implementations for all codecs. It has no users yet. This new
interface is the same as AudioEncoder (in fact it is a subclass) but
it allows changing some parameters after construction.

COAUTHOR=henrik.lundin@webrtc.org
BUG=4228
R=jmarusic@webrtc.org, minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9149}
2015-05-07 10:35:18 +00:00
c81591d63f NADA's proposal from Cisco.
The implementation of this proposal is in progress.
More unittest will be added.
Sender side is being implemented.
Some constants need to be tuned.

BUG=4550
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9146}
2015-05-06 20:29:09 +00:00
1ff218fac3 audio_processing/aec: Do not scale target delay at startup when on Android
When running AEC in extended_filter mode there is no startup phase to evaluate the reported system delay values.
Instead we simply use the first value and scale by two to avoid over compensating when synchronizing render and capture.
We don't need to be too accurate since we have extended the filter length.

On Android we use fixed (measured) reported delay values.
There is no need to be extra conservative here, because that is already built-in in the measured value.
In fact, the difference between devices is large and with such an extra conservative approach the true delay can not be caught by the filter length.
With this change we can improve performance on some devices.

BUG=4472
TESTED=offline on recordings from various devices
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9144}
2015-05-06 10:08:50 +00:00
532531b656 audio_processing/delay_estimator: Always update robust validation statistics
The delay estimator has a robust_validation mode used to deliver more stable delay etimates. The cost is increased reaction time when we have a delay jump.
This mode can be turned on and off on the fly, but statistics are not updated while disabled. This makes the estimator unreliable if it is enabled on the fly.

This CL makes sure the update is always done.

BUG=4472
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9143}
2015-05-06 09:58:09 +00:00
40a6d593d2 audio_processing/tests: Adds a flag to unpack input data to text file
For quick and easy aecdump verifiation storing data as text speeds up the issue tracking process, since anyone can simply view values like mic volume.

BUG=4609
TESTED=verified unpacking an aecdump with flag --txt stores that data in text files
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9142}
2015-05-06 08:51:47 +00:00
9695d8523b Added VP9FrameBufferPool, a memory pool that is shared between libvpx and webrtc. Using the VP9 codec, the libvpx decoder will obtain its buffers from our memory pool. This lets us reuse the same buffers for our I420VideoFrames and not have to copy a frame for every decode (from libvpx buffers to webrtc/I420VideoFrame buffers).
(This is similar to chromium's MemoryPool in vpx_video_decoder.cc.)

BUG=1128
R=kjellander@webrtc.org, magjed@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9141}
2015-05-06 08:42:22 +00:00
f242e665b4 Replace asm NEON function by intrinsics implementation on ARMv7
Passed building isac_neon and modules_unittests on Android ARMv7.
Passed modules_unittests with following filters:
  --gtest_filter=FiltersTest*
  --gtest_filter=LpcMaskingModelTest*
  --gtest_filter=TransformTest*
  --gtest_filter=FilterBanksTest*

WebRtcIsacfix_CalculateResidualEnergyNeon is removed, refer more in
Issue 4224.

The old review url is at: https://webrtc-codereview.appspot.com/37259004/

BUG=4002
R=andrew@webrtc.org, jridges@masque.com, kjellander@webrtc.org

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

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

Change-Id: I4c16e15930f1b3449d67b67bf023fac28121dff8
Cr-Commit-Position: refs/heads/master@{#9140}
2015-05-06 08:39:37 +00:00
589699eea2 Fix bug in transform_neon.c in iSAC codec.
The bug causes AcmReceiverBitExactness and AcmSenderBitExactness test
failed in modules_unittests.

BUG=4002
R=andrew@webrtc.org, jridges@masque.com, kjellander@webrtc.org

Change-Id: I18b00056c53cf4158c186d449e5ab785065cca94

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

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

Cr-Commit-Position: refs/heads/master@{#9138}
2015-05-06 02:25:20 +00:00
ab00404571 VCMEncodedFrame::VerifyAndAllocate: Use size_t instead of uint32_t for size argument
BUG=484432
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9135}
2015-05-05 09:37:17 +00:00
01b488831b Use padding to achieve bitrate probing if the initial key frame has too few packets.
BUG=4350
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9134}
2015-05-05 08:21:32 +00:00
c56ac1ec29 rtc::Buffer: Remove backwards compatibility band-aids
This CL makes two changes to rtc::Buffer that have had to wait for
Chromium's use of it to be modernized:

  1. Change default return type of rtc::Buffer::data() from char* to
     uint8_t*. uint8_t is a more natural type for bytes, and won't
     accidentally convert to a string. (Chromium previously expected
     the default return type to be char, which is why
     rtc::Buffer::data() initially got char as default return type in
     9478437f, but that's been fixed now.)

  2. Stop accepting void* inputs in constructors and methods. While
     this is convenient, it's also dangerous since any pointer type
     will implicitly convert to void*.

(This was previously committed (9e1a6d7c) but had to be reverted
(cbf09274) because Chromium on Android wasn't quite ready for it).

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9132}
2015-05-04 12:54:56 +00:00
f75f0cf36a Enable GoogleWifiTrace3Mbps simulations.
BUG=3277
R=mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9131}
2015-05-04 12:26:26 +00:00
cbf0927473 Revert "rtc::Buffer: Remove backwards compatibility band-aids"
This reverts commit 9e1a6d7c236c9a8a322bef54d4ec2a087e5baa07, because
Chromium for Android still isn't happy with it.

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9122}
2015-04-30 14:01:01 +00:00
9e1a6d7c23 rtc::Buffer: Remove backwards compatibility band-aids
This CL makes two changes to rtc::Buffer that have had to wait for
Chromium's use of it to be modernized:

  1. Change default return type of rtc::Buffer::data() from char* to
     uint8_t*. uint8_t is a more natural type for bytes, and won't
     accidentally convert to a string. (Chromium previously expected
     the default return type to be char, which is why
     rtc::Buffer::data() initially got char as default return type in
     9478437f, but that's been fixed now.)

  2. Stop accepting void* inputs in constructors and methods. While
     this is convenient, it's also dangerous since any pointer type
     will implicitly convert to void*.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9121}
2015-04-30 12:25:06 +00:00
ff019b0b55 Move rtc::AtomicOps to webrtc/base/atomicops.h.
Removes FixedSizeLockFreeQueue which isn't used anymore. This enabled
moving rtc::AtomicOps to webrtc/base/atomicops.h where they should be.

BUG=4330
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9120}
2015-04-30 12:16:14 +00:00
3cfa756f37 audio_processing/aec: Fixes an incorrect sampling rate multiplier when processing in 48 kHz
In AEC a fixed fft size is used, but processing can in the lower band be in either 8 or 16 kHz.
Therefore we need a multiplier/rate factor to, for example, map frequency bands in Hz to frequency bins.

The multiplier/rate factor can only be either 1 or 2, but when 48 kHz support was added it was assigned 3.

BUG=crbug.com/482424
R=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9117}
2015-04-29 18:22:50 +00:00
adf89b7e33 Added SetBitRate function to VoE API to allow changing the audio bitrate.
If the requested bitrate is not valid for the codec, the codec will decide on
an appropriate value.
Updated VoE command line tool to use new SetBitRate function.
Includes unittests for SetBitRate function.

BUG=
R=henrik.lundin@webrtc.org, henrika@webrtc.org, kwiberg@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9115}
2015-04-29 14:03:45 +00:00
dea11f9c43 Add per flow throughput and delay metrics.
BUG=4548
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9112}
2015-04-29 12:27:38 +00:00
97f13c5f7f Fixed incorrect RBSP parsing. The original version would eat 0x3 as an emulation byte in places where it shouldn't, whereas the real parsing is only supposed to eat 0x3 preceded by 0x0 0x0.
Also, now that BitBuffer is getting a writer (https://webrtc-codereview.appspot.com/45259005/), I wrote a function that creates a fake SPS of a given resolution. The created SPS has an emulation 0x3 and a real 0x3, so it ensures the parser has the correct behavior.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9108}
2015-04-29 00:55:43 +00:00
31dc737d7a Platform dependent way of generating the seed for srand for simulations, so that they can be run in parallel.
The seed generated for Win won't be good enough to run the simulations in parallel.

R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9101}
2015-04-28 13:43:44 +00:00
88de4792d0 AudioEncoderIsac: Print error code if CHECK for successful encoding fails
This will hopefully make the crash in bug 4577 easier to understand if
it happens again.

BUG=4577
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9100}
2015-04-28 13:43:43 +00:00
bcbcd84888 Improve TCP implementation by adding ssthresh and make it possible to start it with an offset.
Add a propagation delay to tests and make the run-time configurable for the fairness tests.

Handle losses in-between feedback messages.

BUG=4549
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9099}
2015-04-28 12:38:31 +00:00
beb9798ab4 audio_processing: Fixed incorrect usage of SetExtraOptions() in offline tool
The way SetExtraOptions() is used today only applies for any one configuration change. The correct way is to set it after all flags have been scanned.

The prefered way to solve this is to use gflags and scan once, followed by applying the configuration when creating audio_processing. This is what is done in the new test tool audioproc_float.cc, but there are still some things left to do before we can replace this one.

BUG=N/A
TESTED=locally
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9097}
2015-04-28 11:52:30 +00:00