Commit Graph

4404 Commits

Author SHA1 Message Date
pbos@webrtc.org
c0167702d3 Stop timer in ~EventWindows().
Running out of handles seems to have been an issue when adding another
test target, this should solve it.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4897 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-02 13:11:15 +00:00
turaj@webrtc.org
a6101d76f4 Update sampling rate and number of channels of NetEq4 if decoder is changed.
We encounter a sample-underrun if NetEq is initialized with a sampling rate fs =16000 and receive Opus packets with frame-size less than 5 ms. The reason is as follows.

Let say NetEq buffer has 4 packets of Opus each of size 2.5ms this means that internally timestamp of packets incremented by 80 (internally Opus treated as 32 kHz codec). Given the initial sampling rate of NetEq, at the first time that it wants to fetch packets, it targets to fetch 160 samples. Therefore, it will only extracts 2 packets. Decoding these packets give us exactly 160 samples (5 ms at 32 kHz), however, upon decoding the first packet the internal sampling rate will be updated to 32 kHz. So it is expected that sync buffer to deliver 320 samples while it does only have 160 samples (or maybe few more as it starts with some zeros). And we encounter and under-run.

Even if we ignore the under-run  "assert(sync_buffer_->FutureLength() >= expand_->overlap_length())" (neteq_impl.cc::811) is trigered. I'm not sure what happens if we remove this assert perhaps NetEq will work fine in subsequent calls. However the first under-run is blocking ACM2 test to pass.

Here I have a solution to update sample rate as soon as a packet is inserted, if required. It not a very efficient approach as we do the same reset in NetEqImpl::Decode().

It is a bit tricky to reproduce this because the TOT ACM tests do not run ACM2. In https://webrtc-codereview.appspot.com/2192005/ I have a patch to run both ACMs. To reproduce the problem, one can patch that CL and run

$ out/Debug/modules_tests --gtest_filter=AudioCodingModuleTest.TestOpus

Note that we would not encounter any problem if NetEq4 is initiated with 32000 Hz sampling rate. You can test this by setting |kNeteqInitSampleRateHz| to 32000 in webrtc/modules/audio_coding/main/acm2/acm_receiver.cc

BUG=
R=andrew@webrtc.org, henrik.lundin@webrtc.org, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4896 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 22:01:09 +00:00
vikasmarwaha@webrtc.org
ee6d0ddbe6 Upload Demo page to allow edit offer & Answer sdp in pc1 demo.
R=dutton@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4895 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 18:43:07 +00:00
fischman@webrtc.org
1d731e498e Roll chromium_revision 224141:226099 to pick up jsoncpp fix for ARM
BUG=1777
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4893 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 17:29:42 +00:00
vikasmarwaha@webrtc.org
19134bae95 Updated device-switch demo page to work with Chrome M30.
BUG=2218
R=braveyao@webrtc.org, dutton@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4892 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 17:02:32 +00:00
pbos@webrtc.org
b74b96f487 Test multiple send/receive streams in Call.
Removes renderer in VideoReceiveStream as it wasn't properly
deregistered before. Makes sure that send/receive streams are properly
wired so that receive streams receive the expected stream.

BUG=2423
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4891 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 11:33:24 +00:00
pbos@webrtc.org
e546f02c84 Remove include_dirs from utility.
BUG=1662
TEST=compile on trybots
R=asapersson@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4890 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 09:29:09 +00:00
fischman@webrtc.org
7e4d0df8ee PeerConnection(Android): enable tracing to logcat.
BUG=1295
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4888 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 02:40:43 +00:00
turaj@webrtc.org
522227012d Reset audio bufer if codec changes, b/10835525.
If there is audio in a codec's audio buffer and sample-rate or number of channels change the audio buffer has to reset. Otherwise, the amount of audio in the buffer is misinterpreted any syncronization between 10ms audio blocks and their associated timestamps is lost.

For instance, assume changing from stereo to mono when there is 10ms stereo in the buffer. The "new" codec will interpret this as 20 ms audio, therefore, 2 blocks of 10 ms, but there is only one timestamp. This will results in  ACMGenericCodec::in_timestamp_ix_write_ updated to a negative number after an encode is performed.

The drawback with this solution is that if packet-size of the codec is changed then audio buffer is reset wich is not necessary. We accept this as it is a rare case in practice that clients of ACM re-register send codecs to change packet-size.

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4887 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 01:17:37 +00:00
andrew@webrtc.org
8e2f9bce71 Ensure adjusted "known delay" doesn't drop below zero.
The untrusted delay mode provides an option to reduce the "known delay"
parameter passed down to the core AEC. This is necessary to handle the
very low latencies observed with the Chromium audio backend on Mac.

Prior to this change, it was possible to pass a negative value. The AEC
produced good output in practice, but it turned out this tripped a
heretofore unnoticed assert in ProcessBlock().

This change avoids the assert, and maintains the good output across a
set of Mac recordings. Bit-exact in some cases, and in the remaining,
quickly converging to identical output.

The assert was hit on the last webrtc roll in Chromium in
content_browsertests on Mac.

Corresponds to:
https://chromereviews.googleplex.com/9960013

TBR=bjornv
TESTED=Verified locally that "content_browsertests
--gtest_filter=WebrtcBrowserTest.*"" passes.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4886 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 01:12:25 +00:00
henrik.lundin@webrtc.org
fd11bbfb56 NetEq4: Removing templatization for AudioMultiVector
This saves approx 6% runtime for neteq4_speed_test.
$ time out/Release/neteq4_speed_test --runtime_ms=50000000

BUG=1363
R=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4885 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-30 20:38:44 +00:00
turaj@webrtc.org
6ad6a07fd3 Support for CELT in NetEq4.
BUG=1359
R=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4884 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-30 20:07:39 +00:00
mallinath@webrtc.org
7e809c323a Update libjingle to CL 53496343.
Review URL: https://webrtc-codereview.appspot.com/2323005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4882 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-30 18:59:08 +00:00
pbos@webrtc.org
9532fa53ed Remove include_dirs from video_render.
BUG=1662
TEST=compile on trybots
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4881 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-30 15:32:44 +00:00
pbos@webrtc.org
1c974ef5e3 Remove include_dirs from video_capture.
BUG=1662
TEST=compile on trybots
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4880 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-30 15:32:10 +00:00
tina.legrand@webrtc.org
4cd76221dc Revert 4876 "Support for CELT in NetEq4."
> Support for CELT in NetEq4.
> 
> BUG=1359
> R=henrik.lundin@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/2291004

TBR=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4879 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-30 12:25:45 +00:00
henrik.lundin@webrtc.org
572699d3eb Propagate AutoMuter interface out to VideoCodingModule
BUG=2436
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4878 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-30 12:16:08 +00:00
minyue@webrtc.org
cc92e000f3 1. adding request of ACM version in the manual mode of voe_auto_test
2. adding command line flag for automated mode of voe_auto_test to choose between ACMs

3. adding request of ACM version in voe_cmd_test

R=phoglund@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4877 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-30 08:43:50 +00:00
turaj@webrtc.org
a20a22a0bd Support for CELT in NetEq4.
BUG=1359
R=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4876 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-28 16:31:25 +00:00
mallinath@webrtc.org
ad81ab8861 Suppress SSL error strings on mac_asan to unbreak that build
Example borkedness:
http://chromegw/i/client.webrtc/builders/Mac%20Asan/builds/642/steps/libjingl...

Original CL for this issue is here
https://webrtc-codereview.appspot.com/2263004/

and this got reverted in here
https://code.google.com/p/webrtc/source/diff?spec=svn4874&r=4872&format=side&path=/trunk/talk/base/openssladapter.cc&old_path=/trunk/talk/base/openssladapter.cc&old=4798

Trying to land it again now.

TBR=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4875 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-28 07:24:39 +00:00
wuchengli@chromium.org
30377c7f71 Change the parameters of calculating maximum decode time.
- Reduce the window size from 20 to 10 seconds. If there is
  any spurious high decode time, it will be faster to pass it.
- Ignore more samples at first because HW decoder has higher
  initialization latency.

BUG=crbug.com/298176
TEST=Run apprtc loopback on Chromebook Daisy.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4874 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-28 06:06:18 +00:00
mallinath@webrtc.org
a27be8e4a1 Update libjingle to CL 53398036.
Review URL: https://webrtc-codereview.appspot.com/2323004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4872 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-27 23:04:10 +00:00
henrike@webrtc.org
34c50c1de1 Makes OpensSL default audio implementation/device on Android.
BUG=N/A
R=andrew@webrtc.org, fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4871 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-27 22:34:35 +00:00
kjellander@webrtc.org
a39b323a7e Add tools/sharding_supervisor to .gitignore
I should have thought about this in
http://review.webrtc.org/2314004/

BUG=none
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4870 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-27 20:20:47 +00:00
kjellander@webrtc.org
8b7ec82cf4 Exclude P2PTransportChannelSameNatTest.TestConesBehindSameCone for TSan Linux
I cannot reproduce locally but I can see 10+ consecutive
failing runs at the TSan RV bot at
http://build.chromium.org/p/client.webrtc.fyi/waterfall

TEST=verified the new exclude file is picked up by running:
tools/valgrind-webrtc/webrtc_tests.sh --tool=tsan_rv -b out/Release -t libjingle_p2p_unittest --gtest_filter=P2PTransportChannel*Test.*
(which runs the test if this file does not exist)
BUG=2396
TBR=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4869 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-27 20:03:03 +00:00
andrew@webrtc.org
4475905613 Disable flaky RapidSpeakerChange test.
Example:
chromegw/i/internal.client.webrtc/builders/Win32%20Debug/builds/762/steps/libjingle_p2p_unittest/logs/stdio

e:\b\build\slave\win32_debug\build\src\talk\session\media\currentspeakermonitor_unittest.cc(144):
error: Value of: kSsrc2
  Actual: 1002
Expected: current_speaker_
Which is: 1001
e:\b\build\slave\win32_debug\build\src\talk\session\media\currentspeakermonitor_unittest.cc(145):
error: Value of: 1
Expected: num_changes_
Which is: 2
[  FAILED  ] CurrentSpeakerMonitorTest.RapidSpeakerChange (16 ms)

TBR=wu@webrtc.org
BUG=2409

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4867 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-27 18:24:40 +00:00
wu@webrtc.org
6049787252 Add protection to few more methods of AudioDeviceLinuxALSA. Those methods can be called from
a different thread.

One example is the _playWarning can be changed in AudioDeviceLinuxALSA::Init, which is called on the application's thread. At the same time it can be read via PlayoutWarning() on the VoE's process_thread.

RISK=P2
TESTED=try bots and tsan test:
tools/valgrind-webrtc/webrtc_tests.sh --tool=tsan -t out/Debug/libjingle_peerconnection_unittest --gtest_filter=PeerConnectionFactoryTestInternal.CreatePCUsingInternalModules
BUG=1205
R=xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4866 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-27 18:19:25 +00:00
andrew@webrtc.org
137b3793d9 Only use -lm on Linux in ISAC.
Remove unneeded WEBRTC_LINUX define.

BUG=crbug.com/298656
TESTED=Passed trybots.
R=wjia@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4865 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-27 18:16:28 +00:00
kjellander@webrtc.org
287f07b174 Add sharding_supervisor to DEPS to prepare for swarm/isolated testing.
This component is now needed in addition to the swarm_client.

BUG=1916
TEST=I've run bots with this locally synced.
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4863 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-27 16:57:10 +00:00
pbos@webrtc.org
2e246b4e78 Remove test parameters from CallTest.
Since the test parameters weren't used, it made no sense to have a
parameterized test.

BUG=
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4862 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-27 10:54:10 +00:00
fischman@webrtc.org
3223a3d4ee Roll libvpx 212975:225010 to pick up iOS Release fixes
BUG=2332
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4861 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 15:59:48 +00:00
minyue@webrtc.org
663da0a8fc With ACM2 and NetEq4, VoE fuzz test very often fails.
As far as I observe, there are several reasons for this:
1. webrtc/modules/audio_coding/neteq4/neteq_impl.cc : 870
     assert(new_codec_);
   This is related to webrtc/modules/audio_coding/neteq4/decision_logic_normal.cc : 81
     kUndefined can happen without new_codec_ being set
2. webrtc/modules/audio_coding/neteq4/neteq_impl.cc : 745
   assert(sync_buffer_->FutureLength() >= expand_->overlap_length());
3. some other assert triggered.

The above happens not very often and goes away with no assertion.

3. (most common, this CL addresses this)
   webrtc/modules/rtp_rtcp/source/rtp_receiver_audio.cc : 201
     payload_data_length = payload_length - rtp_header->header.paddingLength;
   There are situations that
     payload_length < rtp_header->header.paddingLength;
   OLD ACM + NetEq3 can handle this:
     a) webrtc/modules/audio_coding/main/source/acm_neteq.cc : 477
          int16_t payload_length = static_cast<int16_t>(length_payload);
        payload_length becomes negative in this situation
     b) webrtc/modules/audio_coding/neteq/recin.c
        WebRtcNetEQ_RecInInternal() handles negative payload length

I do not want to touch VoE, so I tried to let ACM2 and NetEq4 handle negative payload length.

This CL does not follow the exact way of OLD ACM + NetEq3. I stopped negative payload length at ACM and did not allow it go to NetEq4.

To try this, apply my uploaded patch : https://webrtc-codereview.appspot.com/2281004/

Let me know if you see better solutions.

R=henrik.lundin@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4860 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 15:21:26 +00:00
pbos@webrtc.org
f26e8f6f57 Remove include_dirs from tools.
BUG=1662
TEST=compile on trybots
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4859 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 14:04:27 +00:00
pbos@webrtc.org
f8b296628f Remove include_dirs from test.
BUG=1662
TEST=compile on trybots
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4858 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 14:03:57 +00:00
henrik.lundin@webrtc.org
544b17c6a9 Implemented AutoMuter in MediaOptimization
Also added a unittest. This is the first step towards creating an
AutoMuter function in WebRTC.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4857 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 12:05:15 +00:00
pbos@webrtc.org
04b61790d1 Remove include_dirs from pacing.
BUG=1662
TEST=compile on trybots
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4856 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 09:23:31 +00:00
pbos@webrtc.org
97eefb77e0 Remove include_dirs from remote_bitrate_estimator.
BUG=1662
TEST=compile on trybots
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4855 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 09:22:54 +00:00
pbos@webrtc.org
339fe12f67 Remove include_dirs from bitrate_controller.
BUG=1662
TEST=compile on trybots
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4854 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 09:22:34 +00:00
pbos@webrtc.org
054ccd2e35 Remove include_dirs from video_coding.
BUG=1662
TEST=compile on trybots
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4853 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 09:22:09 +00:00
pbos@webrtc.org
73f207611c Remove include_dirs from video_processing.
BUG=1662
TEST=compile on trybots
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4852 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 09:17:56 +00:00
pbos@webrtc.org
dc3fa08331 Remove include_dirs from rtp_rtcp.
BUG=1662
TEST=compile on trybots
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4851 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 09:17:13 +00:00
turaj@webrtc.org
7b75ac6756 Sync-packet insertion into NetEq4. This is related to r3883 & r4052 for NetEq 3.
BUG=
R=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4850 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 00:27:56 +00:00
andrew@webrtc.org
6b1e21924a Move the Config DelayCorrection struct to audio_processing.h.
TBR=bjornv

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4849 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 23:46:20 +00:00
andrew@webrtc.org
1760a17b8e Add an extended filter mode to AEC.
Re-land: http://review.webrtc.org/2151007/
TBR=bjornv@webrtc.org

Original change description:
This mode extends the filter length from the current 48 ms to 128 ms.
It is runtime selectable which allows it to be enabled through
experiment. We reuse the DelayCorrection infrastructure to avoid having
to replumb everything up to libjingle.

Increases AEC complexity by ~50% on modern x86 CPUs.
Measurements (in percent of usage on one core):

Machine/CPU                                     Normal Extended
MacBook Retina (Early 2013),
Core i7 Ivy Bridge (2.7 GHz, hyperthreaded)     0.6%   0.9%

MacBook Air (Late 2010), Core 2 Duo (2.13 GHz)  1.4%   2.7%

Chromebook Pixel, Core i5 Ivy Bridge (1.8 GHz)  0.6%   1.0%

Samsung ARM Chromebook,
Samsung Exynos 5 Dual (1.7 GHz)                 3.2%   5.6%

The relative value is large of course but the absolute should be
acceptable in order to have a working AEC on some platforms.

Detailed changes to the algorithm:
- The filter length is changed from 48 to 128 ms. This comes with tuning
of several parameters: i) filter adaptation stepsize and error
threshold; ii) non-linear processing smoothing and overdrive.
- Option to ignore the reported delays on platforms which we deem
sufficiently unreliable. Currently this will be enabled in Chromium for
Mac.
- Faster startup times by removing the excessive "startup phase"
processing of reported delays.
- Much more conservative adjustments to the far-end read pointer. We
smooth the delay difference more heavily, and back off from the
difference more. Adjustments force a readaptation of the filter, so they
should be avoided except when really necessary.

Corresponds to these changes:
https://chromereviews.googleplex.com/9412014
https://chromereviews.googleplex.com/9514013
https://chromereviews.googleplex.com/9960013

BUG=454,827,1261

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4848 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 23:17:38 +00:00
sergeyu@chromium.org
becbefaee6 Fix WindowCapturerWin to capture window decorations after window size changes.
DWM doesn't update window decorations in bitmap captured
from GetWindowDC(). Work it around by calling PrintWindow()
after each resize (which somehow affects what's later
captured from GetWindowDC()). That solution avoids the
downsides of PrintWindow() (namely flickering) while still
allowing to capture window decorations correctly.

BUG=crbug.com/289759
R=alexeypa@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4847 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 22:56:59 +00:00
turaj@webrtc.org
3fdeddb59a Disable a NetEq unittest on Android. The test tries to register iSAC-swb as send codec and fails.
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4845 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 22:19:22 +00:00
niklas.enbom@webrtc.org
3e7703640f Remove unused constants, so chrome can enable a warning for that. Patch from thakis@
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4844 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 22:05:05 +00:00
elham@webrtc.org
cecaae2e4c Updated WebRTC version to 3.43
TBR=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4842 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 21:45:23 +00:00
turaj@webrtc.org
0c0fae8a5e Re-enable verbose logging in NetEq4.
Using neteq4_speed_test there no complexity penalty is observed when verbose
logging is enabled.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4841 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 17:42:17 +00:00
fischman@webrtc.org
69fc315fd9 Convert DeviceInfoImpl::_captureCapabilities from a map to a vector.
The map was just mapping an index to a pointer of a POD, so the code is easily
simplified by using a vector (with implicit index key) and the POD as a value.
(also fixes a leak in the windows code, which lacked a virtual dtor for
VideoCaptureCapabilityWindows but was deleting through a base pointer).

R=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4840 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 17:01:42 +00:00