Commit Graph

33497 Commits

Author SHA1 Message Date
5d4c3c5128 dcsctp: Add more unit tests for DataTracker
There were some missing unit tests that are now written. When doing
this, it was found that SACKs weren't sent for duplicate received
chunks, which they should be according to the spec.

Bug: webrtc:12614
Change-Id: I8296473c0c8cbaf0329785de95e9b9945f254339
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220607
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34165}
2021-05-31 13:09:24 +00:00
5429d71022 dcsctp: Allow heartbeats to be disabled
This is useful in tests and in scenarios where the connection is
monitored externally and the heartbeat monitoring would be of no use.

Bug: webrtc:12614
Change-Id: Ida4f4e2e40fc4d2aa0c27ae9431f434da4cc8313
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220766
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34164}
2021-05-31 12:19:38 +00:00
02df2eb1de Split AudioStream initialization into worker / network steps.
This is in preparation for actually doing this initialization
differently in the Call class. This CL takes the registration
steps that are inherently network thread associated and makes
them separate from the ctor/dtor.

Bug: webrtc:11993
Change-Id: Ice2e16c108e0c302157534a3aa2b46738aaa7a93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220608
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34163}
2021-05-31 12:16:37 +00:00
6ad542cf11 Remove temporary using webrtc::OnCompleteFrameCallback statement.
Bug: webrtc:12579
Change-Id: I9ba7735be20318b1f37bc7e75b07804ef694a7b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220362
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34162}
2021-05-31 11:45:33 +00:00
948e40cfdf Add thread guards and constness to Call members.
Bug: webrtc:11993
Change-Id: I8f6f6fb800f19b9fa2071a1d159dfe9334ab20cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220606
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34161}
2021-05-31 10:55:12 +00:00
cae1f1d47b Move PostTask for DeliverRtcp from PeerConnection to Call.
This is part of moving the thread hops from the network thread to
worker (required by Call) into Call itself so that we can eventually
remove them.

Bug: webrtc:11993
Change-Id: Ib3ccdd6c75a3848daae2e3ce6c9a55d9617c2f50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220604
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34160}
2021-05-31 10:34:09 +00:00
acd16af8c6 AudioReceiveStream: Clean up ConfigureStream.
Increases readability of configuration setup by separating
first time configuration setup and reconfiguration.

Bug: None
Change-Id: Ifee29c31bce505a971ab5993cb862a72db94725a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220700
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34159}
2021-05-31 09:11:29 +00:00
c81afe365d Call: prepare receive stats for thread switch.
This change collects the receive stats that Call
maintains into a new thread-compatible
internal class which can easily be switched to
the network thread.

Bug: webrtc:11993
Change-Id: I9fa9a7f057149789aa327e5ba8a8cb3379762272
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220760
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34158}
2021-05-31 08:37:26 +00:00
22fead3041 Roll chromium_revision 6f6904aacc..fbd3997e87 (887571:887673)
Change log: 6f6904aacc..fbd3997e87
Full diff: 6f6904aacc..fbd3997e87

Changed dependencies
* src/build: 3fc38c3bd6..068753b025
* src/ios: fdc76a4cce..2d15772da6
* src/testing: 0f50062689..73587aa74e
* src/third_party: 859af1e84f..b4d7e91e70
* src/tools: 7aac6671d0..979eedbf1e
DEPS diff: 6f6904aacc..fbd3997e87/DEPS

No update to Clang.

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

Change-Id: I75decf735a5c1e74542e33be1fa5dc3ccec493c1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220823
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@{#34157}
2021-05-31 08:30:06 +00:00
5be2aa1ac3 Make generate_license.py compatible with Python 3.
* Use cgi.escape for Python 2.7 and html.escape for Python 3.
* Modify unittest to succeed in both Python 2.7 and 3.

No-Presubmit: True
Bug: None
Change-Id: Ie711873468145c9abbd12313086ebe7358e20ab7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220621
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34156}
2021-05-31 07:05:46 +00:00
d3166afe01 Update WebRTC code version (2021-05-31T04:03:11).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Iab1705002cb16da2c45be98f0d067469722eb75b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220861
Reviewed-by: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34155}
2021-05-31 05:33:22 +00:00
d280eaf195 Update WebRTC code version (2021-05-30T04:02:15).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Ibff207d38a3dbabd527ff02ead5eca71defa368e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220745
Reviewed-by: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34154}
2021-05-30 05:07:23 +00:00
6c94d58e34 Roll chromium_revision bbca8ebcc5..6f6904aacc (887470:887571)
Change log: bbca8ebcc5..6f6904aacc
Full diff: bbca8ebcc5..6f6904aacc

Changed dependencies
* src/build: 862b91b57a..3fc38c3bd6
* src/ios: b877a5846b..fdc76a4cce
* src/third_party: 6938093afd..859af1e84f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8f9ae5d5d3..edf4e0e88f
* src/tools: 8507003bda..7aac6671d0
DEPS diff: bbca8ebcc5..6f6904aacc/DEPS

No update to Clang.

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

Change-Id: Idd05db4d9643e2f701344393d13a46a57fa8908a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220741
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@{#34153}
2021-05-29 18:33:45 +00:00
cbb4421eac Remove DeliverPacketAsync.
This is currently unused and since we ultimately don't want the delivery
of packets to be async at this stage (but rather stay on the network
thread), we don't need it.

Bug: webrtc:11993
Change-Id: I6809026b6901c8ecfacd961e98ddf79aaa16d0bd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220601
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34152}
2021-05-29 07:37:33 +00:00
785725129a Update WebRTC code version (2021-05-29T04:03:30).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: If4ecdd641557c7f139f98d2d31a310d82c291d48
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220583
Reviewed-by: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34151}
2021-05-29 05:36:03 +00:00
d5b0199959 Roll chromium_revision 4a5a62a362..bbca8ebcc5 (887362:887470)
Change log: 4a5a62a362..bbca8ebcc5
Full diff: 4a5a62a362..bbca8ebcc5

Changed dependencies
* src/base: 81feb71671..65424b398e
* src/build: 5ed0c25eaa..862b91b57a
* src/ios: aaf94d3ca0..b877a5846b
* src/testing: d795081f8b..0f50062689
* src/third_party: 1ecc375025..6938093afd
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/e83a92e7b8..8f9ae5d5d3
* src/third_party/perfetto: e46c9b802f..b3f455e9ed
* src/tools: f903bb869e..8507003bda
DEPS diff: 4a5a62a362..bbca8ebcc5/DEPS

No update to Clang.

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

Change-Id: Iaa36275ef783936dc956c04e831f2fc454294344
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220541
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@{#34150}
2021-05-28 07:00:00 +00:00
3d46d0b200 Proxy: solve event tracing with compile time strings.
This change creates trace events with a single parameter
composed of ClassName::Method.

The change additionally causes the duration of the proxy call to be
traced, not only the occurrence.

Fixed: webrtc:12787
Change-Id: I1689862318d4c6fc1dcef343c3ccf3ae9f7e17df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219788
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34149}
2021-05-28 06:53:29 +00:00
d325f322c7 Update WebRTC code version (2021-05-28T04:03:27).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: I17bab58728190b656e1f0db1c609c2896c090326
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220540
Reviewed-by: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34148}
2021-05-28 05:20:39 +00:00
319bac634b Roll chromium_revision f713d4fb04..4a5a62a362 (887229:887362)
Change log: f713d4fb04..4a5a62a362
Full diff: f713d4fb04..4a5a62a362

Changed dependencies
* src/base: cec4a71b3f..81feb71671
* src/build: b5063cfbea..5ed0c25eaa
* src/ios: 09ce2a9c75..aaf94d3ca0
* src/testing: 63780aeaa4..d795081f8b
* src/third_party: b13c85f968..1ecc375025
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/ddecaabdc8..3dd9864fea
* src/third_party/depot_tools: 6fc394f93d..0694fa65f8
* src/tools: bbaa2660fe..f903bb869e
DEPS diff: f713d4fb04..4a5a62a362/DEPS

No update to Clang.

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

Change-Id: I3cce061233062313cb157939319c664f4e15ac82
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220480
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@{#34147}
2021-05-27 22:45:17 +00:00
d595f6c02a Roll chromium_revision a0132a2044..f713d4fb04 (887053:887229)
Change log: a0132a2044..f713d4fb04
Full diff: a0132a2044..f713d4fb04

Changed dependencies
* src/base: 43f91dbc50..cec4a71b3f
* src/build: 2f6e88e05d..b5063cfbea
* src/ios: 61b28637d9..09ce2a9c75
* src/testing: 55ab025d49..63780aeaa4
* src/third_party: 3544467673..b13c85f968
* src/third_party/perfetto: be406c7d16..e46c9b802f
* src/tools: 451fade863..bbaa2660fe
DEPS diff: a0132a2044..f713d4fb04/DEPS

No update to Clang.

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

Change-Id: If01f20f5c8e1a28a9f57afbcec84609604614a26
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220441
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@{#34146}
2021-05-27 18:28:27 +00:00
c39080c883 Roll chromium + fix: blacklist -> ignorelist for sanitizers suppressions
Roll chromium_revision 19159a8788..a0132a2044 (886529:887053)

Change log: 19159a8788..a0132a2044
Full diff: 19159a8788..a0132a2044

Changed dependencies
* src/base: eb591f0d4b..43f91dbc50
* src/build: 4f39b7cf99..2f6e88e05d
* src/buildtools/third_party/libunwind/trunk: 7846d25635..c8d0fb870a
* src/ios: 6d4134ba11..61b28637d9
* src/testing: 04abc75222..55ab025d49
* src/third_party: 6dc8812614..3544467673
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/74a278f9bb..e83a92e7b8
* src/third_party/depot_tools: 6d45691f60..6fc394f93d
* src/third_party/googletest/src: 23ef29555e..a3460d1aee
* src/third_party/perfetto: 78af063a63..be406c7d16
* src/tools: 255ad6c868..451fade863
DEPS diff: 19159a8788..a0132a2044/DEPS

No update to Clang.

Bug: webrtc:12817, webrtc:11680
Change-Id: Icf3b9678dbd529bb6878bcb12bdb4c1c3e7f2c24
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220364
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34145}
2021-05-27 16:16:01 +00:00
236ac50628 dcsctp: Add public API for BufferedAmountLow
This adds native support for the RTCDataChannel properties:
https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel/bufferedAmount
https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel/bufferedAmountLowThreshold

And the RTCDataChannel event:
https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel/onbufferedamountlow

The old callback, NotifyOutgoingMessageBufferEmpty, is deprecated as it
didn't work very well. It will not be triggered and will be removed
as soon as all users of it are gone. There is a new callback,
OnTotalBufferedAmountLow, that serves the same purpose but also allows
setting an arbitrary limit when it should be triggered (See
DcSctpOptions::total_buffered_amount_low_threshold).

Bug: webrtc:12794
Change-Id: Ic1c92f174eff8a1acda0b5fd3dcc45bd1cfa2704
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219691
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34144}
2021-05-27 15:27:27 +00:00
bd9031bf22 dcsctp: Add OnTotalBufferedAmountLow in Send Queue
This is similar to Change-Id: I12a16f44f775da3711f3aa52a68a0bf24f70d2f8
but with the entire send buffer as scope, not a single stream.

This can be used by clients to take alternate action (such as delaying
transmission or using other buffering) if the send buffer ever becomes
full, as they can now be notified when the send buffer is no longer
full.

Bug: webrtc:12794
Change-Id: Icf3be3b118888ffb5ced955fd7ba4826a37140f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220360
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34143}
2021-05-27 14:38:18 +00:00
791adafa09 dcsctp: Add OnBufferedAmountLow in Send Queue
This adds the necessary properties and callback to the Send Queue to
support the bufferedAmount & bufferedAmountLowThreshold properties and
the bufferedamountlow event in RTCDataChannel.

The public API changes and socket support comes in a follow-up CL.

Bug: webrtc:12794
Change-Id: I12a16f44f775da3711f3aa52a68a0bf24f70d2f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219690
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34142}
2021-05-27 13:16:28 +00:00
a1b8201009 Move proxies into pc/.
Bug: webrtc:12787
Change-Id: Ia244d9d22d35436a02cf5a448bd1520cb66ff352
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220321
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34141}
2021-05-27 09:56:42 +00:00
7d2e669a38 dcsctp: Allocate TSN for end of abandoned message
If a not fully sent message is abandoned, there must be a TSN
representing the end of that message (even if that fragment is never
sent), as the receiver can otherwise reject the next sent message as it
hasn't seen any end of the previous one.

A long explanation can be found at
https://github.com/sctplab/usrsctp/issues/592#issuecomment-849047689

Bug: webrtc:12812
Change-Id: I09c571bd6dd2774b0c147d4e5ddac67d2aa64fea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220361
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34140}
2021-05-27 08:53:42 +00:00
9700d88b1a dcsctp: Avoid recalculation of outstanding bytes
Recalculating outstanding bytes is expensive when the congestion window
is large, as it iterates over all inflight data chunks. By doing it
incrementally, it will be a constant operation in most cases, and
in the remaining cases, a function of the number of chunks acked in a
single SACK, which is typically just a few chunks.

Implementing this fix required some refactoring to calculate it
correctly (and to be honest, it was likely done incorrectly previously).

Previously, the state of an item in the retransmission queue was
simplified as "in flight", "acked", "nacked", "abandoned", but these
were not completely orthogonal. A chunk could be abandoned while it was
in-flight or it could be abandoned because it was lost. The difference
between these if that chunk should be accounted for in
outstanding_bytes() or not.

Unit tests have been added to verify this.

Bug: webrtc:12799
Change-Id: I72341538bb0c4f8f89555b08f0c8a28815f0f828
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219623
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34139}
2021-05-27 07:40:11 +00:00
36ad60613d Update WebRTC code version (2021-05-27T04:02:45).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Ibbf24578c29dfb834fac3803716ebda700d5f4e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220381
Reviewed-by: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34138}
2021-05-27 05:42:23 +00:00
e52cfab633 PipeWire capturer: request mouse cursor to be part of the stream
We need to specify that the cursor should be included in the stream as
by default xdg-desktop-portal defaults to hidden cursor.

Bug: chromium:1202526
Change-Id: Ic4742da2e51f7ed28cb9d7b6b0c069c1fa7d0cee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214782
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34137}
2021-05-26 19:08:17 +00:00
2182096e66 RtpFrameReferenceFinder return frames directly instead of via callback.
Bug: webrtc:12579
Change-Id: I41263f70a6f3dc60167e41f8b015a7d3b0dc3dd7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219633
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@google.com>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34136}
2021-05-26 15:47:03 +00:00
7f11067110 Clean up RtpSenderTest and remove RtpSenderEgress dependencies.
Since all test cases that used RtpSenderEgress have been refactored or
moved, we can now get rid of lot of test fixture crud:
* Remove RtpSenderContext helper, make sender normal member.
* Remove test transport helper
* Remove task queue helper (needed for thread checks in egress)
* Remove various mocks no longer used
* Remove RtpSenderWithoutPacer subclass
* Remove WithWithoutOverhead parametrization (only affect egress)

..plus some cleanup of how configs are created.

Bug: webrtc:11340
Change-Id: I5c581d60862fc6dc2b99f76058782309dc7aef4d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220280
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34135}
2021-05-26 15:25:58 +00:00
b4f3204a23 Remove Win UWP mb config
Bug: webrtc:12803
Change-Id: Ia66efdf101645a2a0332662ff8b010a78024b0a6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220161
Commit-Queue: Christoffer Jansson <jansson@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34134}
2021-05-26 13:29:05 +00:00
940108b04f Apply autoformat to the docs
Bug: None
Change-Id: Iea7823827d6f5a2d400ccbb208f91829165ee518
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220163
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34133}
2021-05-26 11:53:07 +00:00
8f8bf252e6 Remove usage of InjectPacket and transport_ in rtp_sender_unittest
Thus removing dependency on RtpSenderEgress, allowing simplification of
the test fixture in a follow-up.

Bug: webrtc:11340
Change-Id: I9772bab18d1f4a04e0deccc9125d4b1c16c30d7a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219627
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34132}
2021-05-26 10:44:29 +00:00
b412efdb78 payload type mapping: restrict lower range to <= 63
for consistency with the definition in IsRtcpPacket which takes
into account a collision of H261 feedback for payload types 64 + 65:
  https://datatracker.ietf.org/doc/html/rfc5761#section-4

BUG=webrtc:12194

Change-Id: I2ebb0456ae2aff1b1735f26221c7c4ae79698ac9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220021
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34131}
2021-05-26 10:04:29 +00:00
a9af50f151 Introduce CreateDataChannelOrError
Deprecate CreateDataChannel, and make it a simple wrapper function.

Bug: webrtc:12796
Change-Id: I053d75a264596ba87ca734a29df9241de93a80c3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219784
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34130}
2021-05-26 09:43:29 +00:00
0d0ed76ac1 Fix RTP header extension encryption
Reland of commit a743303211b89bbcf4cea438ee797bbbc7b59e80

Previously, RTP header extensions with encryption had been filtered
if the encryption had been activated (not the other way around) which
was likely an unintended logic inversion.

In addition, it ensures that encrypted RTP header extensions are only
negotiated if RTP header extension encryption is turned on. Formerly,
which extensions had been negotiated depended on the order in which
they were inserted, regardless of whether or not header encryption was
actually enabled, leading to no extensions being sent on the wire.

Further changes:

- If RTP header encryption enabled, prefer encrypted extensions over
  non-encrypted extensions
- Add most extensions to list of extensions supported for encryption
- Discard encrypted extensions in a session description in case encryption
  is not supported for that extension
- Mark FindHeaderExtensionByUri without filter argument as deprecated

Bug: webrtc:11713
Change-Id: I52a5ade1b94bc01d1c2a35cb56023684fcaf9982
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219081
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34129}
2021-05-26 09:42:09 +00:00
4a54be7118 doc: update dtls_transport.md to use new link style
BUG=webrtc:12551

No-Try: true
Change-Id: I20a513653aad68c568fea655790c01b53d4da2fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218846
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34128}
2021-05-26 09:40:24 +00:00
fec79b74a8 add srtp docs
BUG=None

No-Try: true
Change-Id: I2677c1e932e2a4e0833f7c3185689ab030c8fa61
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218608
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34127}
2021-05-26 09:39:19 +00:00
770acabd5d Refactor mid/rid rtp tests to avoid using egress/transport logic.
This CL makes a number of test use the paced sender callback to verify
the output of RTPSender, instead of re-parsed data from RtpSenderEgres.

Bug: webrtc:11340
Change-Id: I13ccf5a5db4b6df128cf2fa9e8dad443fcd15cdd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220162
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34126}
2021-05-26 08:44:19 +00:00
a39d96666b Remove unused property isLocked from RTCAudioSession
This property doesn't have a getter and it is not required anymore.

Bug: None
Change-Id: Ie3f057cd6928d7fdef4e7971476fb1257900ccc6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215261
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34125}
2021-05-26 08:08:40 +00:00
8d9d575920 PipeWire capturer: fix stream width in PW 0.2 code
Set we don't use full stream width. This follows same code as in PW 0.3
case, it was just accidentally omitted.

Bug: chromium:682122
Change-Id: Ifb9200a14387ba9b9da3246c9c4e30306393c4e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214700
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Wez <wez@google.com>
Cr-Commit-Position: refs/heads/master@{#34124}
2021-05-26 06:44:19 +00:00
27df00746a Update WebRTC code version (2021-05-26T04:05:14).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: I00abae1c2c0ec8460502c273ff9cc81e2966264c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220223
Reviewed-by: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34123}
2021-05-26 05:35:57 +00:00
048bf187d1 Roll chromium_revision 8a4c5eb899..19159a8788 (886374:886529)
Change log: 8a4c5eb899..19159a8788
Full diff: 8a4c5eb899..19159a8788

Changed dependencies
* src/base: 4185c91fda..eb591f0d4b
* src/buildtools/third_party/libc++abi/trunk: 8b015a7982..da3e6cbc62
* src/ios: 8f7a2384ad..6d4134ba11
* src/testing: 2788fd0fd6..04abc75222
* src/third_party: e39f38e7f3..6dc8812614
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/9c5e41e787..74a278f9bb
* src/third_party/depot_tools: 7fc02e848a..6d45691f60
* src/third_party/perfetto: 70fc3006ad..78af063a63
* src/tools: 3db6fb0fb5..255ad6c868
DEPS diff: 8a4c5eb899..19159a8788/DEPS

No update to Clang.

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

Change-Id: I2ace2ae2ba1670b884b3da3190830aaf20037cfd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220240
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@{#34122}
2021-05-26 00:41:48 +00:00
0a52ede821 Support for map of string keys to uint64_t / double values in RTCStats
Bug: webrtc:10685
Change-Id: I047d784bd20c3fca8b96391653f90fd8803140d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219141
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34121}
2021-05-25 20:38:08 +00:00
cbeff55a6a Roll chromium_revision 1b27d646a6..8a4c5eb899 (886225:886374)
Change log: 1b27d646a6..8a4c5eb899
Full diff: 1b27d646a6..8a4c5eb899

Changed dependencies
* src/base: d26844a7c8..4185c91fda
* src/build: de91a1ebf8..4f39b7cf99
* src/ios: 25276fd892..8f7a2384ad
* src/testing: 0519f53328..2788fd0fd6
* src/third_party: 0746065687..e39f38e7f3
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/53102de187..9c5e41e787
* src/third_party/freetype/src: 5f485339be..0d1c306e51
* src/third_party/perfetto: e2a0b3126e..70fc3006ad
* src/tools: 7a2715d3bd..3db6fb0fb5
* src/tools/luci-go: git_revision:03ef3f6285cef3766c18a5c7b8cc8c0069eaa2ed..git_revision:03ab00ce4982877f2d4a0b0db48cd355e5ca65ab
* src/tools/luci-go: git_revision:03ef3f6285cef3766c18a5c7b8cc8c0069eaa2ed..git_revision:03ab00ce4982877f2d4a0b0db48cd355e5ca65ab
* src/tools/luci-go: git_revision:03ef3f6285cef3766c18a5c7b8cc8c0069eaa2ed..git_revision:03ab00ce4982877f2d4a0b0db48cd355e5ca65ab
DEPS diff: 1b27d646a6..8a4c5eb899/DEPS

No update to Clang.

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

Change-Id: Ie99e5648bf628b6b932b665abc63487a3739172d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220200
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@{#34120}
2021-05-25 18:21:23 +00:00
157371643d Enforce thread invoke policy for invokes to itself
Bug: None
Change-Id: Ic4a80973bd0901f69c66ecabd3c135566f4ef247
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219629
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34119}
2021-05-25 18:14:43 +00:00
4fbc3fc59e Move SendPacketUpdates* tests to rtp_sender_egress_unittest.
These should be the last of the testis from rtp_sender_unittest.cc that
should be moved and refactored to just test RtpSenderEgress.

Bug: webrtc:11340
Change-Id: Id09d7bbade608dd7194dcd8843d4f2887842a372
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220140
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34118}
2021-05-25 15:25:30 +00:00
fade919bb1 Partial revert: "Use unordered map in RtpDemuxer"
While the savings were positive in Media Servers, there was a regression
in some scenarios (crbug.com/webrtc/12718) so let's revert it.

This partially reverts commit 553fd3220b7b1a476af6759b27b3a274677d21e3.

Bug: webrtc:12718
Change-Id: If9252fd996ffc5efd7609eb4c7c0e7f001893676
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220103
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34117}
2021-05-25 15:16:00 +00:00
238da9a57e Remove obsolete SendPacketMatches* tests from rtp_sender_egress_unittest.
These tests were likely made back when PacketRouter was iterating over
the RTP modules to find the correct to send on. Now that this is just
a DCHECK, it's already implicitly covered by other tests that actually
test the respective packet type functionality. Let's thus just remove
these old tests.

Bug: webrtc:11340
Change-Id: I244ca7e365378f4e48a601464b5df0e1d07732be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219621
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34116}
2021-05-25 12:57:35 +00:00