21042 Commits

Author SHA1 Message Date
Emircan Uysaler
98bf720f97 Reland "Add unit tests covering MultiplexImageComponent"
This is a reland of 4dc891f5e3a4bcad4db31e1af0ad45b6c471eef2.

Original change's description:
> Add unit tests covering MultiplexImageComponent
>
> This CL changes some types in MultiplexImage and MultiplexImageComponent. Also,
> adds unit test coverage in TestMultiplexAdapter for these structs.
>
> Bug: webrtc:7671
> Change-Id: I832d0466dc67d3b6b7fa0d3fb76f02c0190e474f
> Reviewed-on: https://webrtc-review.googlesource.com/44081
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Qiang Chen <qiangchen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#21770}

TBR=qiangchen@chromium.org

Bug: webrtc:7671
Change-Id: Ibc5e6fd0bf3db22838ca45c39f17c72bd5ca2a12
Reviewed-on: https://webrtc-review.googlesource.com/45880
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21810}
2018-01-30 17:29:56 +00:00
Edward Lemur
2e5966b3d3 Store video_quality_loopback_test perf results in Chart JSON format.
Adds a flag to store the perf results in a JSON file using the Chart
JSON format [1].

[1] https://github.com/catapult-project/catapult/blob/master/dashboard/docs/data-format.md

TBR=phoglund@webrtc.org

Bug: chromium:755660
Change-Id: I6a896654a4a558df217ddefa4e8a52a487cdbebd
Reviewed-on: https://webrtc-review.googlesource.com/43180
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21809}
2018-01-30 16:48:59 +00:00
Sami Kalliomäki
607f464b16 Remove ThreadUtils.waitUninterruptibly.
This method is an anti-pattern. Removes usage of the method from
CameraCapturer and deletes it.

Bug: webrtc:8456
Change-Id: I8a70ce968af412fa6e6b9308a9e05d6a8a1ba05d
Reviewed-on: https://webrtc-review.googlesource.com/46140
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21808}
2018-01-30 15:25:59 +00:00
Sami Kalliomäki
1a2f207485 Add sakal as an owner of rtc_base/java/src/org/webrtc.
Part of Android SDK is in this directory.

Bug: None
Change-Id: If5d7e2625e7b1461229850d4b40b05a49066b5fc
Reviewed-on: https://webrtc-review.googlesource.com/46200
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21807}
2018-01-30 15:21:39 +00:00
Mirko Bonadei
cf30d8b1ec Adding :isac_fix_c_arm_asm missing dependency.
TBR=phoglund@webrtc.org

Bug: None
Change-Id: I6cb1a442274a627e03a58098d74c8bbf00e492a3
Reviewed-on: https://webrtc-review.googlesource.com/46100
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21806}
2018-01-30 13:26:39 +00:00
henrika
fdc3863373 Fixes java.lang.NullPointerException in combination with call to onWebRtcAudioTrackInitError()
BUG=NONE

Change-Id: I5758a9f7be1dfd50cf34bf31d3aced2d744f5e58
Reviewed-on: https://webrtc-review.googlesource.com/46061
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21805}
2018-01-30 12:53:34 +00:00
Autoroller
775d7ec1bf Roll chromium_revision 34ad909848..6bbdd0a46f (532738:532839)
Change log: 34ad909848..6bbdd0a46f
Full diff: 34ad909848..6bbdd0a46f

Changed dependencies:
* src/base: 352cd788c1..6d586ab195
* src/build: 6491c4c2c8..f8323d8055
* src/testing: cd2b6a1191..b0dbf37c86
* src/third_party: 3694484c69..6344555f34
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/69f2184e9c..52dc3feb01
* src/tools: f3b128409c..f7efece782
DEPS diff: 34ad909848..6bbdd0a46f/DEPS

No update to Clang.

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

Change-Id: Ideb7ee647eaa24c772ec6c68bd0341c198ecb8fa
Reviewed-on: https://webrtc-review.googlesource.com/46080
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21804}
2018-01-30 12:37:29 +00:00
henrika
79d331b091 Removing henrika from p2p/OWNERS and rtc_base/OWNERS
BUG=NONE

Notry: true
Change-Id: Ieca6cfab5fe549070edf0eab706575b60c25348f
Reviewed-on: https://webrtc-review.googlesource.com/43380
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21803}
2018-01-30 10:16:19 +00:00
Danil Chapovalov
49456a5b33 Add hack to RtcpTransceiver to mitigate bug in RtcpReceiver of remote endpoint.
Bug: webrtc:8805
Change-Id: I540ff1d2503ba43723e82800b0bebd322f1af351
Reviewed-on: https://webrtc-review.googlesource.com/44481
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21802}
2018-01-30 09:57:09 +00:00
Niels Möller
f120cba82d Delete AudioMonitor and related code.
Bug: webrtc:8760
Change-Id: I0b11ec66b0f2576f52866864ba046191034a4d2d
Reviewed-on: https://webrtc-review.googlesource.com/39003
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Noah Richards <noahric@chromium.org>
Cr-Commit-Position: refs/heads/master@{#21801}
2018-01-30 09:48:29 +00:00
Danil Chapovalov
04164cc5ac When processing report blocks do not store rtt when it is not calculated
Otherwise bandwidth observer might miss rtt calculated from previous report block

Bug: webrtc:8805
Change-Id: If3c4f4ee2e923d440ff352e8b770442f1a11fa34
Reviewed-on: https://webrtc-review.googlesource.com/44480
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21800}
2018-01-30 09:42:49 +00:00
Sami Kalliomäki
82f96e6a56 Create an experimental Android NDK.
Following files were split:
sdk/android/native_api/jni_helpers.h
  -> sdk/android/native_api/jni/java_types.h
sdk/android/native_api/jni_helpers.cc
  -> sdk/android/native_api/jni/java_types.cc

Skipping presubmit to avoid changing moved code.

Bug: webrtc:8769

Change-Id: I0ef0f6b297b5002322915660d26cca33e91ff05b
No-Presubmit: true
Reviewed-on: https://webrtc-review.googlesource.com/40800
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21799}
2018-01-30 09:33:42 +00:00
Stefan Holmer
4f6e4f0884 Increase rtp_file_reader line length to support ipv6.
Bug: webrtc:8075
Change-Id: Ic4d90fb2e77e95f9c8a49557d8c8eaff881f8e2b
Reviewed-on: https://webrtc-review.googlesource.com/44300
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21798}
2018-01-30 08:53:49 +00:00
Sami Kalliomäki
f61b3ba65e Revert "Target SDK level 27 in AppRTCMobile."
This reverts commit af4f1b41277ebdf0d7386cbd2903abc709cbc183.

Reason for revert: Causes timeouts with loopback tests. Reverting and
investigating.

Original change's description:
> Target SDK level 27 in AppRTCMobile.
> 
> Implements the dynamic permission model required by the newer SDK and
> changes the theme.
> 
> Bug: webrtc:8803
> Change-Id: I3ea23a25b27f196fcffd018c7cdd2ff6255b62d9
> Reviewed-on: https://webrtc-review.googlesource.com/44400
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21788}

TBR=sakal@webrtc.org,andersc@webrtc.org

Change-Id: I4074c48fc7c7466765793244a5a7f60029bc7937
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8803
Reviewed-on: https://webrtc-review.googlesource.com/45980
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21797}
2018-01-30 08:34:31 +00:00
Autoroller
2036da9cd8 Roll chromium_revision da763f1ccd..34ad909848 (532638:532738)
Change log: da763f1ccd..34ad909848
Full diff: da763f1ccd..34ad909848

Changed dependencies:
* src/base: 2a3cdc3126..352cd788c1
* src/build: 33dd9b84fd..6491c4c2c8
* src/ios: e18677caa3..9deb3fd568
* src/testing: 1d4c820fb9..cd2b6a1191
* src/third_party: 131ce7168b..3694484c69
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/94cd196a80..a62dbf88d8
* src/third_party/depot_tools: 7a4ced2773..6fe29419be
* src/tools: 6a5902dcd8..f3b128409c
DEPS diff: da763f1ccd..34ad909848/DEPS

No update to Clang.

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

Change-Id: Id25046592f26325892cbe77380f49d64dc31382d
Reviewed-on: https://webrtc-review.googlesource.com/45921
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21796}
2018-01-30 03:34:13 +00:00
Autoroller
2baa39e81d Roll chromium_revision 5d01e2667f..da763f1ccd (531725:532638)
Change log: 5d01e2667f..da763f1ccd
Full diff: 5d01e2667f..da763f1ccd

Changed dependencies:
* src/base: b2ca0b612f..2a3cdc3126
* src/build: a02764f4fd..33dd9b84fd
* src/buildtools: 437a616be5..f115f47867
* src/ios: f8a86f1a1b..e18677caa3
* src/testing: dee45e96fe..1d4c820fb9
* src/third_party: 86dfb27ddf..131ce7168b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/c3373753de..69f2184e9c
* src/third_party/depot_tools: fd4ad24165..7a4ced2773
* src/third_party/libvpx/source/libvpx: 373e08f921..742ae4b24d
* src/tools: 3265525bff..6a5902dcd8
DEPS diff: 5d01e2667f..da763f1ccd/DEPS

No update to Clang.

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

Change-Id: I8466fa3aa3c88fe0c86d23d0401431305e6b1ab2
Reviewed-on: https://webrtc-review.googlesource.com/45863
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21795}
2018-01-29 23:43:26 +00:00
Emircan Uysaler
d7ae3c34e5 Reland "Rename stereo video codec to multiplex"
This is a reland of bbdabe50db0cf09f6007dda12a6476dc4602b174.

Original change's description:
> Rename stereo video codec to multiplex
>
> This CL only does the rename from"stereo" to multiplex". With this we have a
> better name that doesn't clash with audio's usage of stereo.
>
> Bug: webrtc:7671
> Change-Id: Iebc3fc20839025f1bc8bcf0e16141bf9744ef652
> Reviewed-on: https://webrtc-review.googlesource.com/43242
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21769}

TBR=niklas.enbom@webrtc.org

Bug: webrtc:7671
Change-Id: I6f38dc46126f279f334d52b56339b40acdc30511
Reviewed-on: https://webrtc-review.googlesource.com/45820
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21794}
2018-01-29 20:37:59 +00:00
Taylor Brandstetter
1f5e98d97e Increasing "SERVER_WAIT" for TCPChannelClient tests.
This is the time to wait after creating the server to ensure it's
listening before trying to connect to it. The previous value of 10 was
not enough; tests occasionally failed.

Bug: webrtc:8711
Change-Id: I67d592fdb9a863d574f2a33096b7050935693f4e
Reviewed-on: https://webrtc-review.googlesource.com/44521
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21793}
2018-01-29 19:39:49 +00:00
Jiawei Ou
dee9191fdf Use rtc::ToString instead of std::to_string
Use rtc::ToString instead of std::to_string.

std::to_string isn't usable in some versions of the Android NDK.

Most of the webrtc code (except test code) is using rtc::ToString(). This is the only instance that is using std::to_string()

Bug: None
Change-Id: Id8e234c3e48269dd115c6dc50867121f52cdc508
Reviewed-on: https://webrtc-review.googlesource.com/45560
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Jiawei Ou <ouj@fb.com>
Cr-Commit-Position: refs/heads/master@{#21792}
2018-01-29 19:26:09 +00:00
Mirko Bonadei
ca913b0549 Stop using public_deps in modules/audio_processing/aec_dump.
Bug: webrtc:8603
Change-Id: I8d21a195323bfa088003d47a67f41a387d0101fa
Reviewed-on: https://webrtc-review.googlesource.com/34186
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21791}
2018-01-29 13:13:08 +00:00
Niels Möller
e48c61fca7 Delete unused MediaFile module.
Delete the subdirectory modules/media_file, and all references to it.

Bug: none
Change-Id: I19d86420a7d1d51cb6174c914a90484918106c5a
Reviewed-on: https://webrtc-review.googlesource.com/40540
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21790}
2018-01-29 11:18:18 +00:00
Sami Kalliomäki
88a0c4add3 Never use surface mode in MediaCodecVideoEncoder if egl_context_ is null.
When using VideoFrames, expect_encode_from_texture is true even for
ByteBuffer frames. This causes the encoder to sometimes initialize
itself in surface mode even when egl_context_ is not available.
This leads to a crash.

Bug: webrtc:8776
Change-Id: I8cac36514725b8f430d7bf456d481a4b0c6fcd42
Reviewed-on: https://webrtc-review.googlesource.com/43861
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21789}
2018-01-29 11:03:37 +00:00
Sami Kalliomäki
af4f1b4127 Target SDK level 27 in AppRTCMobile.
Implements the dynamic permission model required by the newer SDK and
changes the theme.

Bug: webrtc:8803
Change-Id: I3ea23a25b27f196fcffd018c7cdd2ff6255b62d9
Reviewed-on: https://webrtc-review.googlesource.com/44400
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21788}
2018-01-29 09:53:38 +00:00
Mirko Bonadei
a0e29fc2a9 Propagate jsoncpp include path to depenent targets.
This is required in order to land:
https://webrtc-review.googlesource.com/c/src/+/34500.

TBR=phoglund@webrtc.org

Bug: webrtc:8605
Change-Id: Ic5c59b43d7379f0a623b781e55881f8eb2b0075b
Reviewed-on: https://webrtc-review.googlesource.com/44381
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21787}
2018-01-29 09:50:18 +00:00
Henrik Lundin
4f2a4a12df NetEq: Make the fix for Opus DTX permanent
This change makes the fix for too long delays during Opus DTX periods
permanent. The fix has up until now been under an experiment, named
WebRTC-NetEqOpusDtxDelayFix.

Bug: webrtc:8488,chromium:780849
Change-Id: I006abb67f96d9d7880bf2215d7d6b52db6cbbfbc
Reviewed-on: https://webrtc-review.googlesource.com/44420
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21786}
2018-01-29 08:51:27 +00:00
Zhi Huang
70b820fefe Implemented the GetRemoteAudioSSLCertificate method.
This method returns the DTLS SSL certificate chain associated with the
audio transport on the remote side. This will become populated once the
DTLS connection with the peer has been completed.

TBR=deadbeef@webrtc.org

Bug: webrtc:8800
Change-Id: Ib90ccb3463415e798c17c187c5bdbfc4da26f11f
Reviewed-on: https://webrtc-review.googlesource.com/44140
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21785}
2018-01-27 23:48:36 +00:00
Steve Anton
22da89f502 Implement legacy offer_to_receive options for Unified Plan
This implements the WebRTC specification for handling
the legacy offer options offer_to_receive_audio and
offer_to_receive_video. They are not implemented for CreateAnswer.

With Unified Plan semantics, clients should switch to the
RtpTransceiver API for ensuring the correct media sections are
offered.

Bug: webrtc:7600
Change-Id: I6ced00b86b165a352bd0ca3d64b48fadcfd12235
Reviewed-on: https://webrtc-review.googlesource.com/41341
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21784}
2018-01-27 02:20:29 +00:00
Taylor Brandstetter
1204448a68 Revert "Reland "Rename stereo video codec to multiplex""
This reverts commit 4954a77cf81e6793245f52d485834acd3e6eab1c.

Reason for revert: Breaks downstream build which was depending on the name "kVideoCodecStereo". Will need to do some sort of trickery to make this change without breaking the relevant code. Sorry. :(

Original change's description:
> Reland "Rename stereo video codec to multiplex"
> 
> This is a reland of bbdabe50db0cf09f6007dda12a6476dc4602b174.
> This was reverted because of breaking internal build. I contacted sheriff
> and looked at logs but cannot find anything related to this CL. This was landed
> with #3850 build which caused exception, but 3847-3855 seem to all have failed.
> I am relanding to see if it will work this time or it will give some related
> error message that can guide me.
> 
> Original change's description:
> > Rename stereo video codec to multiplex
> >
> > This CL only does the rename from"stereo" to multiplex". With this we have a
> > better name that doesn't clash with audio's usage of stereo.
> >
> > Bug: webrtc:7671
> > Change-Id: Iebc3fc20839025f1bc8bcf0e16141bf9744ef652
> > Reviewed-on: https://webrtc-review.googlesource.com/43242
> > Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> > Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21769}
> 
> TBR=niklas.enbom@webrtc.org
> 
> Bug: webrtc:7671
> Change-Id: I5934abad1ce28acf02842ea8ee2af7768a826eb8
> Reviewed-on: https://webrtc-review.googlesource.com/44520
> Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21780}

TBR=sprang@webrtc.org,niklas.enbom@webrtc.org,qiangchen@chromium.org,emircan@webrtc.org

Change-Id: I0a71327c2ddfdd030b1e058cd6a41b1689836719
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7671
Reviewed-on: https://webrtc-review.googlesource.com/44621
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21783}
2018-01-27 00:45:20 +00:00
Steve Anton
74255ffb39 Add PeerConnection interop integration tests
These tests verify the behavior between Plan B and
Unified Plan PeerConnections.

Bug: webrtc:7600
Change-Id: Ic41a0e692d32cde6fe7719ada2dbffd4281c008c
Reviewed-on: https://webrtc-review.googlesource.com/43244
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21782}
2018-01-26 23:24:49 +00:00
Taylor Brandstetter
94d8ccec4c Revert "Parameterize PeerConnection signaling tests for Unified Plan"
This reverts commit 65c0a60302202189c37af91fca6abf092f022b1c.

Reason for revert: Breaking downstream test which was calling CreateAnswer in stable state. Will reland after fixing test.

Original change's description:
> Parameterize PeerConnection signaling tests for Unified Plan
> 
> This also changes the behavior of CreateAnswer to fail unless
> the signaling state is kHaveRemoteOffer or kHaveLocalPranswer,
> as per the WebRTC specification.
> 
> Bug: webrtc:8765
> Change-Id: I60ac67cd92b17fcbff964afc14d049481e816a28
> Reviewed-on: https://webrtc-review.googlesource.com/41042
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21779}

TBR=steveanton@webrtc.org,deadbeef@webrtc.org,pthatcher@webrtc.org

Change-Id: I90eacadb217353a7e098826563f5aeaaced52452
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8765
Reviewed-on: https://webrtc-review.googlesource.com/44581
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21781}
2018-01-26 22:44:30 +00:00
Emircan Uysaler
4954a77cf8 Reland "Rename stereo video codec to multiplex"
This is a reland of bbdabe50db0cf09f6007dda12a6476dc4602b174.
This was reverted because of breaking internal build. I contacted sheriff
and looked at logs but cannot find anything related to this CL. This was landed
with #3850 build which caused exception, but 3847-3855 seem to all have failed.
I am relanding to see if it will work this time or it will give some related
error message that can guide me.

Original change's description:
> Rename stereo video codec to multiplex
>
> This CL only does the rename from"stereo" to multiplex". With this we have a
> better name that doesn't clash with audio's usage of stereo.
>
> Bug: webrtc:7671
> Change-Id: Iebc3fc20839025f1bc8bcf0e16141bf9744ef652
> Reviewed-on: https://webrtc-review.googlesource.com/43242
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21769}

TBR=niklas.enbom@webrtc.org

Bug: webrtc:7671
Change-Id: I5934abad1ce28acf02842ea8ee2af7768a826eb8
Reviewed-on: https://webrtc-review.googlesource.com/44520
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21780}
2018-01-26 21:11:54 +00:00
Steve Anton
65c0a60302 Parameterize PeerConnection signaling tests for Unified Plan
This also changes the behavior of CreateAnswer to fail unless
the signaling state is kHaveRemoteOffer or kHaveLocalPranswer,
as per the WebRTC specification.

Bug: webrtc:8765
Change-Id: I60ac67cd92b17fcbff964afc14d049481e816a28
Reviewed-on: https://webrtc-review.googlesource.com/41042
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21779}
2018-01-26 21:06:52 +00:00
Steve Anton
3871f6f9d4 Rewrite StatsCollector tests to use a fake PeerConnection
This removes use of the MockPeerConnection and replaces it with a fake
implementation of PeerConnection tailored to the needs of
StatsCollector and (soon) RTCStatsCollector.

The stats collector tests really care about the PeerConnection only so
much as to set up scenarios to test the StatsCollector with. Since each
scenario (e.g., adding a track) affects the results of multiple methods
(e.g., voice_channel and SessionStats), the tests were needing to
manually configure these dependent operations which was tedious, error
prone and difficult to change. The new fake lets the tests express the
scenario more concisely (e.g., AddVoiceChannel) while filling in all
the affected methods on the PeerConnection automatically. Furthermore,
this can be expanded to use with the RTCStatsCollector and to cover
more scenarios in the future.

Bug: webrtc:8764
Change-Id: I195074174684256543f7cdc27c3834e5ff0b4702
Reviewed-on: https://webrtc-review.googlesource.com/43521
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21778}
2018-01-26 19:40:02 +00:00
Stefan Holmer
4dbc7e4f2b Move transport feedback adapter into its own target.
Bug: None
Change-Id: I51833768a464896fd7b9306406ddbcc7e172b9cf
Reviewed-on: https://webrtc-review.googlesource.com/43862
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21777}
2018-01-26 15:10:02 +00:00
Mirko Bonadei
65ce31158f Removing useless dependencies on //testing/gmock.
If a WebRTC build target requires gmock it has to include
test/gmock.h and just depend on //test:test_support.

Unfortunately //testtest_support was a leaky abstraction because it
wasn't propagating the correct -I compiler flag. To make everything
work, all the targets that use gmock started also to depend on
//testing/gmock (even if they were not including any gmock header
directly).

This CL makes //testtest_support propagate the include path up in the
dependency chain so it is possible to remove unused dependencies.

Note: all_dependent_configs should probably be used in the original
gmock target. There is an ongoing discussion about it. This CL solves
the problem on WebRTC side and it is forward compatible.

TBR=phoglund@webrtc.org

Bug: webrtc:8603
Change-Id: If08daf2ce9a6431a6e881a236743b4ec33b59ea7
Reviewed-on: https://webrtc-review.googlesource.com/44340
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21776}
2018-01-26 13:34:12 +00:00
Piotr Tworek
5e4833cc90 Add missing stdio.h header in files using scanf/sscanf function.
Various files in webrtc codebase use scanf/sscanf function without
including stdio.h header file which is supposed to define it. This
somehow works when using glibc, but fails with uClibc.

Bug: webrtc:8641
Change-Id: Ie4ae17af32b32ed8cea567166b6b0e5193966995
Reviewed-on: https://webrtc-review.googlesource.com/32261
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21775}
2018-01-26 13:15:52 +00:00
Ivo Creusen
6bc7bb659e Revert "Rename stereo video codec to multiplex"
This reverts commit bbdabe50db0cf09f6007dda12a6476dc4602b174.

Reason for revert: This breaks the internal build.

Original change's description:
> Rename stereo video codec to multiplex
> 
> This CL only does the rename from"stereo" to multiplex". With this we have a
> better name that doesn't clash with audio's usage of stereo.
> 
> Bug: webrtc:7671
> Change-Id: Iebc3fc20839025f1bc8bcf0e16141bf9744ef652
> Reviewed-on: https://webrtc-review.googlesource.com/43242
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21769}

TBR=sprang@webrtc.org,niklas.enbom@webrtc.org,qiangchen@chromium.org,emircan@webrtc.org

Change-Id: Icf019cb09e07de45821d31d7d8ea7707d01346ee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7671
Reviewed-on: https://webrtc-review.googlesource.com/44360
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21774}
2018-01-26 12:44:54 +00:00
Ivo Creusen
15eeef4189 Revert "Add unit tests covering MultiplexImageComponent"
This reverts commit 4dc891f5e3a4bcad4db31e1af0ad45b6c471eef2.

Reason for revert: Reverting this CL to make it possible to revert https://webrtc-review.googlesource.com/c/src/+/43242

Original change's description:
> Add unit tests covering MultiplexImageComponent
> 
> This CL changes some types in MultiplexImage and MultiplexImageComponent. Also,
> adds unit test coverage in TestMultiplexAdapter for these structs.
> 
> Bug: webrtc:7671
> Change-Id: I832d0466dc67d3b6b7fa0d3fb76f02c0190e474f
> Reviewed-on: https://webrtc-review.googlesource.com/44081
> Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
> Reviewed-by: Qiang Chen <qiangchen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#21770}

TBR=qiangchen@chromium.org,emircan@webrtc.org

Change-Id: I9cce6ed5f2990a2f443e04a9e5913cbd296242e4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7671
Reviewed-on: https://webrtc-review.googlesource.com/44341
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21773}
2018-01-26 12:43:33 +00:00
Yura Yaroshevich
665d18ea29 Use sched_yield instead of nanosleep(0) for Android
Use sched_yield instead of nanosleep for Android inside
rtc::PlatformThread::Run to avoid slow nanosleep(0) issue
after app minimization on Android.

Bug: webrtc:8770
Change-Id: I51ae0ae370313beb38a5027b0633a4bd48381d5c
Reviewed-on: https://webrtc-review.googlesource.com/42200
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21772}
2018-01-26 11:07:16 +00:00
Ilya Nikolaevskiy
833cdea923 Fix typo in VCMRttFilter
Incorrect length parameter was passed to memset (lenght of array in
elements instead of length in bytes, which is 8 times more since int64
is used).

Bug: none
Change-Id: I9100d1986377a8b3b9e475d1fbc215f4a1dedfb1
Reviewed-on: https://webrtc-review.googlesource.com/44280
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21771}
2018-01-26 10:59:56 +00:00
Emircan Uysaler
4dc891f5e3 Add unit tests covering MultiplexImageComponent
This CL changes some types in MultiplexImage and MultiplexImageComponent. Also,
adds unit test coverage in TestMultiplexAdapter for these structs.

Bug: webrtc:7671
Change-Id: I832d0466dc67d3b6b7fa0d3fb76f02c0190e474f
Reviewed-on: https://webrtc-review.googlesource.com/44081
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Qiang Chen <qiangchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#21770}
2018-01-26 01:55:34 +00:00
Emircan Uysaler
bbdabe50db Rename stereo video codec to multiplex
This CL only does the rename from"stereo" to multiplex". With this we have a
better name that doesn't clash with audio's usage of stereo.

Bug: webrtc:7671
Change-Id: Iebc3fc20839025f1bc8bcf0e16141bf9744ef652
Reviewed-on: https://webrtc-review.googlesource.com/43242
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21769}
2018-01-25 23:16:04 +00:00
Peter Collingbourne
2752528e4f Stop undefining EACCES.
Other headers, such as the libc++ headers, may depend on the
definition.

Bug: chromium:801780
Change-Id: I81e00708e08ab21b9456a8ed46ca7a1c1d4f7e50
Reviewed-on: https://webrtc-review.googlesource.com/43501
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Peter Collingbourne <pcc@google.com>
Cr-Commit-Position: refs/heads/master@{#21768}
2018-01-25 19:12:14 +00:00
Taylor Brandstetter
8bac1d994e Add more string matching rules for detecting VPN interfaces.
"tun", "utun" and "tap" interfaces will now be assumed to be VPNs, if
the type is otherwise unknown.

This CL also moves GetAdapterTypeFromName out of BasicNetworkManager,
so that other network manager classes (e.g., the one in Chromium) can
use it too.

Bug: chromium:805759
Change-Id: I9988619666e2a9449cf5c089d24cf7d3afde8239
Reviewed-on: https://webrtc-review.googlesource.com/43580
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21767}
2018-01-25 19:09:34 +00:00
Zach Stein
ba37b4b075 Change return type of RtpSenderInterface::SetParameters from bool to RTCError
Note that RTCErrorTypes are mapped to the following DOMException names:
INTERNAL_ERROR -> OperationError
UNSUPPORTED_PARAMETER -> OperationError
INVALID_STATE -> InvalidStateError
INVALID_MODIFICATION -> InvalidModificationError
INVALID_RANGE -> RangeError

Bug: webrtc:8772
Change-Id: I44e3fe2456b007b8fb227d37d74b07ba226a19e4
Reviewed-on: https://webrtc-review.googlesource.com/37141
Commit-Queue: Zach Stein <zstein@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21766}
2018-01-25 19:06:04 +00:00
Edward Lemur
3a5653af1c Use FILE* instead of const FILE* in perf_test.h
TBR=phoglund@webrtc.org

Bug: chromium:755660
Change-Id: I5e4c808668c8a376d4bd518236ae969c693f979b
Reviewed-on: https://webrtc-review.googlesource.com/43960
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21765}
2018-01-25 17:46:14 +00:00
Alex Loiko
bc5c69f8e7 Use of unititialized value in AECM.
The AecMobile struct contains a ::farendOld field. It's type is 'short [2][80]'.
The field was initialized by

  memset(&aecm->farendOld[0][0], 0, 160);

But sizeof(short) is not guaranteed to be 1. This causes use of
unititialized memory on some platforms. According to MSAN, it can
affect the output of the echo canceller.

The issue was found by the MSAN  fuzzer.

This change initializes the array properly.

Bug: chromium:805396
Change-Id: Ibcaca2185cfa153e8fd826e9addfc04d7b65e417
Reviewed-on: https://webrtc-review.googlesource.com/43860
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21764}
2018-01-25 15:09:14 +00:00
Edward Lemur
c9e4522656 Add an option to print perf results to a file.
video_quality_analysis unittests need to print perf results to a file [1].
Add an option to make this possible.

[1] https://webrtc.googlesource.com/src/+/master/rtc_tools/frame_analyzer/video_quality_analysis_unittest.cc#72

R=kwiberg@webrtc.org, oprypin@webrtc.org
TBR=phoglund@webrtc.org

Bug: chromium:755660
Change-Id: Ife83c4f026cc5a65dd0a430ddc9ff12eb27ae77c
Reviewed-on: https://webrtc-review.googlesource.com/43460
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21763}
2018-01-25 15:07:54 +00:00
Jonas Olsson
24ea822dcb Remove logging in audio/* from release builds.
This makes the binary around 8000 bytes smaller.

Bug: webrtc:8529
Change-Id: Ic59b16e300dd4dd5471e1079103982300cb5d660
Reviewed-on: https://webrtc-review.googlesource.com/43300
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21762}
2018-01-25 13:46:54 +00:00
Alex Loiko
e994058eb1 NaNs in Echo Canceller.
A coherence vector cohxd is computed in
WebRtcAec_ComputeCoherence. The coherence values should theoretically
be 0 <= x <= 1. Due to the way they are computed that is not always
the case.

The coherence values are used to update an error signal
estimate hNl in webrtc::EchoSuppression. 'hNl[i]' should contain an
error magnitude for frequency 'i'.

The error magnitudes are used as a basis for exponentiation. If a
magnitude is negative, the result is NaN.

The NaNs will then spread to the output signal.

This change caps the hNl values at 0. I considered capping the
coherence values at 1. The coherence values are calculated differently
for MIPS, NEON and SSE. Therefore it's simpler to cap the hNl values
instead.

The issue was found by the AudioProcessing fuzzer.

Bug: chromium:804634
Change-Id: I8ebaa441d77c3f79d9c194a850cb2b9eed1c2024
Reviewed-on: https://webrtc-review.googlesource.com/43740
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21761}
2018-01-25 13:30:04 +00:00