Adding additional usage bits to the UsagePattern to:
- Track whether a mDNS candidate was collected
- Track whether a mDNS candidate was received from the remote peer
- Track whether a private IP address was received from the remote peer
The definition of a private IP address is extended to include 100.64/10 addresses.
Bug: None
Change-Id: I77182685120413d5c13c5f67e480d33fdcaefc6a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134000
Commit-Queue: Jeroen de Borst <jeroendb@webrtc.org>
Reviewed-by: Justin Uberti <juberti@google.com>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27747}
This is a reland of cd8d1cf68e4eeed71fba51c97006a91bfd41813d
Original change's description:
> Surface ICE candidates that match an updated candidate filter.
>
> After this change an ICE agent can surface candidates that do not match
> the previous filter but are allowed by the updated one. The candidate
> filter, as part of the internal implementation in the ICE transport,
> manifests the RTCIceTransportPolicy field in RTCConfiguration.
>
> This new feature would allow an ICE agent to gather new candidates when
> the transport policy changes from e.g. 'relay' to 'all' without an ICE
> restart.
>
> A caveat in the current implementation remains, and a candidate can
> surface multiple times if the transport policy, or the candidate filter
> directly, performs multiple transitions from a value that disallows to
> one that allows the underlying candidate type. For example, if the
> transport policy is updated by 'all' -> 'relay' -> 'all', the same host
> candidate can surface after the second update.
>
>
> Bug: webrtc:8939
> Change-Id: I92c2e07dafab225c702c5de28f47958a0d3270cc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132282
> Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
> Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27674}
Bug: webrtc:8939
Change-Id: I9c32b1ea05028ecd937ab4912779dd958faf734f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133582
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27694}
This reverts commit cd8d1cf68e4eeed71fba51c97006a91bfd41813d.
Reason for revert: breaks an internal project
Original change's description:
> Surface ICE candidates that match an updated candidate filter.
>
> After this change an ICE agent can surface candidates that do not match
> the previous filter but are allowed by the updated one. The candidate
> filter, as part of the internal implementation in the ICE transport,
> manifests the RTCIceTransportPolicy field in RTCConfiguration.
>
> This new feature would allow an ICE agent to gather new candidates when
> the transport policy changes from e.g. 'relay' to 'all' without an ICE
> restart.
>
> A caveat in the current implementation remains, and a candidate can
> surface multiple times if the transport policy, or the candidate filter
> directly, performs multiple transitions from a value that disallows to
> one that allows the underlying candidate type. For example, if the
> transport policy is updated by 'all' -> 'relay' -> 'all', the same host
> candidate can surface after the second update.
>
>
> Bug: webrtc:8939
> Change-Id: I92c2e07dafab225c702c5de28f47958a0d3270cc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132282
> Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
> Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
> Reviewed-by: Seth Hampson <shampson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27674}
TBR=shampson@webrtc.org,qingsi@webrtc.org,jeroendb@webrtc.org,sukhanov@webrtc.org
Change-Id: Idd51a640e55a612b42fe8b69e05dff57a22d021a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8939
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133581
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27677}
After this change an ICE agent can surface candidates that do not match
the previous filter but are allowed by the updated one. The candidate
filter, as part of the internal implementation in the ICE transport,
manifests the RTCIceTransportPolicy field in RTCConfiguration.
This new feature would allow an ICE agent to gather new candidates when
the transport policy changes from e.g. 'relay' to 'all' without an ICE
restart.
A caveat in the current implementation remains, and a candidate can
surface multiple times if the transport policy, or the candidate filter
directly, performs multiple transitions from a value that disallows to
one that allows the underlying candidate type. For example, if the
transport policy is updated by 'all' -> 'relay' -> 'all', the same host
candidate can surface after the second update.
Bug: webrtc:8939
Change-Id: I92c2e07dafab225c702c5de28f47958a0d3270cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132282
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27674}
This patch makes VideoBitrateAllocatorFactory injectable
by adding to PeerConnectionDependencies instead of allowing it to be
overridden using MediaEngine (on PeerConnectionFactory).
With this patch VideoBitrateAllocatorFactory is owned
by the PeerConnection.
WANT_LGTM (examples) : sakal@
WANT_LGTM (api/pc) : steveanton@
Bug: webrtc:10547
Change-Id: I768d400a621f2b7a98795eb7f410adb48651bfd6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132706
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27654}
The new processing applies only in Unified Plan mode.
Plan B retains the old-style processing.
This is a reland of 1fa06041bcd8a0119e557d16e7b54a9110c5ad03
Original change's description:
> Make negotiationneeded processing in PeerConnection spec compliant.
>
> This CL fixes the problem of misfired negotiationneeded notifications due
> to the lack of a NegotiationNeeded slot and the proper procedure to
> update it.
>
>
> Change-Id: Ie273c691f11316c9846606446f6cf838226b5d5c
> Bug: chromium:740501
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131283
> Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27594}
Bug: chromium:740501
Change-Id: I048ae81b2b00086f6d669e94eecf426f0db0ec08
TBR: steveanton@webrtc.org
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133162
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27640}
Current logic requires a stream id and track ids when creating a stream
that does not have SSRCs signaled.
This change removes the requirement for stream ids. The requirement for
track id is softer, as one should be generated when it is not present.
Bug: webrtc:10551
Change-Id: Ibc0cc181c6b18efa8394b6c0e4820e3a13da70c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133080
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27633}
We no longer have a need for a HKDF implementation in WebRTC. To keep
code quality high it makes sense to delete this dead code path.
Bug: webrtc:9600
Change-Id: Ibe6ee9150acd9dbf59452372242d857c5ffa65c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132802
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27604}
This reverts commit 1fa06041bcd8a0119e557d16e7b54a9110c5ad03.
Reason for revert: Likely cause for breaking downstream projects
Original change's description:
> Make negotiationneeded processing in PeerConnection spec compliant.
>
> This CL fixes the problem of misfired negotiationneeded notifications due
> to the lack of a NegotiationNeeded slot and the proper procedure to
> update it.
>
>
> Change-Id: Ie273c691f11316c9846606446f6cf838226b5d5c
> Bug: chromium:740501
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131283
> Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27594}
TBR=steveanton@webrtc.org,magjed@webrtc.org,sakal@webrtc.org,hbos@webrtc.org,guidou@webrtc.org
Change-Id: Iad7b7d4e37227fa6a76ff830160ca3da9dbe4719
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:740501
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132761
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Commit-Queue: Jeroen de Borst <jeroendb@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27599}
This CL fixes the problem of misfired negotiationneeded notifications due
to the lack of a NegotiationNeeded slot and the proper procedure to
update it.
Change-Id: Ie273c691f11316c9846606446f6cf838226b5d5c
Bug: chromium:740501
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131283
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27594}
This allows the ciphersuite to be accessed from Blink code, which is
useful if we want to emit deprecation messages.
Bug: none
Change-Id: Idcf1f5402948406e4cf7c6e54b67a622a1a403ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132004
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27581}
Add base class NetworkPredictor and NetworkPredictorFactory in /api, make it possible to inject customized NetworkPredictor in PeerConnectionFactory level. The NetworkPredictor object will be pass down to GoogCCNetworkControl and DelayBasedBwe.
Bug: webrtc:10492
Change-Id: Iceeadbe1c9388b11ce4ac01ee56554cb0bf64d04
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130201
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27543}
This is a reland of 07f3279a730980583403b78c3762c5d246d1d9be
Original change's description:
> Adding a restriction for legal RID values.
>
> According to the spec, RID values should be constrained to only
> alpha-numeric values. This was not enforced in our implementation to
> allow for more flexibility.
> It has been brought to our attention that some values that we currently
> consider legal (such as the '~', '=' ';' characters) might cause confusion
> with the simulcast syntax that uses these characters to indicate other
> meanings.
> What's worse, is that some characters, when used in RIDs (such as
> \u{1f937} \u{1f4a9} and \u{1f926}) cause uncontrollable laughter for some
> users which might also be a health hazard.
> This change resolves these issues by restricting RIDs to alpha-numeric.
>
> Bug: webrtc:10491
> Change-Id: I16e262c87525d0289764beacd098e1525a355463
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132061
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27499}
TBR=steveanton@webrtc.org
Bug: webrtc:10491
Change-Id: I856581306a9258480ee9184f12b55c2a23dd8636
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131983
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27530}
Semi-automatically created with:
git grep -l " testing::" | xargs sed -i "s/ testing::/ ::testing::/g"
git grep -l "(testing::" | xargs sed -i "s/(testing::/(::testing::/g"
git cl format
After this, two .cc files failed to compile and I have fixed them
manually.
Bug: webrtc:10523
Change-Id: I4741d3bcedc831b6c5fdc04485678617eb4ce031
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132018
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27526}
This reverts commit 07f3279a730980583403b78c3762c5d246d1d9be.
Reason for revert: Suspect of producing consistent failure in some Chrome trybots, blocking rolls.
Failed test:
external/wpt/webrtc/RTCPeerConnection-addTransceiver.https.html
First failure:
https://ci.chromium.org/p/chromium/builders/try/linux-rel/64597
Original change's description:
> Adding a restriction for legal RID values.
>
> According to the spec, RID values should be constrained to only
> alpha-numeric values. This was not enforced in our implementation to
> allow for more flexibility.
> It has been brought to our attention that some values that we currently
> consider legal (such as the '~', '=' ';' characters) might cause confusion
> with the simulcast syntax that uses these characters to indicate other
> meanings.
> What's worse, is that some characters, when used in RIDs (such as
> \u{1f937} \u{1f4a9} and \u{1f926}) cause uncontrollable laughter for some
> users which might also be a health hazard.
> This change resolves these issues by restricting RIDs to alpha-numeric.
>
> Bug: webrtc:10491
> Change-Id: I16e262c87525d0289764beacd098e1525a355463
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132061
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27499}
TBR=steveanton@webrtc.org,amithi@webrtc.org
Change-Id: I89f9d8a8d3fa82de8a7d429f11ad7cc30812ba7c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10491
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132244
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27525}
These parameters are nullable in the JS API.
This allows cleaner handling of "unset" vs "set" in Chrome.
Backwards compatibility note: Behavior should not change, even for users
who set the values explicitly to -1 in the DataChannelInit struct.
Those who try to read back the value will get a compile-time error.
Bug: chromium:854385
Change-Id: Ib488ca5f70bc24ba8b4a3f71b506434c4d2c60b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131381
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27507}
According to the spec, RID values should be constrained to only
alpha-numeric values. This was not enforced in our implementation to
allow for more flexibility.
It has been brought to our attention that some values that we currently
consider legal (such as the '~', '=' ';' characters) might cause confusion
with the simulcast syntax that uses these characters to indicate other
meanings.
What's worse, is that some characters, when used in RIDs (such as
\u{1f937} \u{1f4a9} and \u{1f926}) cause uncontrollable laughter for some
users which might also be a health hazard.
This change resolves these issues by restricting RIDs to alpha-numeric.
Bug: webrtc:10491
Change-Id: I16e262c87525d0289764beacd098e1525a355463
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132061
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27499}
Plus all the annotations that were necessary to make things compile
again. I also had to send copies of some values owned by the signal
thread to the network thread, instead of letting the latter read them
itself.
Bug: webrtc:9987
Change-Id: Ic4b38696245584bab44956e60ac63753146e3ff4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131020
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27437}
This reverts commit caedb5db82b2bc8273910f4a0d1afb1d0e2994f3.
Reason for revert: Fixed issue (allow SetNeedsIceRestart from off-thread).
Original change's description:
> Revert "Add thread guards to JsepTransport"
>
> This reverts commit 7e1db52c93c57a180073906eda6a58919a9fd537.
>
> Reason for revert: Breaks downstream.
>
> Original change's description:
> > Add thread guards to JsepTransport
> >
> > This ensures that JsepTransport's methods are either only accessed on the thread
> > that creates it, or using methods that are marked for off-thread use
> > (using a lock to prevent simultaneous access).
> >
> > The intent is to document the existing contract, and to make it easy to find the
> > actions needed to convert the class to a pure single-threaded class.
> >
> > Bug: webrtc:10300
> > Change-Id: Ib5cdc027632c36baec55179937d6eb664bbaf6f5
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/121946
> > Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Reviewed-by: Henrik Boström <hbos@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27427}
>
> TBR=steveanton@webrtc.org,solenberg@webrtc.org,kwiberg@webrtc.org,hbos@webrtc.org,hta@webrtc.org
>
> Change-Id: I30c65d2161de9376ccd1172e2b261f2280fb1d75
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10300
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130519
> Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
> Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27429}
Change-Id: Ic32bfc04d96e657fc67c3d3999f77969e55ed994
Bug: webrtc:10300
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130962
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27434}
After reviewer feedback, this CL was reduced to just adding scary
comments on two variables.
Bug: webrtc:9987
Change-Id: Id1e251ffd02e4ca8050235bd9f3971b5363f0e3f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130960
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27431}
This reverts commit 7e1db52c93c57a180073906eda6a58919a9fd537.
Reason for revert: Breaks downstream.
Original change's description:
> Add thread guards to JsepTransport
>
> This ensures that JsepTransport's methods are either only accessed on the thread
> that creates it, or using methods that are marked for off-thread use
> (using a lock to prevent simultaneous access).
>
> The intent is to document the existing contract, and to make it easy to find the
> actions needed to convert the class to a pure single-threaded class.
>
> Bug: webrtc:10300
> Change-Id: Ib5cdc027632c36baec55179937d6eb664bbaf6f5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/121946
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27427}
TBR=steveanton@webrtc.org,solenberg@webrtc.org,kwiberg@webrtc.org,hbos@webrtc.org,hta@webrtc.org
Change-Id: I30c65d2161de9376ccd1172e2b261f2280fb1d75
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10300
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130519
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27429}
This ensures that JsepTransport's methods are either only accessed on the thread
that creates it, or using methods that are marked for off-thread use
(using a lock to prevent simultaneous access).
The intent is to document the existing contract, and to make it easy to find the
actions needed to convert the class to a pure single-threaded class.
Bug: webrtc:10300
Change-Id: Ib5cdc027632c36baec55179937d6eb664bbaf6f5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/121946
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27427}