Commit graph

30183 commits

Author SHA1 Message Date
Taylor Brandstetter
21c80320ca Expose enableDscp in Obj-C API.
network_priority was already exposed, but without the ability to set
enable_dscp, it wasn't actually doing anything.

Bug: webrtc:5658
Change-Id: I092bc3dd46e3e7be363313203428bccfccccf3c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171641
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Taylor <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30951}
2020-03-31 19:58:15 +00:00
Taylor Brandstetter
8cdd2c7d3c Regression test for SCTP transport.
Tests the behavior of the usrsctp library buffering a large message in
unordered mode. The expected behavior is that this message will be sent
when the socket becomes unblocked, but instead an SCTP_SEND_FAILED_EVENT
is fired by usrsctp library and the message is never sent. This test
will pass with a newer version of usrsctp lib, or if the send is in
ordered mode.

Bug: webrtc:10939
Change-Id: I3b4b05e7dcc7574bf3397991848a9ad7122adc0b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172480
Commit-Queue: Taylor <deadbeef@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30950}
2020-03-31 19:53:13 +00:00
Erik Språng
0920d5d344 Fixes TaskQueuePacedSender padding while only sending non-paced audio.
EnqueuePackets() would reset the last process time if the queue
and media budgets were empty. This was done without reducing the
padding debt.

The result of this was that, given an existing debt, and an interval
between audio packets that is less than the drain time for the padding
debt, padding would not be sent at all.

Now, before adding a new packet, we reduce the padding debt if the
packet queue is empty.

Bug: webrtc:10809
Change-Id: I116169522c215257febd32e17abab45f1a7d609f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171808
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30949}
2020-03-31 14:48:15 +00:00
Guido Urdaneta
e1aa22f892 [InsertableStreams] Set video frame transformer if RTP stream already started.
Test in https://chromium-review.googlesource.com/c/chromium/src/+/2127927

Bug: chromium:1065836
Change-Id: Idf3f41285e23ac829f69f1bc95b1def3a73af8d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172400
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Marina Ciocea <marinaciocea@webrtc.org>
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30948}
2020-03-31 14:07:29 +00:00
Per Åhgren
4b425aeef9 AEC3: Correct peak index at filter size reductions
Bug: chromium:1061933
Change-Id: I70745b82de1d8878d4a789c86af6a44e652c3e9e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172420
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30947}
2020-03-31 12:23:40 +00:00
Marina Ciocea
d2aa8f97f1 Insert audio frame transformer between encoder and packetizer.
The frame transformer is passed from RTPSenderInterface through the
library to be eventually set in ChannelSend, where the frame
transformation will occur in the follow-up CL.

Insertable Streams Web API explainer:
https://github.com/alvestrand/webrtc-media-streams/blob/master/explainer.md

Design doc for WebRTC library changes:
http://doc/1eiLkjNUkRy2FssCPLUp6eH08BZuXXoHfbbBP1ZN7EVk

Bug: webrtc:11380
Change-Id: I01b2adc3c96b948d182d5401a9a4fe14cf5960a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171870
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30946}
2020-03-31 11:14:00 +00:00
Tommi
e062c15ce6 Reducing calls to clock_->TimeInXyz in RTCPReceiver.
No-Try: True
Change-Id: I310a897febd6c8418c3103c39cf7819e043c1945
Bug: webrtc:11470
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172089
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30945}
2020-03-31 07:30:20 +00:00
chromium-webrtc-autoroll
fa068336f9 Roll chromium_revision a0d7df3386..4d555ede52 (754491:754603)
Change log: a0d7df3386..4d555ede52
Full diff: a0d7df3386..4d555ede52

Changed dependencies
* src/base: 680d009a82..11978dc67d
* src/build: d9d6d0b425..2c249ccb22
* src/ios: fb0239794d..ffc5b22ef1
* src/testing: bcf855500c..7737e73854
* src/third_party: cba3c14889..b7263f3723
* src/third_party/depot_tools: 6a7e234b58..11f4a84bb1
* src/tools: fdde8ed2b0..0389dabc90
DEPS diff: a0d7df3386..4d555ede52/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I2e83c7ebdbb471fb2e695c6be6e620e0c383c5cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172460
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30944}
2020-03-30 21:15:24 +00:00
chromium-webrtc-autoroll
1d0faee9aa Roll chromium_revision dfa4a7a6be..a0d7df3386 (754373:754491)
Change log: dfa4a7a6be..a0d7df3386
Full diff: dfa4a7a6be..a0d7df3386

Changed dependencies
* src/base: 1406bf9780..680d009a82
* src/build: bd900e158a..d9d6d0b425
* src/buildtools: 7977eb1767..2c41dfb19a
* src/ios: 7dbbc602e6..fb0239794d
* src/testing: b76eea2ef1..bcf855500c
* src/third_party: 26169164b0..cba3c14889
* src/tools: 1d1d417751..fdde8ed2b0
DEPS diff: dfa4a7a6be..a0d7df3386/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I05b9ecbf21478d2ffa1f6fa1fd8911e3af758f72
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172381
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30943}
2020-03-30 17:10:18 +00:00
Kristoffer Erlandsson
283c106c28 Add packet rate plots to event_log_visualizer.
Bug: b/152399961
Change-Id: I8dbc0166ed537c197f26a80275100fb3faa338f5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172094
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Kristoffer Erlandsson <kerl@google.com>
Cr-Commit-Position: refs/heads/master@{#30942}
2020-03-30 14:46:41 +00:00
Marina Ciocea
c24b6b7815 Introduce TransformableFrameInterface.
Add a new frame interface to be used by frame transformers in Insertable
Streams. TransformableFrameInterface will replace
video_coding::EncodedFrame in a follow up CL, once downstream
dependecies are updated to use the new interface.

Until the functions using video_coding::EncodedFrame are removed from
the API, the video sender and receiver frame transformer delegates call
both function versions to avoid breaking tests downstream.

The TransformableFrameInterface will be used for both audio and video
frame transformers in follow-up CLs.

Bug: webrtc:11380
Change-Id: I9389a8549c156e13b1d8c938ff51eaa69c502f33
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171863
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30941}
2020-03-30 13:35:26 +00:00
Christoffer Rodbro
1c7a6589a9 Add test for relay bandwidth capping.
Feature was added in
https://webrtc-review.googlesource.com/c/src/+/171226

Bug: webrtc:11434
Change-Id: Iee1e350976ab4043f15c5932cdc4f53b413bb302
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171861
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30940}
2020-03-30 13:02:46 +00:00
Patrik Höglund
7bd282acce Remove phoglund as root owner.
Patrik is leaving the company.

Bug: None
Change-Id: I38bd5b524c16f0ea7ff3f2686b255b725ea5d676
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172080
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30939}
2020-03-30 12:15:56 +00:00
Erik Språng
9cb58d5d46 Fixes issue where dynamic pacer could pace audio.
Specifically, if dynamic pacer (i.e. TaskQueuePacer) was enabled while
AccountForAudio was set to true, the pacer would pace audio packets.
This should only happen when the WebRTC-Pacer-BlockAudio field trial is
enabled.

Bug: webrtc:10809
Change-Id: If5edc77de88ca9866abeb3b47e171df50673299e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172082
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30938}
2020-03-30 09:32:02 +00:00
Olga Sharonova
f74d2ce649 Revert "Add interface_id to rtc::Network"
This reverts commit 7e91482fcc.

Reason for revert: Speculative revert, as Android FYI bots are red
starting https://webrtc.googlesource.com/src/+/7e91482fcc496103f36333a569992c81b6dc9e9c
where this CL landed.

See also https://bugs.chromium.org/p/chromium/issues/detail?id=1065805.

Original change's description:
> Add interface_id to rtc::Network
>
> This patch adds an interface_id property
> to rtc::Network. It is an enumeration of the
> interface names that are present.
>
> This enables a local ICE agent to keep track
> of which connections are using which interfaces,
> something that is useful for predicting how
> connections behave.
>
> This is part 1 of https://webrtc-review.googlesource.com/c/src/+/85520
>
> Bug: webrtc:9446
> Change-Id: Ia6ec1f14ac240799fb1be49d67d82e2733e87acf
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171061
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30882}

No-Presubmit: True
Bug: webrtc:9446
TBR=hta@webrtc.org, jonaso@webrtc.org

Change-Id: If86e2e0653b53a8eae26a97ce9fa68748b440607
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172092
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30937}
2020-03-30 09:29:51 +00:00
Erik Språng
641d59b337 Add ability to disable padding prioritization.
This allows trading off some potential media quality for CPU usage.

Bug: webrtc:8975
Change-Id: I447a03f596e9e711ba5d7038fe71f27bd80bf795
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172085
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30936}
2020-03-30 09:01:51 +00:00
Mirko Bonadei
e9286d7273 Fix -Wunreacheable-code on Mac.
After [1], Chromium Roll's CLs don't compile and test anything.

This needs to be fixed but in the meantime a breakage started
to happen. This CL fixes the problem.

[1] - https://chromium-review.googlesource.com/c/chromium/tools/build/+/2124478

TBR=mflodman@webrtc.org

No-Tree-Checks: true
Bug: None
Change-Id: Ia4ebe7bd1258755bec1c420763037b235dc7dab8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172091
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30935}
2020-03-30 07:34:12 +00:00
chromium-webrtc-autoroll
7d4fe0ae41 Roll chromium_revision 40e5374088..dfa4a7a6be (754268:754373)
Change log: 40e5374088..dfa4a7a6be
Full diff: 40e5374088..dfa4a7a6be

Changed dependencies
* src/base: af1d64aaa3..1406bf9780
* src/build: 3258ed4d9d..bd900e158a
* src/ios: f97785887d..7dbbc602e6
* src/testing: 9ec59d2f8f..b76eea2ef1
* src/third_party: e1e1b36a0b..26169164b0
* src/third_party/depot_tools: b73f8a96ec..6a7e234b58
* src/tools: 40d2066938..1d1d417751
DEPS diff: 40e5374088..dfa4a7a6be/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I5cd60a150822ca2e977656aec44ec5db68afabb5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172240
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30934}
2020-03-30 00:34:35 +00:00
Mirko Bonadei
b913198b83 Fix msvc bots build.
This started to happen after turning on "gn analyze" on trybots. It
looks like this code was never built on MSVC trybots.

This CL tries to avoid the type deduction.

Error:
quality_assessment/sound_level.cc(103):
    error C3535: cannot deduce type for 'const auto *' from '_FwdIt'
    with
      [
          _FwdIt=std::_Array_iterator<int16_t,1440>
      ]

Bug: webrtc:11262
Change-Id: Iea7cf2ec62f1d0edfcf6ceac169c92050339d3c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172088
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30933}
2020-03-29 21:04:55 +00:00
Johannes Kron
3e98368ec5 Reland "Distinguish between send and receive codecs"
This reverts commit 8e8b36a94a.

Reason for revert: The CL has been improved with the following changes,
  - Fixed negotiation of send/receive only clients.
  - Handles the implicit assumption that any H264 decoder also can
    decode H264 constraint baseline.

Original change's description:
> Distinguish between send and receive codecs
>
> Even though send and receive codecs may be the same, they might have
> different support in HW. Distinguish between send and receive codecs
> to be able to keep track of which codecs have HW support.
>
> Bug: chromium:1029737
> Change-Id: Id119560becadfe0aaf861c892a6485f1c2eb378d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165763
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30284}

Change-Id: I834ed48ee78d04922c73e2836165e476925e1cc5
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168605
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30932}
2020-03-29 21:03:27 +00:00
Mirko Bonadei
8e1824a0d1 Revert "Trigger CI bots."
This reverts commit f63c9bbbd7.

Reason for revert: Trigger CI bots again.

Original change's description:
> Trigger CI bots.
> 
> To test potential changes from [1].
> 
> [1] - https://chromium-review.googlesource.com/c/chromium/tools/build/+/2124473
> 
> TBR=phoglund@webrtc.org
> 
> Bug: webrtc:11262
> Change-Id: I1d33fcf23b70f446a7730d69e82aba8ca1224d8a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171881
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30929}

TBR=phoglund@webrtc.org,mbonadei@webrtc.org

Change-Id: I3b12273648f673529b7f6a12e188dd5da864f9fb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11262
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172084
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30931}
2020-03-28 22:37:03 +00:00
Mirko Bonadei
e3cfe2c32c Add more missing targets to gn_isolate_map.pyl.
This CL should fix the following error:
MBErr: target "android_examples_junit_tests" not found in //testing/buildbot/gn_isolate_map.pyl
target "android_sdk_junit_tests" not found in //testing/buildbot/gn_isolate_map.pyl

TBR=phoglund@webrtc.org

No-Try: True
Bug: webrtc:11262
Change-Id: Ib1d05401fc9170fe3025e971a1148c4e4cac9506
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172083
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30930}
2020-03-28 22:28:21 +00:00
Mirko Bonadei
f63c9bbbd7 Trigger CI bots.
To test potential changes from [1].

[1] - https://chromium-review.googlesource.com/c/chromium/tools/build/+/2124473

TBR=phoglund@webrtc.org

Bug: webrtc:11262
Change-Id: I1d33fcf23b70f446a7730d69e82aba8ca1224d8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171881
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30929}
2020-03-28 18:06:19 +00:00
Mirko Bonadei
83bae29d58 Add missing xctest targets to gn_isolate_map.pyl.
This CL should fix the following error:

MBErr: target "apprtcmobile_tests" not found in //testing/buildbot/gn_isolate_map.pyl
target "sdk_unittests" not found in //testing/buildbot/gn_isolate_map.pyl
target "sdk_framework_unittests" not found in //testing/buildbot/gn_isolate_map.pyl

It looks like the MB analyze wrapper around GN requires the targets to be
in the gn_isolate_map.pyl in order to retrieve the target label.

I am not sure the type is correct.

TBR=phoglund@webrtc.org

Bug: webrtc:11262
Change-Id: I28ab5aa3cb3962ef56f1b85dfc367c377aca06cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172081
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30928}
2020-03-28 16:48:43 +00:00
Patrik Höglund
a7a0173713 Remove the histogram flag and all Chart JSON code.
Since the flag is now on by default, we can remove it (after all
callers stop passing it).

We can also remove all Chart JSON code from WebRTC since it is
no longer used.

Requires one recipe CL and one downstream CL to land first.

Bug: chromium:1029452
Change-Id: Ic1d62e8ab9dfcd255cd2bf51d153db80d59c564b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171878
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30927}
2020-03-28 13:44:43 +00:00
chromium-webrtc-autoroll
16c63eb5f3 Roll chromium_revision c9f4759554..40e5374088 (754134:754268)
Change log: c9f4759554..40e5374088
Full diff: c9f4759554..40e5374088

Changed dependencies
* src/build: 94e4c29f84..3258ed4d9d
* src/ios: d39b2fdaa6..f97785887d
* src/testing: bb68f58d19..9ec59d2f8f
* src/third_party: ee6dab7d3a..e1e1b36a0b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/a0519c6734..395a627b8a
* src/third_party/depot_tools: 0dd5482c52..b73f8a96ec
* src/tools: 62b3e5aa8d..40d2066938
DEPS diff: c9f4759554..40e5374088/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I5abed27d12a06cd2c9889b05e7b3f04fb12263a4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172044
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30926}
2020-03-28 02:36:11 +00:00
Taylor Brandstetter
fb4351b085 Enforce "comprehension-required" STUN rules.
If a STUN attribute is in the "comprehension-required" range
(0x0000-0x7FFF), and the implementation does not recognize it, this
should be treated as an error (as per RFC5389), with different behavior
depending on the type of the message received.

Bug: webrtc:9063
Change-Id: Ic31b0cdd3c26772c21d770b44fe4ee4a1b47030a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/64500
Commit-Queue: Taylor <deadbeef@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30925}
2020-03-28 02:07:49 +00:00
chromium-webrtc-autoroll
424204d2af Roll chromium_revision 7e5c10d369..c9f4759554 (753978:754134)
Change log: 7e5c10d369..c9f4759554
Full diff: 7e5c10d369..c9f4759554

Changed dependencies
* src/base: b923986c22..af1d64aaa3
* src/build: 8b9a768dd5..94e4c29f84
* src/ios: 90fea74091..d39b2fdaa6
* src/testing: 0187bc3c99..bb68f58d19
* src/third_party: 05b0baac9c..ee6dab7d3a
* src/tools: 4b1ae89e54..62b3e5aa8d
DEPS diff: 7e5c10d369..c9f4759554/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ic092b832d0af87729dd1555dc25355221fa43035
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171980
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30924}
2020-03-27 20:36:13 +00:00
Patrik Höglund
a298fd54c1 Don't double import protobuf code.
The proto code is copied into the out dir, so always use that since
it is what isolate is using. Previously we pointed straight at the
checkout code.

I think copying python into the out dir is probably the right way
to do things, so we should go that way in the future.

Bug: chromium:1029452
Change-Id: I701cc84a674021d2f78c73db8808f55cd6ae5174
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171877
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30923}
2020-03-27 19:22:37 +00:00
Tim Na
8ab3c77c01 Audio egress implementation for initial voip api in api/voip.
For simplicity and flexibility on audio only API, it deemed
to be better to trim off all audio unrelated logic to serve
the purpose.

Bug: webrtc:11251
Change-Id: I40e3eba2714c171f7c98b158303a7b3f744ceb78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169462
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30922}
2020-03-27 18:45:43 +00:00
Jonas Oreland
fa097a2190 Modify IceControllerInterface::SelectConnectionToPing - step 3
this is a NOP refactoring, that modify return type
of IceControllerInterface::SelectConnectionToPing to a struct
(rather than existing pair). The modification is done
so that one can safely add new return values in the struct.

Step 1) Create a typedef for return value.
- merge downstream and change it to start using new type.
Step 2) Change typedef to struct,
adding constructors from old type to new type
merge and change downstream to use "real" constructors
Step 3) remove temporary constructors
Step 4) Eat cake

Each step requires a merge downstream, with corresponding
changes there.

Bug: chromium:1024965
Change-Id: I46ad4a58426a7d33b84bc78caab55893315d25c1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171874
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30921}
2020-03-27 16:37:57 +00:00
Patrik Höglund
36b35d528c Reland "Flip histograms to true by default, fix unit in isac_fix_test."
This reverts commit c59a304901.

Reason for revert: Other perf tests greening up, can now land this

Original change's description:
> Revert "Flip histograms to true by default, fix unit in isac_fix_test."
> 
> This reverts commit 7b201012bc.
> 
> Reason for revert: Seems to work, but need to get low bw tests working first
> 
> Original change's description:
> > Flip histograms to true by default, fix unit in isac_fix_test.
> > 
> > Requires downstream changes for all WebRTC perf tests, and
> > a corresponding recipe change so isac_fix_test starts using the new
> > flow.
> > 
> > Bug: chromium:1029452
> > Change-Id: I8918fca9bef003d365037c1c6bf7c55747dfed99
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170633
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30906}
> 
> TBR=phoglund@webrtc.org,mbonadei@webrtc.org
> 
> Change-Id: I96c2309cd71be14c5a27b515736a32f1b256453c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1029452
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171865
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30913}

TBR=phoglund@webrtc.org,mbonadei@webrtc.org

Change-Id: If39500beeca74b8e0ed9e97724a55529125a2253
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029452
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171876
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30920}
2020-03-27 13:05:34 +00:00
chromium-webrtc-autoroll
d59805b3fb Roll chromium_revision 1ca2dc5ccd..7e5c10d369 (753877:753978)
Change log: 1ca2dc5ccd..7e5c10d369
Full diff: 1ca2dc5ccd..7e5c10d369

Changed dependencies
* src/build: 5b7a212d6e..8b9a768dd5
* src/ios: 04c5c510dd..90fea74091
* src/testing: cfb7532e14..0187bc3c99
* src/third_party: 2519b557d6..05b0baac9c
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/438ea30dcc..a0519c6734
* src/tools: bacbfa7e84..4b1ae89e54
DEPS diff: 1ca2dc5ccd..7e5c10d369/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I65b7cc7ea376a7b828e0cefe2f01ae0f0792caba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171940
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30919}
2020-03-27 12:44:50 +00:00
Patrik Höglund
a782299e91 Add PYTHONPATH entry for proto internal.
Turns out my new protobuf internal entries are copied to the out dir,
so we need a new entry for that.

Tbr: mbonadei@webrtc.org
Bug: chromium:1029452
Change-Id: I5bcae3a7ff1163e051382ae741646f206ccc7324
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171869
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30918}
2020-03-27 09:53:01 +00:00
Patrik Höglund
e4ae1ced9d Reland: Add in missing protobuf code.
Turns out the import of histogram_pb2 failed not on the stub itself
(which I thought for a long, long time), but because of the protobuf
support code it includes in turn. This is a drawback of catching
the ImportError in histogram_proto.py.

This has a decent chance of fixing the problem.

Tbr: mbonadei@webrtc.org
Bug: chromium:1029452
Change-Id: If7ae2439b01ad1b3129d8cc8b158385101082e6f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171867
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30917}
2020-03-27 08:47:44 +00:00
Jonas Oreland
ef60c2b0ad Implement Connection::ForgetLearnedState()
This patch adds a new ForgetLearnedState() method on a Connection.
The method, puts the connection into a state similar to
when it was just created.

- write_state = STATE_WRITE_INIT
- receving = false
- throw away all pending request
- reset RttEstimate

All other state is kept unchanged.

Note: It does not trigger SignalStateChange

A subsequent patch will expose the method to the IceController.

BUG: webrtc:11463
Change-Id: I055e8cd067e1bc4fd5ad64dd10f458554dbc87e3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171805
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30916}
2020-03-27 08:24:43 +00:00
Patrik Höglund
749dff12b5 Revert "Add in missing protobuf code."
This reverts commit 0a663bf9f1.

Reason for revert: Breaks isolate tests

Original change's description:
> Add in missing protobuf code.
> 
> Turns out the import of histogram_pb2 failed not on the stub itself
> (which I thought for a long, long time), but because of the protobuf
> support code it includes in turn. This is a drawback of catching
> the ImportError in histogram_proto.py.
> 
> This has a decent chance of fixing the problem.
> 
> Tbr: mbonadei@webrtc.org
> Bug: chromium:1029452
> Change-Id: I3c07a362dcfd174a388b3cc34449c08951cea626
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171860
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30912}

TBR=phoglund@webrtc.org,mbonadei@webrtc.org

Change-Id: I05bf2f65905afcb7dfdc1e3fca7c01b4af377410
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029452
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171866
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30915}
2020-03-27 08:04:42 +00:00
Jonas Oreland
4333600357 Modify IceControllerInterface::SelectConnectionToPing - step 2
this is a NOP refactoring, that modify return type
of IceControllerInterface::SelectConnectionToPing to a struct
(rather than existing pair). The modification is done
so that one can safely add new return values in the struct.

Step 1) Create a typedef for return value.
- merge downstream and change it to start using new type.
Step 2) Change typedef to struct,
adding constructors from old type to new type
merge and change downstream to use "real" constructors
Step 3) remove temporary constructors
Step 4) Eat cake

Each step requires a merge downstream, with corresponding
changes there.

Bug: chromium:1024965
Change-Id: I79df9528f842ea73ca8896cedd62ad3a5cf5b767
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171807
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30914}
2020-03-27 08:02:01 +00:00
Patrik Höglund
c59a304901 Revert "Flip histograms to true by default, fix unit in isac_fix_test."
This reverts commit 7b201012bc.

Reason for revert: Seems to work, but need to get low bw tests working first

Original change's description:
> Flip histograms to true by default, fix unit in isac_fix_test.
> 
> Requires downstream changes for all WebRTC perf tests, and
> a corresponding recipe change so isac_fix_test starts using the new
> flow.
> 
> Bug: chromium:1029452
> Change-Id: I8918fca9bef003d365037c1c6bf7c55747dfed99
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170633
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30906}

TBR=phoglund@webrtc.org,mbonadei@webrtc.org

Change-Id: I96c2309cd71be14c5a27b515736a32f1b256453c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029452
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171865
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30913}
2020-03-27 07:57:09 +00:00
Patrik Höglund
0a663bf9f1 Add in missing protobuf code.
Turns out the import of histogram_pb2 failed not on the stub itself
(which I thought for a long, long time), but because of the protobuf
support code it includes in turn. This is a drawback of catching
the ImportError in histogram_proto.py.

This has a decent chance of fixing the problem.

Tbr: mbonadei@webrtc.org
Bug: chromium:1029452
Change-Id: I3c07a362dcfd174a388b3cc34449c08951cea626
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171860
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30912}
2020-03-27 07:47:09 +00:00
chromium-webrtc-autoroll
0e18a3860a Roll chromium_revision 2d4ff3607c..1ca2dc5ccd (753737:753877)
Change log: 2d4ff3607c..1ca2dc5ccd
Full diff: 2d4ff3607c..1ca2dc5ccd

Changed dependencies
* src/base: b3a6f2d55d..b923986c22
* src/build: 90543413ea..5b7a212d6e
* src/ios: 77616654ad..04c5c510dd
* src/testing: 849f8aa88f..cfb7532e14
* src/third_party: 2db7d8576b..2519b557d6
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/a8bbccaabe..438ea30dcc
* src/third_party/depot_tools: 17aaea21d4..0dd5482c52
* src/tools: d50c6ef4a0..bacbfa7e84
DEPS diff: 2d4ff3607c..1ca2dc5ccd/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I149bcce205a8dd0966b8de6cb67c53a1c2c54f14
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171900
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30911}
2020-03-27 02:45:59 +00:00
Patrik Höglund
4a1e85a8d1 Use = in flags from flags_compatibility.py.
We need this because there is a current bug in Abseil flags.

Bug: chromium:1051927
Change-Id: I0446fadad709abf4aecda1ff5c0d4f7f6218879e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171880
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30910}
2020-03-26 21:29:52 +00:00
Christoffer Rodbro
6404cddefb Allow setting a bandwidth cap for relayed connections.
For now the capping is experimental and applied via a field trial.

Bug: webrtc:11434
Change-Id: Id8e6e9b948f099a0940974a9a431b5b0a43c32f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171226
Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30909}
2020-03-26 20:41:46 +00:00
chromium-webrtc-autoroll
2a54ea96a1 Roll chromium_revision 43d15e1441..2d4ff3607c (753631:753737)
Change log: 43d15e1441..2d4ff3607c
Full diff: 43d15e1441..2d4ff3607c

Changed dependencies
* src/base: 7445f330eb..b3a6f2d55d
* src/build: f309506029..90543413ea
* src/ios: aa027dc867..77616654ad
* src/testing: 282d164223..849f8aa88f
* src/third_party: 27f6376d29..2db7d8576b
* src/third_party/depot_tools: de6c456466..17aaea21d4
* src/tools: 028230368b..d50c6ef4a0
DEPS diff: 43d15e1441..2d4ff3607c/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I75143fbd4850aa05937310748c31f3b25bb58133
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171840
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30908}
2020-03-26 20:40:40 +00:00
Patrik Höglund
28b8a0b2bc Partial revert of flag simplification.
Unfortunately it turns out the Android test runner requires
the isolated script flag to be in its current form, or it
doesn't work. This means we have to keep translating the
flag name.

We can get rid of the isolated_script_test_output flag
at least.

Tbr: mbonadei@webrtc.org
Bug: chromium:1051927
Change-Id: I4fdbff980e65332b757b1c95aa6587328411c0ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171809
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30907}
2020-03-26 20:09:33 +00:00
Patrik Höglund
7b201012bc Flip histograms to true by default, fix unit in isac_fix_test.
Requires downstream changes for all WebRTC perf tests, and
a corresponding recipe change so isac_fix_test starts using the new
flow.

Bug: chromium:1029452
Change-Id: I8918fca9bef003d365037c1c6bf7c55747dfed99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170633
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30906}
2020-03-26 19:36:44 +00:00
chromium-webrtc-autoroll
6cf428fb40 Roll chromium_revision c145d4805f..43d15e1441 (752799:753631)
Change log: c145d4805f..43d15e1441
Full diff: c145d4805f..43d15e1441

Changed dependencies
* src/base: 32ccf425fa..7445f330eb
* src/build: 8d56e63759..f309506029
* src/ios: ac693a241c..aa027dc867
* src/testing: 7dd30f951a..282d164223
* src/third_party: 8f0649bced..27f6376d29
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/341e229c3d..a8bbccaabe
* src/third_party/depot_tools: 8f41598abf..de6c456466
* src/tools: 58560b651b..028230368b
DEPS diff: c145d4805f..43d15e1441/DEPS

Clang version changed 5d881dd8a8b8ea6f80bf4ef5b900ca006dacd9bf:a1762f9ceb9549b781b7418c7dbe23fe620648f6
Details: c145d4805f..43d15e1441/tools/clang/scripts/update.py

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I68764b594da3b3aa8597a737ab4441c09b3d19c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171730
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30905}
2020-03-26 17:33:13 +00:00
Danil Chapovalov
2b4ec9e667 in RtpExtension constructors pass strings by string_view rather than by value
To allow construct that object from an existent string_view without explicit conversion

Bug: webrtc:11428
Change-Id: I38d93573be72e307bdf7068a6300d10cf46d2d62
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171689
Reviewed-by: Markus Handell <handellm@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30904}
2020-03-26 14:32:45 +00:00
Patrik Höglund
7ac010cea4 Fix low bw test.
The problem turned out to be that it passes . as the path, and that
does not work in the PYTHONPATH.

Also remove debug logging.

Bug: chromium:1029452
Change-Id: Ied5211f6c039b41da9d77638801e67b7ea8f192f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171806
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30903}
2020-03-26 13:34:11 +00:00
Jonas Oreland
2f3c01941b Modify IceControllerInterface::SelectConnectionToPing - step 1
this is a NOP refactoring, that modify return type
of IceControllerInterface::SelectConnectionToPing to a struct
(rather than existing pair). The modification is done
so that one can safely add new return values in the struct.

Step 1) Create a typedef for return value.
- merge downstream and change it to start using new type.
Step 2) Change typedef to struct,
adding constructors from old type to new type
merge and change downstream to use "real" constructors
Step 3) remove temporary constructors
Step 4) Eat cake

Each step requires a merge downstream, with corresponding
changes there.

Bug: chromium:1024965
Change-Id: I6ebb8658a77e0ef5c24acb382c0cb6413403c168
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171691
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30902}
2020-03-26 13:33:05 +00:00