Commit Graph

10 Commits

Author SHA1 Message Date
38ede13042 Support building WebRTC without audio and video.
This CL makes the WebRTC more modular and allows the users to build
WebRTC without audio and video(DataChannel only).

The BUILD files in call/, logging/, media/ and pc/ are modified to
support modular WebRTC.

The dependencies on Call and RtcEventLog are removed from the
PeerConnection. Instead of being created internally, they would be
passed in by the PeerConnectionFactory.

Add the CreateModularPeerConnectionFactory function which allow the
users to create a PeerConnectionFactory with the modules they need.
If the users want to build WebRTC without audio and video, they can
pass in null pointers for modules they don't need. (MediaEngine,
VideoEncoderFactory etc.)

BUG=webrtc:7613

Review-Url: https://codereview.webrtc.org/2854123003
Cr-Commit-Position: refs/heads/master@{#18617}
2017-06-15 19:52:32 +00:00
4b9798024f Relanding: Adds PeerConnectionInterface::UpdateCallBitrate to give clients more control of the bandwidth estimator. PeerConnection implements this method by passing a BitrateConfigMask to its associated Call, which is combined with the existing BitrateConfig and passed on to the SendSideCongestionController as necessary. The existing BitrateConfig generally comes from the x-google-{min,start,max}-bitrate params in the SDP.
BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2888303005
Cr-Original-Commit-Position: refs/heads/master@{#18417}
Committed: 9641c13327
Review-Url: https://codereview.webrtc.org/2888303005
Cr-Commit-Position: refs/heads/master@{#18421}
2017-06-02 21:37:37 +00:00
441718ef69 Revert of Add PeerConnectionInterface::UpdateCallBitrate. (patchset #7 id:120001 of https://codereview.webrtc.org/2888303005/ )
Reason for revert:
Broken downstream project.

Original issue's description:
> Adds PeerConnectionInterface::UpdateCallBitrate to give clients more control of the bandwidth estimator. PeerConnection implements this method by passing a BitrateConfigMask to its associated Call, which is combined with the existing BitrateConfig and passed on to the SendSideCongestionController as necessary. The existing BitrateConfig generally comes from the x-google-{min,start,max}-bitrate params in the SDP.
>
> BUG=webrtc:7395
>
> Review-Url: https://codereview.webrtc.org/2888303005
> Cr-Commit-Position: refs/heads/master@{#18417}
> Committed: 9641c13327

TBR=deadbeef@webrtc.org,stefan@webrtc.org,kwiberg@webrtc.org,solenberg@webrtc.org,holmer@google.com,zstein@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2914413002
Cr-Commit-Position: refs/heads/master@{#18420}
2017-06-02 19:31:24 +00:00
9641c13327 Adds PeerConnectionInterface::UpdateCallBitrate to give clients more control of the bandwidth estimator. PeerConnection implements this method by passing a BitrateConfigMask to its associated Call, which is combined with the existing BitrateConfig and passed on to the SendSideCongestionController as necessary. The existing BitrateConfig generally comes from the x-google-{min,start,max}-bitrate params in the SDP.
BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2888303005
Cr-Commit-Position: refs/heads/master@{#18417}
2017-06-02 18:18:06 +00:00
338602596c Initialize PeerConnection members in declaration order and destroy them in reverse order.
BUG=webrtc:7658

Review-Url: https://codereview.webrtc.org/2882803002
Cr-Commit-Position: refs/heads/master@{#18130}
2017-05-13 06:37:18 +00:00
eaabdf6259 Delete MediaController class, move Call ownership to PeerConnection.
BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2794943002
Cr-Commit-Position: refs/heads/master@{#18026}
2017-05-05 09:23:02 +00:00
1dcb16409a Rewrite PeerConnection integration tests using better testing practices.
Also renames "peerconnection_unittests" to "peerconnection_integrationtests",
and moves the ICE URL parsing code to separate files.

The main problem previously was that the test assertions
occurred in various places in the main test class, and this shared test
code was overly complex and stateful. As a result, it was difficult to
tell what a test even does, let alone what assertions it's meant to be
making. And writing a new test that does what you want can be a
frustrating ordeal.

The new code still uses helper methods, but they have intuitive names
and a smaller role; all of the important parts of the test's logic are
in the test case itself.

We're planning on merging PeerConnection and WebRtcSession at some point
soon, so it seemed valuable to do this, so that the WebRtcSession tests
can be rewritten as PeerConnection tests using better patterns.

BUG=None

Review-Url: https://codereview.webrtc.org/2738353003
Cr-Commit-Position: refs/heads/master@{#17458}
2017-03-30 04:08:16 +00:00
81bf7b0725 Pass ownership of candidate to PeerConnection::OnIceCandidate
This will later allow calling the "PeerConnectionObserver::OnIceCandidate"
method asynchronously while keeping the object alive.

BUG=webrtc:3721

Review-Url: https://codereview.webrtc.org/2748253003
Cr-Commit-Position: refs/heads/master@{#17380}
2017-03-25 15:31:12 +00:00
6dfd53a81e Rename PeerConnection::OnIceConnectionChange to OnIceConnectionStateChange
for consistency with the WebRTC 1.0 standard as suggested in a TODO.

BUG=None

Review-Url: https://codereview.webrtc.org/2732663004
Cr-Commit-Position: refs/heads/master@{#17077}
2017-03-06 21:49:03 +00:00
7bb87ee4e8 Create //webrtc/api:libjingle_peerconnection_api + refactorings.
Create a new target //webrtc/api:libjingle_peerconnection_api and start moving
things into it. Move remaining parts of //webrtc/api:libjingle_peerconnection
to //webrtc/pc:libjingle_peerconnection.

Moved the RTCStatsCollectorCallback into its own header file, so that
PeerConnectionInterface can include that instead of pulling in
RTCStatsCollector and PeerConnection and everything.

Separated cricket::MediaType into its own header/source set, so that it
can be used in the api.

BUG=webrtc:5883

Review-Url: https://codereview.webrtc.org/2514883002
Cr-Commit-Position: refs/heads/master@{#16210}
2017-01-23 12:56:25 +00:00