Commit graph

32 commits

Author SHA1 Message Date
Niels Möller
f06f923ef0 Delete almost all use of MediaConstraintsInterface in the PeerConnection API
Bug: webrtc:9239
Change-Id: I04f4370f624346bf72c7e4e090b57987b558213b
Reviewed-on: https://webrtc-review.googlesource.com/74420
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24396}
2018-08-23 07:14:37 +00:00
Steve Anton
27ab0e5ee5 Add CreateIceCandidate overload which takes a cricket::Candidate
This gives clients a clear way to create an IceCandidateInterface
instance for use with PeerConnection from a parsed
cricket::Candidate structure.

Previously, the only way was with the JsepIceCandidate constructor,
but this CL will allow us to move that class out of the API.

Bug: webrtc:9544
Change-Id: Idfc1f1e0f5ee4c68d94599aae3fb824b23189a7c
Reviewed-on: https://webrtc-review.googlesource.com/90121
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24074}
2018-07-23 23:49:44 +00:00
Harald Alvestrand
76829d7c3d Add UMA metric for ICE candidate addition outcome
Bug: webrtc:9532
Change-Id: I58af94c03f5bbf25db2b558a8fe1ae53634fb99f
Reviewed-on: https://webrtc-review.googlesource.com/89063
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24032}
2018-07-19 02:23:59 +00:00
Karl Wiberg
918f50c5d1 Use absl::make_unique and absl::WrapUnique directly
Instead of going through our wrappers in ptr_util.h.

This CL was generated by the following script:

  git grep -l ptr_util | xargs perl -pi -e 's,#include "rtc_base/ptr_util.h",#include "absl/memory/memory.h",'
  git grep -l MakeUnique | xargs perl -pi -e 's,\b(rtc::)?MakeUnique\b,absl::make_unique,g'
  git grep -l WrapUnique | xargs perl -pi -e 's,\b(rtc::)?WrapUnique\b,absl::WrapUnique,g'
  git checkout -- rtc_base/ptr_util{.h,_unittest.cc}
  git cl format

Followed by manually adding dependencies on
//third_party/abseil-cpp/absl/memory until `gn check` stopped
complaining.

Bug: webrtc:9473
Change-Id: I89ccd363f070479b8c431eb2c3d404a46eaacc1c
Reviewed-on: https://webrtc-review.googlesource.com/86600
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23850}
2018-07-05 10:59:49 +00:00
Danil Chapovalov
66cadcc6b9 Replace rtc::Optional with absl::optional in pc
This is a no-op change because rtc::Optional is an alias to absl::optional

This CL generated by running script with parameter 'pc'

find $@ -type f \( -name \*.h -o -name \*.cc \) \
-exec sed -i 's|rtc::Optional|absl::optional|g' {} \+ \
-exec sed -i 's|rtc::nullopt|absl::nullopt|g' {} \+ \
-exec sed -i 's|#include "api/optional.h"|#include "absl/types/optional.h"|' {} \+

find $@ -type f -name BUILD.gn \
-exec sed -r -i 's|"[\./api]*:optional"|"//third_party/abseil-cpp/absl/types:optional"|' {} \+;

git cl format

Bug: webrtc:9078
Change-Id: Ide3b9eb32df7f25991f898ac58fcb119c9f8ae12
Reviewed-on: https://webrtc-review.googlesource.com/84181
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23669}
2018-06-19 20:55:07 +00:00
Yves Gerey
665174fdbb Reformat the WebRTC code base
Running clang-format with chromium's style guide.

The goal is n-fold:
 * providing consistency and readability (that's what code guidelines are for)
 * preventing noise with presubmit checks and git cl format
 * building on the previous point: making it easier to automatically fix format issues
 * you name it

Please consider using git-hyper-blame to ignore this commit.

Bug: webrtc:9340
Change-Id: I694567c4cdf8cee2860958cfe82bfaf25848bb87
Reviewed-on: https://webrtc-review.googlesource.com/81185
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23660}
2018-06-19 14:00:39 +00:00
Anders Carlsson
6753795409 Built in video codec factories.
To prepare for making the software codecs optional and injectable, these
codec factories provide a way to pass in identical factories as were the
default old behaviour.

Bug: webrtc:7925
Change-Id: I0c70fa3c56c999e9d1af6e172eff2fbba849e921
Reviewed-on: https://webrtc-review.googlesource.com/71162
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23096}
2018-05-03 11:49:42 +00:00
Steve Anton
f764cf4677 Don't transition ICE to Checking if there are no transports
This attempts to make it more clear that an offer or answer with
no transports will no start ICE.

Bug: None
Change-Id: Ifb8d9e445b8fbef1fb1590477dd6bdb4fc651a90
Reviewed-on: https://webrtc-review.googlesource.com/73640
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23070}
2018-05-02 00:43:07 +00:00
Steve Anton
c79268f15a Add IsClosed checks to various PeerConnection methods
This brings the implementations in line with the WebRTC
specification.

Bug: chromium:829238
Change-Id: I7ef64e7b6ccf0e9f60f017443565494239ff19cc
Reviewed-on: https://webrtc-review.googlesource.com/71961
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23013}
2018-04-24 23:07:21 +00:00
Henrik Boström
5d8f8fa0b6 Revert "Adding test for adding ICE candidate before applying answer."
This reverts commit dd59d70491.

Reason for revert: Speculatively reverting this due to chromium test.

The AutoRoller has been turned off for a couple of days due to the M67 branch cut. Did this cause a regression that made it into M67 or are the tests broken?

Failed roll:
https://chromium-review.googlesource.com/c/chromium/src/+/1011676
Example run:
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/mac_chromium_rel_ng/24406
Expected diff:
https://isolateserver.appspot.com/browse?namespace=default-gzip&digest=77d652517595443eea13f6ba9aaff67728305213&as=RTCPeerConnection-addIceCandidate-diff.txt

Original change's description:
> Adding test for adding ICE candidate before applying answer.
> 
> This was working before, but somewhat by accident (because an error
> wasn't being surfaced).
> 
> This CL also starts surfacing that error, from
> JsepTransportController::AddRemoteCandidates to PeerConnection.
> 
> Bug: None
> Change-Id: Ib48c9c00ea2a5baa5f7e3210c5dc7a339498b2d0
> Reviewed-on: https://webrtc-review.googlesource.com/69015
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22830}

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

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: None
Change-Id: I78a1df5d1e38569d02565bf343881420cc171347
Reviewed-on: https://webrtc-review.googlesource.com/69860
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22863}
2018-04-13 16:22:38 +00:00
Taylor Brandstetter
dd59d70491 Adding test for adding ICE candidate before applying answer.
This was working before, but somewhat by accident (because an error
wasn't being surfaced).

This CL also starts surfacing that error, from
JsepTransportController::AddRemoteCandidates to PeerConnection.

Bug: None
Change-Id: Ib48c9c00ea2a5baa5f7e3210c5dc7a339498b2d0
Reviewed-on: https://webrtc-review.googlesource.com/69015
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22830}
2018-04-11 18:59:26 +00:00
Jonas Olsson
abbe841721 This CL removes all usages of our custom ostream << overloads.
This prepares us for removing them altogether.

Bug: webrtc:8982
Change-Id: I66002cc8d4bf0e07925766d568d2498422f0f38e
Reviewed-on: https://webrtc-review.googlesource.com/64142
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22707}
2018-04-03 12:51:00 +00:00
Zhi Huang
e830e683c4 Use new TransportController implementation in PeerConnection.
The TransportController will be replaced by the JsepTransportController
and JsepTransport will be replace be JsepTransport2.

The JsepTransportController will take the entire SessionDescription
and handle the RtcpMux, Sdes and BUNDLE internally.

The ownership model is also changed. The P2P layer transports are not
ref-counted and will be owned by the JsepTransport2.

In ORTC aspect, RtpTransportAdapter is now a wrapper over RtpTransport
or SrtpTransport and it implements the public and internal interface
by calling the transport underneath.

Bug: webrtc:8587
Change-Id: Ia7fa61288a566f211f8560072ea0eecaf19e48df
Reviewed-on: https://webrtc-review.googlesource.com/59586
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22693}
2018-03-30 18:41:19 +00:00
Qingsi Wang
4ff5443e4e Fix bugs in collecting STUN candidate stats and configuring STUN
candidate keepalive intervals.

StunStats for a STUN candidate cannot be updated after the initial report
in the stats collector. This is caused by the early return of cached
candidate reports for future queries after the initial report creation.

The STUN keepalive interval cannot be configured for UDPPort because of
incorrect type screening, where only StunPort was supported.

TBR=pthatcher@webrtc.org

Bug: webrtc:8951
Change-Id: I0c9c414f43e6327985be6e541e17b5d6f248a79d
Reviewed-on: https://webrtc-review.googlesource.com/58560
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22278}
2018-03-04 21:37:21 +00:00
Steve Anton
80dd7b5d68 Reland "Set session error if SetLocal/RemoteDescription ever fails"
Original change's description:
> Set session error if SetLocal/RemoteDescription ever fails
> 
> This changes SetLocalDescription/SetRemoteDescription to set a
> session error which will cause any future calls to fail early if
> there is an error when applying a session description.
> 
> This is needed since until better error recovery is implemented
> failing a call to SetLocalDescription or SetRemoteDescription
> could leave the PeerConnection in an inconsistent state.
> 
> Bug: chromium:800775
> Change-Id: If06fd73d6e902af15d072dc562bbe830d3b11ad5
> Reviewed-on: https://webrtc-review.googlesource.com/54061
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22061}

Bug: chromium:800775
Change-Id: I0016108264e013452e9d34239c012baf23240e99
Reviewed-on: https://webrtc-review.googlesource.com/54720
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22067}
2018-02-17 02:08:19 +00:00
Steve Anton
b953245311 Revert "Set session error if SetLocal/RemoteDescription ever fails"
This reverts commit 71439a60e7.

Reason for revert: https://ci.chromium.org/buildbot/chromium.webrtc.fyi/Mac%20Tester/47796

Original change's description:
> Set session error if SetLocal/RemoteDescription ever fails
> 
> This changes SetLocalDescription/SetRemoteDescription to set a
> session error which will cause any future calls to fail early if
> there is an error when applying a session description.
> 
> This is needed since until better error recovery is implemented
> failing a call to SetLocalDescription or SetRemoteDescription
> could leave the PeerConnection in an inconsistent state.
> 
> Bug: chromium:800775
> Change-Id: If06fd73d6e902af15d072dc562bbe830d3b11ad5
> Reviewed-on: https://webrtc-review.googlesource.com/54061
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22061}

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

Change-Id: I8af271f2b6dd6a896e390a6fe736e809329b4f4a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:800775
Reviewed-on: https://webrtc-review.googlesource.com/54700
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22063}
2018-02-16 22:27:10 +00:00
Steve Anton
71439a60e7 Set session error if SetLocal/RemoteDescription ever fails
This changes SetLocalDescription/SetRemoteDescription to set a
session error which will cause any future calls to fail early if
there is an error when applying a session description.

This is needed since until better error recovery is implemented
failing a call to SetLocalDescription or SetRemoteDescription
could leave the PeerConnection in an inconsistent state.

Bug: chromium:800775
Change-Id: If06fd73d6e902af15d072dc562bbe830d3b11ad5
Reviewed-on: https://webrtc-review.googlesource.com/54061
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22061}
2018-02-16 19:39:59 +00:00
Steve Anton
b8867115a7 Prepare StatsCollector to work with RtpTransceivers
This changes the StatsCollector to handle stats from multiple
MediaChannels of the same type (e.g., audio or video).

Bug: webrtc:8764
Change-Id: I91ba50d10cf469420189a311acdafbf6f78579b2
Reviewed-on: https://webrtc-review.googlesource.com/49560
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22009}
2018-02-14 03:42:04 +00:00
Steve Anton
6947025e95 Move media_type to RtpTransceiverInterface
Media type is not part of the WebRTC spec for RtpTransceiver, but it is
handy and the RtpSender/RtpReceiver also have it.

Bug: webrtc:7600
Change-Id: I8350069502588bff478db4dc1318329626dcf9be
Reviewed-on: https://webrtc-review.googlesource.com/50560
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21988}
2018-02-12 19:18:44 +00:00
Steve Anton
dffead8835 Fail CreateAnswer if signaling state is not correct
This changes CreateAnswer to become compliant with the WebRTC 1.0
specification which details that createAnswer should fail if the
PeerConnection is in a state other than 'have-remote-offer' or
'have-local-pranswer'.

Bug: webrtc:8813
Change-Id: I7ca41bdebda1ea163aec8815267c1bbfd7d6d11e
Reviewed-on: https://webrtc-review.googlesource.com/47581
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21923}
2018-02-06 19:19:54 +00:00
Oleh Prypin
c22d6a8f9b Revert "Reland "Parameterize PeerConnection signaling tests for Unified Plan""
This reverts commit 7b581eb1ca.

Reason for revert: Breaks downstream projects

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

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

Change-Id: I15490e4db3290a8ab6056cf82959be7a97e6b1c3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8813
Reviewed-on: https://webrtc-review.googlesource.com/47340
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21865}
2018-02-02 08:44:00 +00:00
Steve Anton
7b581eb1ca Reland "Parameterize PeerConnection signaling tests for Unified Plan"
Original change's description:
> Parameterize PeerConnection signaling tests for Unified Plan
>
> This also changes the behavior of CreateAnswer to fail unless
> the signaling state is kHaveRemoteOffer or kHaveLocalPranswer,
> as per the WebRTC specification.
>
> Bug: webrtc:8765
> Change-Id: I60ac67cd92b17fcbff964afc14d049481e816a28
> Reviewed-on: https://webrtc-review.googlesource.com/41042
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21779}

Bug: webrtc:8813
Change-Id: I9f608fcd0b7aca00b4c1092e271dbd9cd710c38a
Reviewed-on: https://webrtc-review.googlesource.com/46861
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21860}
2018-02-01 21:28:41 +00:00
Taylor Brandstetter
94d8ccec4c Revert "Parameterize PeerConnection signaling tests for Unified Plan"
This reverts commit 65c0a60302.

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

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

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

Change-Id: I90eacadb217353a7e098826563f5aeaaced52452
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8765
Reviewed-on: https://webrtc-review.googlesource.com/44581
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21781}
2018-01-26 22:44:30 +00:00
Steve Anton
65c0a60302 Parameterize PeerConnection signaling tests for Unified Plan
This also changes the behavior of CreateAnswer to fail unless
the signaling state is kHaveRemoteOffer or kHaveLocalPranswer,
as per the WebRTC specification.

Bug: webrtc:8765
Change-Id: I60ac67cd92b17fcbff964afc14d049481e816a28
Reviewed-on: https://webrtc-review.googlesource.com/41042
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21779}
2018-01-26 21:06:52 +00:00
Steve Anton
46d926a388 Parameterize PeerConnection ICE tests for Unified Plan
Bug: webrtc:8765
Change-Id: Ic2e6bcd7c474ef26b61242ee3f42aefa95f0d8a1
Reviewed-on: https://webrtc-review.googlesource.com/40504
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21751}
2018-01-25 00:27:12 +00:00
Mirko Bonadei
e97de91d39 Use static_cast to get webrtc::Peerconnection in common workaround.
Bug: None
Change-Id: I523a22cfe69757e38922634d6054dca2d3bedb1a
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/32640
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21239}
2017-12-13 12:20:31 +00:00
Qingsi Wang
e169272507 Fixed a bug in determining ICE roles.
When the initial offer side uses the ICE lite implementation, and
initiates a peer connection with an endpoint with the full
implementation, the offer side assumes the controlled ICE role per
RFC5245 and the remote endpoint MUST take the controlling role.

This logic was partially implemented in SetRemoteTransportDescription in
reflection where the endpoint switches its role to the controlling after
receiving the offer. The bug was caused by the following
SetLocalDescription at the remote endpoint after creating the answer,
which overrides the role to the controlled since it has no initial offer
and the role is not reflected in SetLocalTransportDescription. This
results in no nomination of candidate pairs and timeout of establishing
the peer connection.

The fix adds reflection on one's ICE role in SetLocalTransportDescription.
This fix also takes into account the case when both sides use the lite
implementation of ICE and the initial offer side MUST take the controlling
role per RFC5245 in this case, which is the default behavior in the
current implementation.

Bug: webrtc:8531
Change-Id: I65edd296c155bff51fcdb28709975e6837f302d5
Reviewed-on: https://webrtc-review.googlesource.com/26780
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@google.com>
Cr-Commit-Position: refs/heads/master@{#21053}
2017-12-04 20:08:28 +00:00
Steve Anton
8d3444df2d Reland "Rewrite WebRtcSession media tests as PeerConnection tests"
This is a reland of 3df5dcac9b
Original change's description:
> Rewrite WebRtcSession media tests as PeerConnection tests
> 
> Bug: webrtc:8222
> Change-Id: I782a3227e30de70eb8f6c26a48723cb3510a84ad
> Reviewed-on: https://webrtc-review.googlesource.com/6640
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20364}

Bug: webrtc:8222
Change-Id: I0a5398170d469eb9223bc781bfb417a85a72a2d2
Reviewed-on: https://webrtc-review.googlesource.com/14380
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20377}
2017-10-21 01:38:14 +00:00
Olga Sharonova
f2662f08e5 Revert "Rewrite WebRtcSession media tests as PeerConnection tests"
This reverts commit 3df5dcac9b.

Reason for revert: suspected of breaking chromium.webrtc.fyi:
WebRtcBrowserTest.NegotiateUnsupportedVideoCodec
WebRtcBrowserTest.NegotiateNonCryptoCall

android https://uberchromegw.corp.google.com/i/chromium.webrtc.fyi/builders/Android%20Tests%20%28dbg%29%20%28L%20Nexus5%29/builds/25506
linux https://uberchromegw.corp.google.com/i/chromium.webrtc.fyi/builders/Linux%20Tester/builds/38809
mac
https://uberchromegw.corp.google.com/i/chromium.webrtc.fyi/builders/Mac%20Tester/builds/44120
windows
https://uberchromegw.corp.google.com/i/chromium.webrtc.fyi/builders/Win10%20Tester/builds/9236

Original change's description:
> Rewrite WebRtcSession media tests as PeerConnection tests
> 
> Bug: webrtc:8222
> Change-Id: I782a3227e30de70eb8f6c26a48723cb3510a84ad
> Reviewed-on: https://webrtc-review.googlesource.com/6640
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20364}

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

Change-Id: Iaacc950d050ba2835d262908658dc045f234ef5b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8222
Reviewed-on: https://webrtc-review.googlesource.com/14160
Commit-Queue: Olga Sharonova <olka@webrtc.org>
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20375}
2017-10-20 13:00:45 +00:00
Steve Anton
3df5dcac9b Rewrite WebRtcSession media tests as PeerConnection tests
Bug: webrtc:8222
Change-Id: I782a3227e30de70eb8f6c26a48723cb3510a84ad
Reviewed-on: https://webrtc-review.googlesource.com/6640
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20364}
2017-10-20 01:52:23 +00:00
Karl Wiberg
1b0eae3c81 Don't call deprecated CreatePeerConnectionFactory() overloads
They're about to be removed.

BUG=webrtc:8396

Change-Id: Ie9a45f4c0dccb4414d2a2f939aa5f142edc6e4b6
Reviewed-on: https://webrtc-review.googlesource.com/12280
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20328}
2017-10-17 17:53:51 +00:00
Steve Anton
f1c6db1c02 Rewrite WebRtcSession ICE tests as PeerConnection tests
Bug: webrtc:8222
Change-Id: Ie138712beaae964f08150b29ba5a8ed17ea0e956
Reviewed-on: https://webrtc-review.googlesource.com/4640
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20296}
2017-10-13 18:42:34 +00:00