Commit Graph

3224 Commits

Author SHA1 Message Date
e5251ad63c Integrate send-side BWE into simulation framework.
BUG=4173
R=mflodman@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8123 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-22 10:10:53 +00:00
cfd82dfc11 Split packets/bytes in StreamDataCounter into RtpPacketCounter struct.
Prepares for adding FEC bytes to the StreamDataCounter.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8122 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-22 09:39:59 +00:00
3dd33a6787 Fix bug in thresholds for bitrate probing and adjust thresholds to allow a larger dispersion and concentration for successful probes.
BUG=crbug:425925
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8121 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-22 09:12:23 +00:00
fbd37bd737 Make iSAC SWB own its decoder
A bug in the ACM codec database caused iSAC-swb to behave differently
from iSAC-wb and -fb. With this fix, all iSAC codecs behave the same
with respect to decoder ownership.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8120 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-22 08:16:29 +00:00
e65d9d974c Fix an unitialized variable warning.
R=andrew@webrtc.org

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

Patch from Sebastien Marchand <sebmarchand@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8118 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 22:05:12 +00:00
c429b824b3 GN: Prepare to remove webrtc_base target
Keep the webrtc_base target temporarily while waiting for
Chromium to pick up this revision. Then we'll update Chromium
and remove the webrtc_base target for real.

This should have been a part of https://code.google.com/p/webrtc/source/detail?r=7140

R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8117 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 20:22:33 +00:00
c78d81ae89 Re-land "Support 48kHz in AEC"
Doing something similar for the band 16-24kHz to what is done for the band 8-16kHz. The only difference is that there is no comfort noise added in this band. Could not test how this sounds because there are no aecdumps with 48kHz sample rate as nfar as I know.
Tested for 32kHz sample rate and the output is bitexact with how it was before this CL.

Original: https://webrtc-codereview.appspot.com/28319004/
Reverted: https://webrtc-codereview.appspot.com/33949004/

BUG=webrtc:3146
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8116 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 19:10:55 +00:00
e81c5d6d7e Fix TransientDetectorTest in modules_unittests on Android ARM64
BUG=webrtc:4200
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8115 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 18:01:28 +00:00
11af039590 Disable AcmSenderBitExactnessOldApi.Opus_stereo_20ms_voip on ARM64.
BUG=4199
R=henrik.lundin@webrtc.org, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8114 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 14:22:39 +00:00
df7b65ba01 Change CreateOrGetReportBlockInformation to have one return path.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8113 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 13:07:04 +00:00
f938922c5c Simplify and guard access to WindowsRealTimeClock.
Addresses data race in get_time() causing incorrect timer roll-over
detection. This roll-over caused NTP timers to jump by 2^32
milliseconds affecting A/V sync and end-to-end delay calculations.

BUG=4206
R=dvyukov@google.com, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8112 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 12:51:13 +00:00
f66a6b2a00 Remove unnecessary dependencies from webrtc_all target.
The xmllite and xmpp dependencies are pulled in when include_tests==1
but I need to be able to do a build without processing them
having include_tests==0.

BUG=4185
R=andresp@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8109 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 10:06:55 +00:00
e7358eabbc Only report fraction of lost packets if report_block_stats has been updated.
R=holmer@google.com, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8108 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 09:00:19 +00:00
9ffd8fe96b Indentation changes.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8107 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 08:22:50 +00:00
cbacd9e3bf Bump to version 41.
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8104 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-20 18:52:01 +00:00
7dba7860c7 Setting Opus target application.
This CL is to allow to set Opus target application at the creation of an encoder.

According to Opus spec, there are three applications:

OPUS_APPLICATION_VOIP
OPUS_APPLICATION_AUDIO
OPUS_APPLICATION_RESTRICTED_LOWDELAY

BUG=
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8103 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-20 16:01:50 +00:00
853049fa30 Move internal capture+render to build_with_chromium==0 condition
This will avoid errors related to DirectX not being found
for Chromium bots (mainly GN, but it's safest to do the same
changes for GYP since they also make sense there as GYP generation
go slightly faster without having to process those targets).

Thanks to vchigrin@yandex-team.ru for originally suggesting
this being fixed in
https://webrtc-codereview.appspot.com/37639004/

TESTED=
Successfully ran:
webrtc/build/gyp_webrtc
webrtc/build/gyp_webrtc -Dbuild_with_chromium=1
and trybots.

R=andresp@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8102 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-20 11:40:45 +00:00
ee0c100d54 Revert 8080 "Support 48kHz in AEC"
> Support 48kHz in AEC
> 
> Doing something similar for the band 16-24kHz to what is done for the band 8-16kHz. The only difference is that there is no comfort noise added in this band. Could not test how this sounds because there are no aecdumps with 48kHz sample rate as nfar as I know.
> Tested for 32kHz sample rate and the output is bitexact with how it was before this CL.
> 
> BUG=webrtc:3146
> R=andrew@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/28319004

TBR=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8100 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-20 10:22:49 +00:00
f88f88edde Remove webrtc/base/compile_assert.h
It was previously removed as part of r8058, and reinstated in r8064
because of outside dependencies. Those dependencies have now been
dealt with, so the removal should stick this time.

R=andrew@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8099 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-20 08:46:55 +00:00
9691b36995 Cleanup for Rtp Rtcp API test.
BUG=
R=pbos@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8098 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-20 05:42:52 +00:00
474e36e623 Add UMA stats for tracking the time it takes to reach a BWE of 500, 1000 and 2000 kbps.
The previous CL was reverted for two reasons:
- Added a static initializer because std::string.
- Landed before the corresponding chromium CL, which has now been landed.

BUG=crbug:425925
R=asapersson@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8094 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-19 15:44:47 +00:00
a32d15448d Disable tests failing on Android ARM64 (Nexus9).
BUG=4198,4199,4200
TBR=andrew@webrtc.org
TESTED=Printed using #pragma message to check that the define was properly used.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8090 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-19 12:46:01 +00:00
2624b1ed23 Remove unused private data member engine_id_
BUG=chromium:447445
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8088 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-19 07:54:29 +00:00
fe672e3839 release the turn allocation by sending a refresh request with lifetime 0
BUG=406578

Patch originally from philipp.hancke@googlemail.com

R=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8087 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-17 00:58:15 +00:00
d7de1209ae Re-enable the messagequeue unittests. These were commented out at one point but never reenabled.
R=hellner@chromium.org, henrike@webrtc.org
CC=juberti@webrtc.org,pthatcher@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8086 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-16 17:52:53 +00:00
a1aea10af2 Revert r8076 "Add UMA stats for tracking the time it takes to reach a BWE of 500, 1000 and 2000 kbps."
TBR=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8085 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-16 13:52:52 +00:00
4ba1e44ff0 Remove unnecessary remote bitrate estimator build rule which serves no purpose.
BUG=4185
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8084 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-16 07:50:17 +00:00
357469da5a Fixes reference counting problem when a TransportProxy points to a Transport prior to creating channels.
Until the TransportProxy enters the "negotiated" state we only create
ChannelImpls but we don't hook up to them. However, we still neeed to
reserve their spot and increment the reference count.

Once we are negotiated we can hook all the ChannelProxy's to the
corresponding ChannelImpls.

This change is needed to implement maxbundle.

BUG=1574
R=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8082 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 22:53:49 +00:00
64d3c4b9ac Support 48kHz in AEC
Doing something similar for the band 16-24kHz to what is done for the band 8-16kHz. The only difference is that there is no comfort noise added in this band. Could not test how this sounds because there are no aecdumps with 48kHz sample rate as nfar as I know.
Tested for 32kHz sample rate and the output is bitexact with how it was before this CL.

BUG=webrtc:3146
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8080 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 19:52:05 +00:00
89aa276e2e Fix a case where empty candidate id is used
BUG=4161
R=juberti@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=8071

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8079 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 18:52:36 +00:00
d82f55d2a7 Only adapt AGC when the desired signal is present
Take the 50% quantile of the mask and compare it to certain threshold to determine if the desired signal is present. A hold is applied to avoid fast switching between states.
is_signal_present_ has been plotted and looks as expected. The AGC adaptation sounds promising, specially for the cases when the speaker fades in and out from the beam direction.

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8078 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 18:07:21 +00:00
3e42a8a56a Add UMA stats for tracking the time it takes to reach a BWE of 500, 1000 and 2000 kbps.
BUG=crbug:425925
R=asapersson@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8076 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 14:45:27 +00:00
32e8528581 Log configs when creating video streams in Call.
Adds VideoReceiveStream::Config::ToString and logs configs in both
Call::CreateVideoSendStream and Call::CreateVideoReceiverStream.

R=mflodman@webrtc.org
BUG=1667

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8075 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 10:09:39 +00:00
1f67b53c88 Remove dual stream functionality in ACM
This is old code that is no longer in use. The clean-up is part of the
ACM redesign work. With this change, there is no longer need for the
ProcessDualStream method, which is removed. Consequently, the method
ProcessSingleStream is renamed to Process.

BUG=3520
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8074 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 09:36:30 +00:00
9ce01e6416 Clean unnecessary workaround for chromium import.
BUG=4185
R=kjellander@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8073 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 09:12:45 +00:00
0800db74b9 Add percentage of fec packets and recovered media packets to histogram stats:
- "WebRTC.Video.ReceivedFecPacketsInPercent"
- "WebRTC.Video.RecoveredMediaPacketsInPercentOfFec"

BUG=crbug/419657
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8072 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 07:40:20 +00:00
61c1247224 Fix a case where empty candidate id is used
BUG=4161
R=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8071 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 06:53:07 +00:00
6c3855258d Add WebRtcIsacfix_AllpassFilter2FixDec16Neon()'s intrinsics version.
This intrinsics version gives bit-exact result as the current C
code. And the performance is 14% better than current assembly
neon version, 3.4 times faster than current C version. The test runs
under Cortex-a53 aarch32 mode, other cpu should give similar performance
result.

Change-Id: Icce5eaf2e17790ce44513d52b53b9f600cc16f96

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8070 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 02:56:06 +00:00
5a92b78e86 Add beamforming to audioproc_float utility.
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8069 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 01:28:36 +00:00
6b6301588e Move ring_buffer to common_audio.
In preparation for adding a C++ wrapper in common_audio. Also, change
the return type of Init to void and call it from Create.

R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8068 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 00:09:53 +00:00
693e01c910 Fix searching for DirectX SDK during GN build.
Before that GN just checked for DXSDK_DIR environment variable.
GYP does more and checks registry, let's do the same in GN.

R=kjellander@webrtc.org

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

Patch from Vyacheslav Chigrin <vchigrin@yandex-team.ru>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8066 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 21:25:25 +00:00
e5a31e1bf5 Revert removing of compile_assert.h.
In https://webrtc-codereview.appspot.com/39469004 compile_assert.h is removed and that resulted in some bots to break. There is a pending CL to fix the issue https://chromereviews.googleplex.com/141837013/
, meanwhile I revert this change.

TBR=kwiberg@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8064 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 17:17:11 +00:00
387841ac5c Improved fairness simulation by starting the flows 20 seconds apart.
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8062 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 16:45:29 +00:00
f18fba2f7b Implement SimulcastEncoderAdapter support.
R=stefan@webrtc.org
BUG=1788

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8061 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 16:26:23 +00:00
8315d7de85 Remove dual stream functionality in VoiceEngine
This is old code that is no longer in use. The clean-up is part of the
ACM redesign work. The corresponding code in ACM will be deleted in a
follow-up CL.

BUG=3520
R=henrika@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8060 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 16:07:26 +00:00
2ebfac5649 Remove COMPILE_ASSERT and use static_assert everywhere
COMPILE_ASSERT is no longer needed now that we have C++11's
static_assert.

R=aluebs@webrtc.org, andrew@webrtc.org, hellner@chromium.org, henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8058 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 10:51:54 +00:00
86e1e487e7 Move system_wrappers.gyp files to the proper directory.
Build targets should not refer to non-subpaths as was happening before when
 source/system_wrappers.gyp refers to ../interface/ files.

R=kjellander@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8057 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 09:30:52 +00:00
f7a5893f80 Combine RegKeyTests to prevent parallel execution.
Executing these tests in parallel causes failures due to conflicting
registry keys, combining them to unblock launching a parallel win32 bot.
Ideally these keys would be generated differently per-process and not
conflict at all (so it can be run in parallel repeatedly alongside itself).

BUG=4162
R=kjellander@webrtc.org
TBR=pthatcher@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8055 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 09:03:16 +00:00
d6e84d9d13 Always copy processed audio to output buffer in ProcessStream.
In the old AudioFrame ProcessStream API, input and output buffers were shared.
Now that the buffers are distinct, the input must be copied to the
output even when no processing occurred.

R=andrew@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=78de5010d167d1e375e05d26177aad43c2e2de08

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8052 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 01:33:54 +00:00
c0da63c707 Optimize minimum delay in blocker
Could not hear any difference when running the beamformer_test, although sample-wise it changes because of the non-linear character of the processing.

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8051 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-13 22:28:35 +00:00