Commit Graph

18413 Commits

Author SHA1 Message Date
13790bec6b Add suppression for "uninitialized memory" error in getaddrinfo.
I'm unsure what caused this to start occurring, but I don't believe it's
webrtc's fault, so I'm adding a suppression for now.

BUG=webrtc:7973
TBR=kjellander@webrtc.org
NOTRY=true

Review-Url: https://codereview.webrtc.org/2977723003
Cr-Commit-Position: refs/heads/master@{#18981}
2017-07-12 00:54:15 +00:00
8290ddfbce Revert of Delete SignalThread class. (patchset #20 id:380001 of https://codereview.webrtc.org/2915253002/ )
Reason for revert:
Seems to be causing new crashes, possibly because of changes to the "Destroy(false)" behavior. Will re-land after investigating these crashes more and addressing the root cause.

Original issue's description:
> Delete SignalThread class.
>
> Rewrite AsyncResolver to use PlatformThread directly, not
> SignalThread, and update includes of peerconnection client to not
> depend on signalthread.h.
>
> BUG=webrtc:6424,webrtc:7723
>
> Review-Url: https://codereview.webrtc.org/2915253002
> Cr-Commit-Position: refs/heads/master@{#18833}
> Committed: bc8feda1db

TBR=tommi@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org
NOPRESUBMIT=true
NOTRY=true
BUG=webrtc:6424,webrtc:7723

Review-Url: https://codereview.webrtc.org/2979733002
Cr-Commit-Position: refs/heads/master@{#18980}
2017-07-11 23:56:05 +00:00
1095ada7ad Revert of Injectable Obj-C video codecs (patchset #8 id:140001 of https://codereview.webrtc.org/2966023002/ )
Reason for revert:
Causes no video in certain scenarios. Please come up with a test plan or unit test to prevent such problems in the future.

Original issue's description:
> Injectable Obj-C video codecs
>
> Initial CL for this effort, with a working RTCVideoEncoder/Decoder for H264
> (wrapping the VideoToolbox codec).
>
> Some notes / things left to do:
>   - There are some hard-coded references to codec types that are supported by
>     webrtc::VideoCodec, cricket::VideoCodec, webrtc::CodecSpecificInfo etc
>     since we need to convert to/from these types in ObjCVideoEncoder/Decoder.
>     These types would need to be more codec agnostic to avoid this.
>   - Most interfaces are borrowed from the design document for injectable
>     codecs in Android. Some data in the corresponding C++ classes is discarded
>     when converting to the Obj-C version, since it has fewer fields. I have not
>     verified whether all data that we do keep is needed, or whether we might be
>     losing anything useful in these conversions.
>   - Implement the VideoToolbox codec code directly in the RTCVideoEncoderH264
>     classes, instead of wrapping webrtc::H264VideoToolboxEncoder / decoder.
>     Eliminates converting between ObjC/C++ types outside the ObjCVideoEncoder/
>     Decoder wrapper classes.
>   - List the injected codec factory's supported codecs in the list of codecs in
>     AppRTCMobile.
>
> BUG=webrtc:7924
> R=magjed@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2966023002 .
> Cr-Commit-Position: refs/heads/master@{#18928}
> Committed: a0349c138d

TBR=magjed@webrtc.org,andersc@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7924
NOTRY=true

Review-Url: https://codereview.webrtc.org/2975963002
Cr-Commit-Position: refs/heads/master@{#18979}
2017-07-11 22:46:31 +00:00
aa41f0cfa6 API for periodically regathering ICE candidates
Adds to the RTCConfiguration `ice_regather_interval_range` which, when
set, specifies the randomized delay between automatic runs of ICE
regathering. The regathering will occur on all networks and re-use the
existing ICE ufrag/password. New connections are established once the
candidates come back and WebRTC will automatically switch to the new
connection that corresponds to the currently selected connection.

Bug: webrtc:7969
Change-Id: I6bbf5439a48e285f704aed9f408631cba038c82b
Reviewed-on: https://chromium-review.googlesource.com/562505
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18978}
2017-07-11 21:49:38 +00:00
f1f9889c44 Roll chromium_revision 2c2aec8ef0..72d8fe0dd3 (485610:485684)
Change log: 2c2aec8ef0..72d8fe0dd3
Full diff: 2c2aec8ef0..72d8fe0dd3

Changed dependencies:
* src/base: 6d855f0574..1f504fa006
* src/build: 2b042c14f0..7e59b44eb6
* src/ios: e138ea0ef3..7b25a7f38f
* src/testing: 4f8f5ece0a..78c251f6c1
* src/third_party: 149c7500f3..22625e4eb8
* src/tools: 260ac1d5dd..842d25d3f2
DEPS diff: 2c2aec8ef0..72d8fe0dd3/DEPS

No update to Clang.

TBR=
BUG=chromium:740980
NOTRY=True
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2980633002
Cr-Commit-Position: refs/heads/master@{#18977}
2017-07-11 21:28:37 +00:00
b8e7a7d7df Use correct value for CFBundleExecutable and CFBundleName.
NOTRY=True
TBR=magjed@webrtc.org

Bug: chromium:740980
Change-Id: I017c1632bf58aecad03ca8fb47ca09616bcb90c3
Reviewed-on: https://chromium-review.googlesource.com/567150
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18976}
2017-07-11 19:12:57 +00:00
950c1c908c TransmitMixer: Check GetSendCodec return value.
BUG=b/62909493

Review-Url: https://codereview.webrtc.org/2973083002
Cr-Commit-Position: refs/heads/master@{#18975}
2017-07-11 15:19:31 +00:00
29d0840b5c Reland of Refactor timing frame logic to work with encoders with internal sources (patchset #1 id:1 of https://codereview.webrtc.org/2980533002/ )
BUG=webrtc:7594,webrtc:7893

Review-Url: https://codereview.webrtc.org/2974893002
Cr-Commit-Position: refs/heads/master@{#18974}
2017-07-11 15:08:12 +00:00
2fbd7719b0 Roll chromium_revision dea6441d2d..2c2aec8ef0 (485283:485610)
Change log: dea6441d2d..2c2aec8ef0
Full diff: dea6441d2d..2c2aec8ef0

Changed dependencies:
* src/base: 6c8397f09a..6d855f0574
* src/build: fd574d91e3..2b042c14f0
* src/ios: b9a5aba9bc..e138ea0ef3
* src/testing: eca18e3799..4f8f5ece0a
* src/third_party: 237861e668..149c7500f3
* src/third_party/catapult: 72646aa580..fc9479ad5e
* src/third_party/libvpx/source/libvpx: ec4afbf74a..4e16f70703
* src/tools: 93b558504b..260ac1d5dd
DEPS diff: dea6441d2d..2c2aec8ef0/DEPS

No update to Clang.

TBR=marpan@webrtc.org,
NOTRY=True
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2974213002
Cr-Commit-Position: refs/heads/master@{#18973}
2017-07-11 15:02:31 +00:00
82c5593cb6 Let alr detector use a budged to detect underuse.
BUG=webrtc:7947

Review-Url: https://codereview.webrtc.org/2965233002
Cr-Commit-Position: refs/heads/master@{#18972}
2017-07-11 13:56:04 +00:00
87b6ddb561 Suppress MissingPrefix using tools attribute
Suppressing lint errors using comments is an undocumented feature of the
linter, and suppressing using the tools:ignore attribute should be
preferred.

Suppressing using comments becomes a problem when using the manifest
merger introduced in
6ada47bc79
as it reformats the comments slightly:
  <!--suppress MissingPrefix -->
becomes
  <!-- supress MissingPrefix -->
which causes the linter to disregard the suppression.

Bug: 740657
Change-Id: I8e365744d089271c390254e7c958b24b81043766
Reviewed-on: https://chromium-review.googlesource.com/566860
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Ingemar Ådahl <ingemara@opera.com>
Cr-Commit-Position: refs/heads/master@{#18971}
2017-07-11 13:41:35 +00:00
c024740b5e Use relative paths in GN files.
BUG=webrtc:7952
TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2974863003
Cr-Commit-Position: refs/heads/master@{#18970}
2017-07-11 13:20:45 +00:00
c45d6d9c85 Remove dependency on rtc::Thread and rtc_base from audio_mixer_unittests.
Instead, use a TaskQueue in the only test that required it.

BUG=none

Review-Url: https://codereview.webrtc.org/2975883002
Cr-Commit-Position: refs/heads/master@{#18969}
2017-07-11 13:17:10 +00:00
14c11a4712 Add adaptive notch filter to remove narrowband echo components in AEC3
This CL adds detection of components in the render signal that are of
strong narrowband nature and therefore may cause problems for the AEC.
This CL also adds functionality in the echo suppressor to suppress
these signals

BUG=webrtc:7967

Review-Url: https://codereview.webrtc.org/2980493002
Cr-Commit-Position: refs/heads/master@{#18968}
2017-07-11 13:13:43 +00:00
5e6685ff35 Robustification of the AEC3 echo removal in the first part of the call
This CL robustifies the echo removal in AEC3 during the initial parts
of a call in two ways:
-By extending the period until which a headset is deemed to be used.
-By increasing the assumed echo path gain for unknown echo paths at
higher frequencies.

BUG=webrtc:7971

Review-Url: https://codereview.webrtc.org/2974883002
Cr-Commit-Position: refs/heads/master@{#18967}
2017-07-11 11:19:58 +00:00
c1abde7e8e Call should allow pass through of keep-alive packets.
Don't force requirement of media type for those packets.

BUG=webrtc:7964

Review-Url: https://codereview.webrtc.org/2973323002
Cr-Commit-Position: refs/heads/master@{#18966}
2017-07-11 10:56:21 +00:00
7fc3f15686 Now uses CallStaticObjectMethodV to an variable argument list argument
BUG=webrtc:7965

Review-Url: https://codereview.webrtc.org/2974913002
Cr-Commit-Position: refs/heads/master@{#18965}
2017-07-11 10:52:09 +00:00
1e50748d47 Revert of Make "set_ignore_non_default_routes" actually use its argument. (patchset #1 id:1 of https://codereview.webrtc.org/2974873002/ )
Reason for revert:
Breaks Linux memcheck bot.
https://bugs.chromium.org/p/webrtc/issues/detail?id=7973

Original issue's description:
> Make "set_ignore_non_default_routes" actually use its argument.
>
> It takes a bool argument, but unconditionally sets the flag to "true".
> Since no comment is left to offer an explanation, I'm assuming this was
> an accident.
>
> BUG=webrtc:7716
> TBR=pthatcher@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2974873002
> Cr-Commit-Position: refs/heads/master@{#18959}
> Committed: 05314c3252

TBR=pthatcher@webrtc.org,pthatcher@google.com,deadbeef@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7716

Review-Url: https://codereview.webrtc.org/2974193002
Cr-Commit-Position: refs/heads/master@{#18964}
2017-07-11 10:45:59 +00:00
e5c4a810e2 Move RTP keep-alive config from VideoSendStream::Config to Call::Config
This makes more sense since logically it's a transport level feature,
not a media stream feature. Even if the implementation details forces it
to be an rtp stream detail, for the moment.

BUG=webrtc:7907

Review-Url: https://codereview.webrtc.org/2978503002
Cr-Commit-Position: refs/heads/master@{#18963}
2017-07-11 10:44:17 +00:00
2910357621 Transparency improvements in the echo canceller 3
This CL adds two changes:
-Adaptive adjustment of the echo suppression to both cover the cases
when the echo path well covers the room, and when when it does not.
-Identification of the case when the echo is too low to be audible
and adaptive handling of this case in the echo suppression.

BUG=webrtc:7519, webrtc:7956,webrtc:7957

Review-Url: https://codereview.webrtc.org/2974583004
Cr-Commit-Position: refs/heads/master@{#18962}
2017-07-11 09:54:02 +00:00
863f03ba38 Fix video_replay tool to respect RTX stream and fix default parameters.
Defaults are consistent with these used in CallTest.

BUG=none

Review-Url: https://codereview.webrtc.org/2972423002
Cr-Commit-Position: refs/heads/master@{#18961}
2017-07-11 09:38:36 +00:00
d8cf08f166 Don't call CreateDtlsTransport_n from non-network thread in WebRtcSession
I'm not sure if it's possible to hit this code any more, but better
safe than sorry.

BUG=webrtc:7714
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2978573002
Cr-Commit-Position: refs/heads/master@{#18960}
2017-07-11 03:06:59 +00:00
05314c3252 Make "set_ignore_non_default_routes" actually use its argument.
It takes a bool argument, but unconditionally sets the flag to "true".
Since no comment is left to offer an explanation, I'm assuming this was
an accident.

BUG=webrtc:7716
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2974873002
Cr-Commit-Position: refs/heads/master@{#18959}
2017-07-11 02:52:28 +00:00
48956a195c Remove unused headers from remote_bitrate_estimator_single_stream.cc
BUG=None

Review-Url: https://codereview.webrtc.org/2980473003
Cr-Commit-Position: refs/heads/master@{#18958}
2017-07-10 19:46:25 +00:00
0b1e2f3279 Revert of Refactor timing frame logic to work with encoders with internal sources (patchset #2 id:20001 of https://codereview.webrtc.org/2968153002/ )
Reason for revert:
Failing chromoting tests

Original issue's description:
> Refactor timing frame logic to work with encoders with internal sources
>
> BUG=webrtc:7594,webrtc:7893
>
> Review-Url: https://codereview.webrtc.org/2968153002
> Cr-Commit-Position: refs/heads/master@{#18955}
> Committed: a7a4535a35

TBR=sprang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7594,webrtc:7893

Review-Url: https://codereview.webrtc.org/2980533002
Cr-Commit-Position: refs/heads/master@{#18957}
2017-07-10 19:25:29 +00:00
bc8ee33658 Remove verbose logs from audio_coding_module.cc.
PlayoutFrequency(), at least, is called ~200 times a second. The others
appear to not be in practice, but it's unclear what value they serve.

They were traces before https://chromium-review.googlesource.com/c/518133/,
which was more reasonable, as you could enable them for just audio
coding traces. But now that they are just logs, they make all VERBOSE
logging unusable.

Bug: webrtc:7959
Change-Id: I190a61c8ff4c0f047798087e80adbb41d791fc29
Reviewed-on: https://chromium-review.googlesource.com/563881
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Noah Richards <noahric@chromium.org>
Cr-Commit-Position: refs/heads/master@{#18956}
2017-07-10 17:36:28 +00:00
a7a4535a35 Refactor timing frame logic to work with encoders with internal sources
BUG=webrtc:7594,webrtc:7893

Review-Url: https://codereview.webrtc.org/2968153002
Cr-Commit-Position: refs/heads/master@{#18955}
2017-07-10 17:03:23 +00:00
5ce5a4751c Roll chromium_revision b98c4727fc..dea6441d2d (485244:485283)
Change log: b98c4727fc..dea6441d2d
Full diff: b98c4727fc..dea6441d2d

Changed dependencies:
* src/build: 89f39ee351..fd574d91e3
* src/ios: dfd6769647..b9a5aba9bc
* src/third_party: 141fb2b157..237861e668
* src/third_party/catapult: f3726edb45..72646aa580
* src/tools: ef8c907dee..93b558504b
DEPS diff: b98c4727fc..dea6441d2d/DEPS

No update to Clang.

TBR=
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2979553002
Cr-Commit-Position: refs/heads/master@{#18954}
2017-07-10 16:30:49 +00:00
d2702ef110 Fix flaky test VideoSendStreamTest.SendsKeepAlive
Since the keep-alive payload type is not registered in the payload type
map of FakeNetworkPipe, it will cause a DCHECK to trigger unless we're
able to destroy the call before that.

Just register it in the fake network as media type "any", it will be
discarded early on the receive side anyway.

BUG=webrt:7964

Review-Url: https://codereview.webrtc.org/2979543002
Cr-Commit-Position: refs/heads/master@{#18953}
2017-07-10 15:41:10 +00:00
fe53355dcb Fix presubmit check for webrtc/base.
Show a warning only when there's something to warn about.

TBR=kjellander@webrtc.org
NOTRY=True
BUG=webrtc:7634

Review-Url: https://codereview.webrtc.org/2974093002
Cr-Commit-Position: refs/heads/master@{#18952}
2017-07-10 14:04:10 +00:00
ea0e08400c Add presubmit check to prevent further changes to webrtc/base.
R=mbonadei@webrtc.org
TBR=kjellander@webrtc.org
NOTRY=True
BUG=webrtc:7634

Review-Url: https://codereview.webrtc.org/2972363002
Cr-Commit-Position: refs/heads/master@{#18951}
2017-07-10 13:44:09 +00:00
78460a712a Roll chromium_revision 8e79102feb..b98c4727fc (485221:485244)
Change log: 8e79102feb..b98c4727fc
Full diff: 8e79102feb..b98c4727fc

Changed dependencies:
* src/base: e97cb732ff..6c8397f09a
* src/ios: bddd825b22..dfd6769647
* src/testing: 42ff042710..eca18e3799
* src/third_party: 63ca4b90f3..141fb2b157
* src/third_party/catapult: 00b0c16c97..f3726edb45
* src/tools: 8e4aeb7bb9..ef8c907dee
DEPS diff: 8e79102feb..b98c4727fc/DEPS

No update to Clang.

TBR=
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2977563002
Cr-Commit-Position: refs/heads/master@{#18950}
2017-07-10 13:31:29 +00:00
370dd47973 Revert of Remove remains of webrtc/base (patchset #7 id:120001 of https://codereview.webrtc.org/2973183002/ )
Reason for revert:
Breaks lots of downstream projects.

Original issue's description:
> Remove remains of webrtc/base
>
> All downstream code have been updated to the new location.
>
> In PRESUBMIT.py:
> * Remove webrtc/rtc_base from CPP_BLACKLIST
> * Add webrtc/rtc_base to LEGACY_API_DIRS
>
> Fix some duplicated paths in
> webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn
>
> BUG=webrtc:7634
> TBR=kwiberg@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2973183002
> Cr-Commit-Position: refs/heads/master@{#18948}
> Committed:
9483b49baf

TBR=kwiberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7634

Review-Url: https://codereview.webrtc.org/2976633002
Cr-Commit-Position: refs/heads/master@{#18949}
2017-07-10 12:58:42 +00:00
9483b49baf Remove remains of webrtc/base
All downstream code have been updated to the new location.

In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS

Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn

BUG=webrtc:7634
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2973183002
Cr-Commit-Position: refs/heads/master@{#18948}
2017-07-10 11:50:54 +00:00
ccd7328c3c Roll chromium_revision a28aeb7be0..8e79102feb (485062:485221)
Change log: a28aeb7be0..8e79102feb
Full diff: a28aeb7be0..8e79102feb

Changed dependencies:
* src/base: f2196895af..e97cb732ff
* src/build: 1b36d1d2b7..89f39ee351
* src/ios: b23bd93a72..bddd825b22
* src/testing: 2945c7249a..42ff042710
* src/third_party: afbc77557f..63ca4b90f3
* src/third_party/catapult: 1e3b1949cd..00b0c16c97
* src/tools: 1d5fd8bcb3..8e4aeb7bb9
DEPS diff: a28aeb7be0..8e79102feb/DEPS

No update to Clang.

TBR=
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2980473002
Cr-Commit-Position: refs/heads/master@{#18947}
2017-07-10 10:38:51 +00:00
6c9556e7f1 Prevent warnings in PacketRouterTest and PacketRouterRembTest
Change MockRtpRtcp to NiceMock<MockRtpRtcp> throughout PacketRouterTest and PacketRouterRembTest (12 tests in total), to suppress a large number of warnings which are currently ignored.

BUG=None

Review-Url: https://codereview.webrtc.org/2977533002
Cr-Commit-Position: refs/heads/master@{#18946}
2017-07-10 10:33:00 +00:00
6cc25614a9 Remove webrtc::VideoEncoderFactory
Replace the use of webrtc::VideoEncoderFactory with
cricket::WebRtcVideoEncoderFactory and remove the adapter classes
between these two factory types.

Some code changes were necessary in order to accomplish this:
 * Move SimulcastEncoderAdapter from
   webrtc/modules/video_coding/codecs/vp8 to webrtc/media/engine (that's
   where it's used).
 * Rename simulcast_unittest.h to simulcast_test_utility.h and make it
   into it's own target, because it's used from both
   simulcast_unittest.cc and simulcast_encoder_adapter_unittest.cc.
 * Remove ownership of the encoder factory from SimulcastEncoderAdapter,
   and make the necessary changes in surrounding code.

The goal with this CL is to clean up the code, and also to free up
the name webrtc::VideoEncoderFactory for future use.

BUG=webrtc:7925

Review-Url: https://codereview.webrtc.org/2964953002
Cr-Commit-Position: refs/heads/master@{#18945}
2017-07-10 10:26:36 +00:00
c453b08f1e Adding log in OrtcFactoryIntegrationTest and fix a bug.
BUG=webrtc:7915

Change-Id: I89aa48d9a182cf86cf59dc438c9095eb8ab38c58
Reviewed-on: https://chromium-review.googlesource.com/558421
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18944}
2017-07-10 10:00:30 +00:00
0b249c24bf Refactor gunit for synergy to gtest.
BUG=webrtc:7958

Change-Id: I83ff689cef022967e6c58df5eaee8de6fc5cdba8
Reviewed-on: https://chromium-review.googlesource.com/563311
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18943}
2017-07-10 10:00:30 +00:00
539d104e3e Revert of Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on wt (patchset #2 id:20001 of https://codereview.webrtc.org/2964863002/ )
Reason for revert:
It breaks a downstream project.

Original issue's description:
> Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on the worker thread.
>
> Added documentation of thread expectations for video tracks and sources to the API.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2964863002
> Cr-Commit-Position: refs/heads/master@{#18938}
> Committed: f1377f7222

TBR=deadbeef@webrtc.org,noahric@chromium.org,yujo@chromium.org,perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=None

Review-Url: https://codereview.webrtc.org/2979493003
Cr-Commit-Position: refs/heads/master@{#18942}
2017-07-10 09:40:49 +00:00
bffe597e69 Convert occurrences of deprecated WEBRTC_TRACE logging to LOG style logging in webrtc/modules/audio_device/linux/audio_device_pulse_linux.cc.
First patch set uses a script attached in an issue comment:
https://bugs.chromium.org/p/webrtc/issues/detail?id=5118#c24
This discards the boilerplate prefix of WEBRTC_TRACE log strings, but it appears to be discarded anyway by all users.

Second patch set removes the header and makes small fixes to four of the log messages.

BUG=webrtc:5118

Review-Url: https://codereview.webrtc.org/2958273002
Cr-Commit-Position: refs/heads/master@{#18941}
2017-07-10 08:05:45 +00:00
5de068082b Add a check in the BlockBuffer of AEC2 to guard for buffer overflows.
Ensure that the ring buffer does not return a pointer into the buffer if
no data is available to read.

The ring buffer fix is not directly applicable to issue webrtc:7845, but may cause related memory errors.

BUG=webrtc:7845

Review-Url: https://codereview.webrtc.org/2971313002
Cr-Commit-Position: refs/heads/master@{#18940}
2017-07-10 08:01:09 +00:00
3ffa72d0f0 Add AudioFrame::ResetWithoutMuting() to address performance regression.
Prior to https://codereview.webrtc.org/2750783004/ Reset() intentionally
did not zero out the buffer. After that change, callers calling Reset()
and then mutable_data() were performing a wasteful zeroing.

This change adds ResetWithoutMuting() to match the old behavior and
switches the sole non-test caller of Reset() to use ResetWithoutMuting()
instead.

Prior to this change (optimized, Linux):
$ out/Default/webrtc_perf_tests --gtest_filter=NetEqPerformanceTest.Run* \
  --gtest_repeat=10 | grep neteq_performance
*RESULT neteq_performance: 10_pl_10_drift= 4051 ms
*RESULT neteq_performance: 0_pl_0_drift= 1768 ms
*RESULT neteq_performance: 10_pl_10_drift= 3666 ms
*RESULT neteq_performance: 0_pl_0_drift= 1690 ms
*RESULT neteq_performance: 10_pl_10_drift= 3685 ms
*RESULT neteq_performance: 0_pl_0_drift= 1693 ms
*RESULT neteq_performance: 10_pl_10_drift= 3720 ms
*RESULT neteq_performance: 0_pl_0_drift= 1690 ms
*RESULT neteq_performance: 10_pl_10_drift= 3780 ms
*RESULT neteq_performance: 0_pl_0_drift= 1728 ms
*RESULT neteq_performance: 10_pl_10_drift= 3733 ms
*RESULT neteq_performance: 0_pl_0_drift= 1737 ms
*RESULT neteq_performance: 10_pl_10_drift= 3781 ms
*RESULT neteq_performance: 0_pl_0_drift= 1744 ms
*RESULT neteq_performance: 10_pl_10_drift= 3712 ms
*RESULT neteq_performance: 0_pl_0_drift= 1731 ms
*RESULT neteq_performance: 10_pl_10_drift= 3681 ms
*RESULT neteq_performance: 0_pl_0_drift= 1691 ms
*RESULT neteq_performance: 10_pl_10_drift= 3681 ms
*RESULT neteq_performance: 0_pl_0_drift= 1690 ms

With this change:
$ out/Default/webrtc_perf_tests --gtest_filter=NetEqPerformanceTest.Run* \
  --gtest_repeat=10 | grep neteq_performance
*RESULT neteq_performance: 10_pl_10_drift= 3824 ms
*RESULT neteq_performance: 0_pl_0_drift= 1632 ms
*RESULT neteq_performance: 10_pl_10_drift= 3502 ms
*RESULT neteq_performance: 0_pl_0_drift= 1521 ms
*RESULT neteq_performance: 10_pl_10_drift= 3520 ms
*RESULT neteq_performance: 0_pl_0_drift= 1534 ms
*RESULT neteq_performance: 10_pl_10_drift= 3517 ms
*RESULT neteq_performance: 0_pl_0_drift= 1530 ms
*RESULT neteq_performance: 10_pl_10_drift= 3521 ms
*RESULT neteq_performance: 0_pl_0_drift= 1527 ms
*RESULT neteq_performance: 10_pl_10_drift= 3511 ms
*RESULT neteq_performance: 0_pl_0_drift= 1533 ms
*RESULT neteq_performance: 10_pl_10_drift= 3518 ms
*RESULT neteq_performance: 0_pl_0_drift= 1523 ms
*RESULT neteq_performance: 10_pl_10_drift= 3503 ms
*RESULT neteq_performance: 0_pl_0_drift= 1524 ms
*RESULT neteq_performance: 10_pl_10_drift= 3514 ms
*RESULT neteq_performance: 0_pl_0_drift= 1534 ms
*RESULT neteq_performance: 10_pl_10_drift= 3501 ms
*RESULT neteq_performance: 0_pl_0_drift= 1530 ms

BUG=webrtc:7343,chromium:738852,chromium:738839

Change-Id: Idcbb276ca0ed27fff95164a73f1c1fa310175ee5
Reviewed-on: https://chromium-review.googlesource.com/563021
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18939}
2017-07-08 23:36:26 +00:00
f1377f7222 Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on the worker thread.
Added documentation of thread expectations for video tracks and sources to the API.

BUG=None

Review-Url: https://codereview.webrtc.org/2964863002
Cr-Commit-Position: refs/heads/master@{#18938}
2017-07-07 23:38:28 +00:00
cf39dd5d82 Add RTC_FROM_HERE location information to two DCHECKs in ProcessThread.
BUG=none
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2967693002
Cr-Commit-Position: refs/heads/master@{#18937}
2017-07-07 23:24:34 +00:00
f88f72dd16 Roll chromium_revision 85f2caa791..a28aeb7be0 (484906:485062)
Change log: 85f2caa791..a28aeb7be0
Full diff: 85f2caa791..a28aeb7be0

Changed dependencies:
* src/base: c70dc1b9ee..f2196895af
* src/build: 1cef53c750..1b36d1d2b7
* src/ios: 57d1fb9e50..b23bd93a72
* src/testing: d1f2428318..2945c7249a
* src/third_party: 020af231b1..afbc77557f
* src/third_party/catapult: 3e38417eed..1e3b1949cd
* src/tools: 88047361a0..1d5fd8bcb3
DEPS diff: 85f2caa791..a28aeb7be0/DEPS

No update to Clang.

TBR=
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/2973993002
Cr-Commit-Position: refs/heads/master@{#18936}
2017-07-07 22:34:54 +00:00
4dde3df3b5 Move SrtpSession and tests to their own files.
BUG=None

Review-Url: https://codereview.webrtc.org/2976443002
Cr-Commit-Position: refs/heads/master@{#18935}
2017-07-07 21:26:25 +00:00
7d0a77eef4 Handle case where UDP packet contains multiple DTLS records.
Our DTLS implementation doesn't do this, but other implementations may; see https://tools.ietf.org/html/rfc6347#section-4.1.1.

BUG=chromium:537189

Review-Url: https://codereview.webrtc.org/2970883005
Cr-Commit-Position: refs/heads/master@{#18934}
2017-07-07 20:44:07 +00:00
7480da4118 Trace loggging: Check for g_event_logger is not null before calling it.
BUG=webrtc:7868

Review-Url: https://codereview.webrtc.org/2961663002
Cr-Commit-Position: refs/heads/master@{#18933}
2017-07-07 18:02:15 +00:00
fb660ae633 Decreased the adaptation rate for the adaptive filter in the echo canceller 3
BUG=webrtc:7955

Review-Url: https://codereview.webrtc.org/2968223003
Cr-Commit-Position: refs/heads/master@{#18932}
2017-07-07 14:59:24 +00:00