12 Commits

Author SHA1 Message Date
Taylor Brandstetter
6e2e7ce419 Reland "Move JsepTransport from p2p/base to pc/."
This is a reland of 4770fd935ac92400487bddd3b755753572e6d692
Original change's description:
> Move JsepTransport from p2p/base to pc/.
> 
> The JsepTransport class is moved to pc/ and the utility methods and
> enums are moved to where they are used.
> 
> With JsepTransport moved to pc/, JsepTransport can depend on objects in
> pc/ including RtpTranport, SrtpTransport etc.
> 
> Forked from https://webrtc-review.googlesource.com/c/src/+/31762/7
> 
> Bug: webrtc:8636
> Change-Id: I4e8569fe3012946e87deb280f6139f0fd98de34d
> Reviewed-on: https://webrtc-review.googlesource.com/33701
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21333}

Bug: webrtc:8636
Change-Id: Ibce42be898b96dd8e0266b595611d2ffc86581a8
Reviewed-on: https://webrtc-review.googlesource.com/34586
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21371}
2017-12-19 20:50:41 +00:00
Oleh Prypin
8424acdde3 Revert "Move JsepTransport from p2p/base to pc/."
This reverts commit 4770fd935ac92400487bddd3b755753572e6d692.

Reason for revert: breaks downstream projects

Original change's description:
> Move JsepTransport from p2p/base to pc/.
> 
> The JsepTransport class is moved to pc/ and the utility methods and
> enums are moved to where they are used.
> 
> With JsepTransport moved to pc/, JsepTransport can depend on objects in
> pc/ including RtpTranport, SrtpTransport etc.
> 
> Forked from https://webrtc-review.googlesource.com/c/src/+/31762/7
> 
> Bug: webrtc:8636
> Change-Id: I4e8569fe3012946e87deb280f6139f0fd98de34d
> Reviewed-on: https://webrtc-review.googlesource.com/33701
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21333}

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

Change-Id: Ia72c6d7f185a95b21fd0aec90e7fdc00cb1fb423
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8636
Reviewed-on: https://webrtc-review.googlesource.com/34600
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21335}
2017-12-18 21:00:05 +00:00
Taylor Brandstetter
4770fd935a Move JsepTransport from p2p/base to pc/.
The JsepTransport class is moved to pc/ and the utility methods and
enums are moved to where they are used.

With JsepTransport moved to pc/, JsepTransport can depend on objects in
pc/ including RtpTranport, SrtpTransport etc.

Forked from https://webrtc-review.googlesource.com/c/src/+/31762/7

Bug: webrtc:8636
Change-Id: I4e8569fe3012946e87deb280f6139f0fd98de34d
Reviewed-on: https://webrtc-review.googlesource.com/33701
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21333}
2017-12-18 18:59:43 +00:00
Zhi Huang
c08de0f4b7 Allow the TransportController to create RTP level transports.
Add methods to TransportController so that it can create RTP level transports
(RtpTransport, SrtpTransport and DtlsSrtpTransport.).

The RTP level transports are ref-counted since they could be shared by multiple
BaseChannels and TransportController manages the life time of the transports.

Bug: webrtc:7013
Change-Id: Ifd31062426e513d95473e257c9c9ff84a8c537fd
Reviewed-on: https://webrtc-review.googlesource.com/5080
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21196}
2017-12-11 09:19:25 +00:00
Steve Anton
3828c06a58 Replace cricket::ContentAction with webrtc::SdpType
Bug: webrtc:8613
Change-Id: I9bce2b9d8c8445d2fa1b9f60b06596a5621ebc2f
Reviewed-on: https://webrtc-review.googlesource.com/29460
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21130}
2017-12-06 19:40:16 +00:00
Steve Anton
c4faa9c4e1 Remove QUIC transport/data channel
Originally, the idea was to implement QUIC data channels as a
PeerConnection API. Now, the effort has shifted to implementing it as a
part of ORTC which will live in Chromium. Since this code has not been
maintained and is not currently being used, remove it to reduce
maintenance overhead while a copy will be retained in the Git history.

Bug: webrtc:8385
Change-Id: I2719c007a0de0118b67d41a425f900b66c52f65a
Reviewed-on: https://webrtc-review.googlesource.com/14100
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20412}
2017-10-24 16:14:18 +00:00
Patrik Höglund
e2d6a06fa8 Reland "Clean up libjingle API dependencies."
This is a reland of 9185aca9ce1f66e983d9a5e797cab77a64cc46b0

> Original change's description:
> > > Clean up libjingle API dependencies.
> > > 
> > > This CL moves candidate.h into the public API, since it has
> > > been implicitly included before.
> > > 
> > > This is a straightforward way of solving the circular
> > > dependencies involving that file. For instance,
> > > libjingle_peerconnection_api includes candidate.h from
> > > jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> > > depends on _api. In fact, _api can't depend on much at all
> > > since it's a very high level abstraction; instead, things
> > > should depend on it.
> > > 
> > > Furthermore, we have the case where deprecated headers
> > > include headers in internal modules. I just have to turn
> > > off include checking for those, but that's not a big deal.
> > > 
> > > This CL punts the problem of callfactoryinterface.h being
> > > implicitly included, and pulling in most of the call
> > > module with it. This should be addressed in a follow-up
> > > CL.
> Bug: webrtc:7504
> Change-Id: Icae0ba1a0488550e2871cc65e66d3661707aa5b6
> Reviewed-on: https://webrtc-review.googlesource.com/6460
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20156}

TBR=deadbeef@webrtc.org

Bug: webrtc:7504
Change-Id: Ic6598ac2af9355b60bbd289c86dc75e0ae9fed2e
Reviewed-on: https://webrtc-review.googlesource.com/6801
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20167}
2017-10-05 13:51:21 +00:00
Henrik Kjellander
1af3d82b10 Revert "Reland "Clean up libjingle API dependencies.""
This reverts commit 9185aca9ce1f66e983d9a5e797cab77a64cc46b0.

Reason for revert: Still breaks Chromium:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/29052

You cannot trust the *chromium* trybots due to https://bugs.chromium.org/p/chromium/issues/detail?id=771159

Original change's description:
> Reland "Clean up libjingle API dependencies."
> 
> This is a reland of 5117b047875970cf61f2403b590c44c37bfa8272
> Original change's description:
> > > Clean up libjingle API dependencies.
> > > 
> > > This CL moves candidate.h into the public API, since it has
> > > been implicitly included before.
> > > 
> > > This is a straightforward way of solving the circular
> > > dependencies involving that file. For instance,
> > > libjingle_peerconnection_api includes candidate.h from
> > > jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> > > depends on _api. In fact, _api can't depend on much at all
> > > since it's a very high level abstraction; instead, things
> > > should depend on it.
> > > 
> > > Furthermore, we have the case where deprecated headers
> > > include headers in internal modules. I just have to turn
> > > off include checking for those, but that's not a big deal.
> > > 
> > > This CL punts the problem of callfactoryinterface.h being
> > > implicitly included, and pulling in most of the call
> > > module with it. This should be addressed in a follow-up
> > > CL.
> > > 
> > > Bug: webrtc:7504
> > > Change-Id: I1b1729408158418333ccdf702bf529386090f0d7
> > > Reviewed-on: https://webrtc-review.googlesource.com/2020
> > > Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> > > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> > > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#20034}
> 
> Bug: webrtc:7504
> Change-Id: Icae0ba1a0488550e2871cc65e66d3661707aa5b6
> Reviewed-on: https://webrtc-review.googlesource.com/6460
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20156}

TBR=phoglund@webrtc.org,deadbeef@webrtc.org,solenberg@webrtc.org

Change-Id: I699c68bd330b537005c3f2b8fe31702025df4e39
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7504
Reviewed-on: https://webrtc-review.googlesource.com/6800
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20157}
2017-10-05 08:28:51 +00:00
Patrik Höglund
9185aca9ce Reland "Clean up libjingle API dependencies."
This is a reland of 5117b047875970cf61f2403b590c44c37bfa8272
Original change's description:
> > Clean up libjingle API dependencies.
> > 
> > This CL moves candidate.h into the public API, since it has
> > been implicitly included before.
> > 
> > This is a straightforward way of solving the circular
> > dependencies involving that file. For instance,
> > libjingle_peerconnection_api includes candidate.h from
> > jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> > depends on _api. In fact, _api can't depend on much at all
> > since it's a very high level abstraction; instead, things
> > should depend on it.
> > 
> > Furthermore, we have the case where deprecated headers
> > include headers in internal modules. I just have to turn
> > off include checking for those, but that's not a big deal.
> > 
> > This CL punts the problem of callfactoryinterface.h being
> > implicitly included, and pulling in most of the call
> > module with it. This should be addressed in a follow-up
> > CL.
> > 
> > Bug: webrtc:7504
> > Change-Id: I1b1729408158418333ccdf702bf529386090f0d7
> > Reviewed-on: https://webrtc-review.googlesource.com/2020
> > Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20034}

Bug: webrtc:7504
Change-Id: Icae0ba1a0488550e2871cc65e66d3661707aa5b6
Reviewed-on: https://webrtc-review.googlesource.com/6460
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20156}
2017-10-05 08:15:20 +00:00
Patrik Höglund
581df618fe Revert "Reland "Clean up libjingle API dependencies.""
This reverts commit 5117b047875970cf61f2403b590c44c37bfa8272.

Reason for revert: Still breaks downstream projects that include too much stuff.

Original change's description:
> Reland "Clean up libjingle API dependencies."
> 
> This is a reland of 57fb3154b5411934b80051ad827db4e54d00f381
> Original change's description:
> > Clean up libjingle API dependencies.
> > 
> > This CL moves candidate.h into the public API, since it has
> > been implicitly included before.
> > 
> > This is a straightforward way of solving the circular
> > dependencies involving that file. For instance,
> > libjingle_peerconnection_api includes candidate.h from
> > jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> > depends on _api. In fact, _api can't depend on much at all
> > since it's a very high level abstraction; instead, things
> > should depend on it.
> > 
> > Furthermore, we have the case where deprecated headers
> > include headers in internal modules. I just have to turn
> > off include checking for those, but that's not a big deal.
> > 
> > This CL punts the problem of callfactoryinterface.h being
> > implicitly included, and pulling in most of the call
> > module with it. This should be addressed in a follow-up
> > CL.
> > 
> > Bug: webrtc:7504
> > Change-Id: I1b1729408158418333ccdf702bf529386090f0d7
> > Reviewed-on: https://webrtc-review.googlesource.com/2020
> > Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20034}
> 
> Bug: webrtc:7504
> Change-Id: I74aeeff678a4ce6482d2f402493ae13e698f1390
> Reviewed-on: https://webrtc-review.googlesource.com/4703
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20062}

TBR=phoglund@webrtc.org,deadbeef@webrtc.org,solenberg@webrtc.org

Change-Id: I19068df5f3ee8145c5ff13c86a42b6860e9cc834
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7504
Reviewed-on: https://webrtc-review.googlesource.com/5460
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20065}
2017-10-02 09:12:51 +00:00
Patrik Höglund
5117b04787 Reland "Clean up libjingle API dependencies."
This is a reland of 57fb3154b5411934b80051ad827db4e54d00f381
Original change's description:
> Clean up libjingle API dependencies.
> 
> This CL moves candidate.h into the public API, since it has
> been implicitly included before.
> 
> This is a straightforward way of solving the circular
> dependencies involving that file. For instance,
> libjingle_peerconnection_api includes candidate.h from
> jsepicecandidate.h, but _api can't depend on rtc_p2p, which
> depends on _api. In fact, _api can't depend on much at all
> since it's a very high level abstraction; instead, things
> should depend on it.
> 
> Furthermore, we have the case where deprecated headers
> include headers in internal modules. I just have to turn
> off include checking for those, but that's not a big deal.
> 
> This CL punts the problem of callfactoryinterface.h being
> implicitly included, and pulling in most of the call
> module with it. This should be addressed in a follow-up
> CL.
> 
> Bug: webrtc:7504
> Change-Id: I1b1729408158418333ccdf702bf529386090f0d7
> Reviewed-on: https://webrtc-review.googlesource.com/2020
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20034}

Bug: webrtc:7504
Change-Id: I74aeeff678a4ce6482d2f402493ae13e698f1390
Reviewed-on: https://webrtc-review.googlesource.com/4703
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20062}
2017-10-02 08:27:51 +00:00
Zhi Huang
b5261580bc Move the TransportController from p2p/base to pc/.
The TransportController was in p2p/base before and it cannot depend on
pc/ or media/ level targets because of the circular dependency. To make the 
TransportController be responsible for creating and managing
the RtpTransport related objects which are pc/ level targets, the
TransportController is moved from p2p/base to pc/.

The TransportController makes more sense in pc/ anyway, since its main 
responsibility is processing the "transport" parts of SDP which is
PeerConnection-specific.

This is also easier than moving RtpTransport related objects to p2p/base 
because those objects also depend on other media/ and pc/ level targets
such as srtpfilter, cryptoparams etc.

Bug: webrtc:7013
Change-Id: Ic48dd5c454046ff3c81331f4b459f96a3255f328
Reviewed-on: https://webrtc-review.googlesource.com/4560
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20049}
2017-09-29 18:20:07 +00:00