Commit Graph

299 Commits

Author SHA1 Message Date
112b2e99d8 Switching some interfaces to use std::unique_ptr<>.
This helps show where ownership is transfered between objects.

Specifically, this CL wraps cricket::VideoCapturer, MediaEngineInterface
and DataEngineInterface in unique_ptr.

BUG=None
TBR=magjed@webrtc.org

Review-Url: https://codereview.webrtc.org/2685093002
Cr-Commit-Position: refs/heads/master@{#16548}
2017-02-11 04:13:37 +00:00
a4549d6588 Fix SDP parsing crash due to missing track ID in "a=msid".
BUG=chromium:686405

Review-Url: https://codereview.webrtc.org/2676293003
Cr-Commit-Position: refs/heads/master@{#16545}
2017-02-11 01:26:22 +00:00
90f1e1e0d7 Fixing SDP parsing crash due to invalid port numbers.
BUG=chromium:677029

Review-Url: https://codereview.webrtc.org/2675273003
Cr-Commit-Position: refs/heads/master@{#16541}
2017-02-10 20:35:05 +00:00
5bd5ca344e Rename "PacketTransportInterface" to "PacketTransportInternal".
This is the naming scheme we've been using for internal interfaces.

Also, this CL will introduce a PacketTransportInterface in the webrtc namespace,
which would get too easily confused with the rtc:: one:
https://codereview.webrtc.org/2675173003/

BUG=None

Review-Url: https://codereview.webrtc.org/2679103006
Cr-Commit-Position: refs/heads/master@{#16539}
2017-02-10 19:31:50 +00:00
087bd34d23 Move AudioDecoder and related stuff to the api/ directory
BUG=webrtc:5805, webrtc:6725

Review-Url: https://codereview.webrtc.org/2668523004
Cr-Commit-Position: refs/heads/master@{#16534}
2017-02-10 16:15:44 +00:00
cc452e1179 Reland of Add QP sum stats for received streams. (patchset #2 id:300001 of https://codereview.webrtc.org/2680893002/ )
Reason for revert:
Fix the problem.

Original issue's description:
> Revert of Add QP sum stats for received streams. (patchset #10 id:180001 of https://codereview.webrtc.org/2649133005/ )
>
> Reason for revert:
> Breaks downstream build.
>
> Original issue's description:
> > Add QP sum stats for received streams.
> >
> > This is not implemented yet in any of the decoders.
> >
> > BUG=webrtc:6541
> >
> > Review-Url: https://codereview.webrtc.org/2649133005
> > Cr-Commit-Position: refs/heads/master@{#16475}
> > Committed: ff0e72fd16
>
> TBR=hta@webrtc.org,hbos@webrtc.org,sprang@webrtc.org,magjed@webrtc.org,stefan@webrtc.org,sakal@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6541
>
> Review-Url: https://codereview.webrtc.org/2680893002 .
> Cr-Commit-Position: refs/heads/master@{#16480}
> Committed: 69fb2cca4d

TBR=hta@webrtc.org,hbos@webrtc.org,sprang@webrtc.org,magjed@webrtc.org,stefan@webrtc.org,skvlad@webrtc.org
BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2681663005
Cr-Commit-Position: refs/heads/master@{#16511}
2017-02-09 12:53:45 +00:00
94a2f21c05 Increase STUN RTOs to work better on poor networks, such as 2G networks.
BUG=b/34822484

Review-Url: https://codereview.webrtc.org/2677743002
Cr-Commit-Position: refs/heads/master@{#16503}
2017-02-08 22:42:22 +00:00
abcef5d32e Replace std::tr1::tuple by ::testing::tuple.
BUG=webrtc:7129
NOTRY=True

Review-Url: https://codereview.webrtc.org/2686453004
Cr-Commit-Position: refs/heads/master@{#16487}
2017-02-08 12:07:11 +00:00
7798501d7a Fix the Chrome crash caused by RtcEventLog
Stop the RtcEventLog when the PeerConnection is closed so that Chrome
will not crash because of creating too many threads.

BUG=chromium:687553

Review-Url: https://codereview.webrtc.org/2682433005
Cr-Commit-Position: refs/heads/master@{#16482}
2017-02-07 23:45:16 +00:00
9dd77baca4 Clarifying error messages in ParseIceServerUrl for invalid transport parameters.
BUG=webrtc:6662

Review-Url: https://codereview.webrtc.org/2680023005
Cr-Commit-Position: refs/heads/master@{#16481}
2017-02-07 23:09:50 +00:00
69fb2cca4d Revert of Add QP sum stats for received streams. (patchset #10 id:180001 of https://codereview.webrtc.org/2649133005/ )
Reason for revert:
Breaks downstream build.

Original issue's description:
> Add QP sum stats for received streams.
>
> This is not implemented yet in any of the decoders.
>
> BUG=webrtc:6541
>
> Review-Url: https://codereview.webrtc.org/2649133005
> Cr-Commit-Position: refs/heads/master@{#16475}
> Committed: ff0e72fd16

TBR=hta@webrtc.org,hbos@webrtc.org,sprang@webrtc.org,magjed@webrtc.org,stefan@webrtc.org,sakal@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2680893002 .
Cr-Commit-Position: refs/heads/master@{#16480}
2017-02-07 18:59:25 +00:00
ed02c6d68f Revert of RTCInboundRTPStreamStats.qpSum collected. (patchset #4 id:80001 of https://codereview.webrtc.org/2675943002/ )
Reason for revert:
Breaks downstream build.

Original issue's description:
> RTCInboundRTPStreamStats.qpSum collected.
>
> This was previously only collected for local tracks
> (RTCOutboundRTPStreamStats.qpSum).
>
> Spec: https://w3c.github.io/webrtc-stats/#dom-rtcrtpstreamstats-qpsum
>
> This CL also improves some testing in rtcstatscollector_unittest.cc.
> Default and non-default values are tested in the same unittests,
> removing the test that was specific to default-values, which was
> otherwise code duplication.
>
> BUG=webrtc:7065
>
> Review-Url: https://codereview.webrtc.org/2675943002
> Cr-Commit-Position: refs/heads/master@{#16477}
> Committed: cd195bea5e

TBR=sakal@webrtc.org,hta@webrtc.org,hbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7065

Review-Url: https://codereview.webrtc.org/2687483002 .
Cr-Commit-Position: refs/heads/master@{#16479}
2017-02-07 18:45:31 +00:00
cd195bea5e RTCInboundRTPStreamStats.qpSum collected.
This was previously only collected for local tracks
(RTCOutboundRTPStreamStats.qpSum).

Spec: https://w3c.github.io/webrtc-stats/#dom-rtcrtpstreamstats-qpsum

This CL also improves some testing in rtcstatscollector_unittest.cc.
Default and non-default values are tested in the same unittests,
removing the test that was specific to default-values, which was
otherwise code duplication.

BUG=webrtc:7065

Review-Url: https://codereview.webrtc.org/2675943002
Cr-Commit-Position: refs/heads/master@{#16477}
2017-02-07 16:31:27 +00:00
c16fa5ea69 Replace all use of the VERIFY macro.
Replaced by assigning value to a local variable, followed by a DCHECK.
Also deletes dead test code under the always false TEST_DIGEST define.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2623473004
Cr-Commit-Position: refs/heads/master@{#16476}
2017-02-07 15:18:43 +00:00
ff0e72fd16 Add QP sum stats for received streams.
This is not implemented yet in any of the decoders.

BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2649133005
Cr-Commit-Position: refs/heads/master@{#16475}
2017-02-07 15:15:17 +00:00
338f78ac95 RTCIceCandidatePairStats.available[Outgoing/Incoming]Bitrate collected.
Collected for current pairs, undefined for other pairs. This is the
same as the old stats' VideoBwe.googAvailable[Send/Receive]Bandwidth.

NOTE: The value this is based on for incoming bitrate is not set. This
CL wires it up but has a TODO that the incoming bitrate needs to be
collected properly. (Same problem for both old and new stats.)

Spec: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-availableoutgoingbitrate
Discussion: https://github.com/w3c/webrtc-stats/issues/112#issuecomment-277167781

BUG=webrtc:7062

Review-Url: https://codereview.webrtc.org/2675923002
Cr-Commit-Position: refs/heads/master@{#16472}
2017-02-07 14:41:21 +00:00
3443bb75a0 RTCRTPStreamStats.ssrc changed type to uint32_t.
As per PR: https://github.com/w3c/webrtc-stats/pull/157

BUG=webrtc:7065, webrtc:7066

Review-Url: https://codereview.webrtc.org/2675583003
Cr-Commit-Position: refs/heads/master@{#16471}
2017-02-07 14:28:11 +00:00
585a9b191c Refactor and clean-up relating to RTCCodecStats.
Refactor how |codec_id| is set, remove outdated TODO, update comments
with new bugs IDs.

BUG=webrtc:7061

Review-Url: https://codereview.webrtc.org/2670343002
Cr-Commit-Position: refs/heads/master@{#16467}
2017-02-07 12:59:16 +00:00
e702b30fec Adding C++ versions of currently spec'd "RtpParameters" structs.
These structs will be used for ORTC objects (and their WebRTC
equivalents).

This CL also introduces some minor changes to the existing implemented
structs:

- max_bitrate_bps uses rtc::Optional instead of "-1 means unset"
- "mime_type" turned into "name"/"kind" (which can be used to form the
  MIME type string, if needed).
- clock_rate and channels changed to rtc::Optional, since they will
  need to be for RtpSender.send().
- Renamed "channels" to "num_channels" (the ORTC name, which I prefer).

BUG=webrtc:7013, webrtc:7112

Review-Url: https://codereview.webrtc.org/2651883010
Cr-Commit-Position: refs/heads/master@{#16437}
2017-02-04 20:09:01 +00:00
d1f5fdac5c Allow changing the minimal ICE ping timeout with PeerConnection.SetConfiguration.
The original CL (https://codereview.webrtc.org/2670053002) only allows it to be set at PeerConnection creation time.

BUG=webrtc:7082

Review-Url: https://codereview.webrtc.org/2677503004
Cr-Commit-Position: refs/heads/master@{#16436}
2017-02-04 00:54:05 +00:00
b11fb25c12 Protect APM in webkit builds.
Update libwertc AudioRtpSender::SetAudioSend with WEBRTC_WEBKIT_BUILD

This only introduces the WEBRTC_WEBKIT BUILD, inspired by WEBRTC_CHROMIUM_BUILD
macro. It is only defined by Webkit libwebrtc build system.
https://trac.webkit.org/changeset/210977

BUG=webrtc:7039

Review-Url: https://codereview.webrtc.org/2651273003
Cr-Commit-Position: refs/heads/master@{#16432}
2017-02-03 14:37:05 +00:00
5107246d4b Allow applications to limit the ICE check rate through RTCConfiguration
If an application sets a non-null value in RTCConfiguration.iceCheckMinInterval, we do not sent STUN pings more often than that. This is useful for bandwidth constrained scenarios.

This CL also increases the maximum STUN ping timeout to 60 seconds up from its previous value of 5 (which meant that a ping response received 5 seconds later would not be counted), and allows the RTT estimate to go up to 60 seconds from its previous limit of 3. RTTs above 3 seconds are possible on mobile links. (webrtc:7109)

This CL was originally written by pthatcher@, I am just submitting it after a minor cleanup.

BUG=webrtc:7082, webrtc:7109

Review-Url: https://codereview.webrtc.org/2670053002
Cr-Commit-Position: refs/heads/master@{#16421}
2017-02-02 19:50:14 +00:00
20cb0c1c85 Move DTMF sender to RtpSender (as opposed to WebRtcSession).
Previously in the spec, there was a createDtmfSender method on
PeerConnection, but that's been replaced by a "dtmf" attribute
on RtpSender, which allows getting a DTMF sender without having
an audio track.

This also simplifies the code slightly, since tracks are now not
necessary for identification.

BUG=webrtc:4180

Review-Url: https://codereview.webrtc.org/2666853002
Cr-Commit-Position: refs/heads/master@{#16409}
2017-02-02 04:27:00 +00:00
63b14b7d15 Add override declarations to PeerConnectionObserver subclasses, and delete obsolete methods.
BUG=None

Review-Url: https://codereview.webrtc.org/2660223002
Cr-Commit-Position: refs/heads/master@{#16374}
2017-01-31 11:34:01 +00:00
1e4e8cb43d Add CreatePeerConnectionFactory overloads that take audio codec factory args
BUG=5805

Review-Url: https://codereview.webrtc.org/2653343003
Cr-Commit-Position: refs/heads/master@{#16371}
2017-01-31 09:48:08 +00:00
7ce109acd3 Replace the easy cases of VERIFY usage.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2652653012
Cr-Commit-Position: refs/heads/master@{#16370}
2017-01-31 08:57:56 +00:00
aa4b0775aa Simplify IsFmtpParam according to RFC 4855.
This should help pave the way for injectable audio codecs, since
external implementations need to be able to signal arbitrary fmtp
parameters.

BUG=webrtc:5806

Review-Url: https://codereview.webrtc.org/2661453003
Cr-Commit-Position: refs/heads/master@{#16360}
2017-01-30 15:41:18 +00:00
b0ae920fad RTCRTPStreamStats.mediaTrackId renamed to trackId.
According to spec change:
https://github.com/w3c/webrtc-stats/pull/142

BUG=webrtc:7064, chromium:685655

Review-Url: https://codereview.webrtc.org/2619353007
Cr-Commit-Position: refs/heads/master@{#16326}
2017-01-27 14:35:16 +00:00
7d2542623a Delete unneeded includes of base/common.h.
Bulk of the changes were done using

   git grep -l '#include "webrtc/base/common.h"' | \
     xargs sed -i '\,^#include.*webrtc/base/common\.h,d'

followed by adding back the include in the few places where it is
still needed, and in one case (pseudotcp.cc) instead deleting its use
of RTC_UNUSED.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2644103002
Cr-Commit-Position: refs/heads/master@{#16263}
2017-01-25 09:47:24 +00:00
f534659ee6 Adding ability for BaseChannel to use PacketTransportInterface.
... As opposed to DtlsTransportInternal.

The code is suboptimal right now, storing two pointers to the different
interfaces. This will all be cleaned up when we have an "RtpTransport"
abstraction that BaseChannel can use.

This CL also cleans up the "fake transport" classes a bit, and gives
them their own header files.

BUG=None

Review-Url: https://codereview.webrtc.org/2648233003
Cr-Commit-Position: refs/heads/master@{#16258}
2017-01-25 05:51:21 +00:00
9aa3f0a200 Reland of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2657563002/ )
Reason for revert:
Starting to work on a fix (it seems that there are third_party dependencies that depends on the path to the webrtc.gni file)

Original issue's description:
> Revert of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2651543003/ )
>
> Reason for revert:
> This was causing the following failure: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder/builds/838/steps/generate_build_files/logs/stdio
>
> Original issue's description:
> > Moving webrtc.gni up one level from build/
> >
> > BUG=webrtc:7030
> >
> > Review-Url: https://codereview.webrtc.org/2651543003
> > Cr-Commit-Position: refs/heads/master@{#16241}
> > Committed: 35a32700fc
>
> TBR=kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7030
>
> Review-Url: https://codereview.webrtc.org/2657563002
> Cr-Commit-Position: refs/heads/master@{#16244}
> Committed: 69dc7dbe24

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2654773002
Cr-Commit-Position: refs/heads/master@{#16247}
2017-01-24 14:58:22 +00:00
69dc7dbe24 Revert of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2651543003/ )
Reason for revert:
This was causing the following failure: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder/builds/838/steps/generate_build_files/logs/stdio

Original issue's description:
> Moving webrtc.gni up one level from build/
>
> BUG=webrtc:7030
>
> Review-Url: https://codereview.webrtc.org/2651543003
> Cr-Commit-Position: refs/heads/master@{#16241}
> Committed: 35a32700fc

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2657563002
Cr-Commit-Position: refs/heads/master@{#16244}
2017-01-24 13:14:35 +00:00
35a32700fc Moving webrtc.gni up one level from build/
BUG=webrtc:7030

Review-Url: https://codereview.webrtc.org/2651543003
Cr-Commit-Position: refs/heads/master@{#16241}
2017-01-24 12:49:35 +00:00
1b54a5f018 Relanding: Removing #defines previously used for building without BoringSSL/OpenSSL.
These defines don't work any more, so they only cause confusion:

FEATURE_ENABLE_SSL
HAVE_OPENSSL_SSL_H
SSL_USE_OPENSSL

BUG=webrtc:7025

Review-Url: https://codereview.webrtc.org/2640513002
Cr-Commit-Position: refs/heads/master@{#16224}
2017-01-24 03:39:57 +00:00
e1405ad0d1 Removed double-special-casing of ISAC in libjingle and WebRtcVoE.
webrtcvoiceengine.cc ensured that if the bitrate set for ISAC was 0,
it was changed to -1 so that the codec could manage the bitrate
itself.

webrtcsdp.cc ensured that if the bitrate set for ISAC was 0, it was
explicitly set to default values to avoid the codec's built in bitrate
management.

Eventually, there'll be no codec specific code like this in these
layers. This is one step towards that goal.

BUG=webrtc:5806

Review-Url: https://codereview.webrtc.org/2642923003
Cr-Commit-Position: refs/heads/master@{#16220}
2017-01-23 16:55:48 +00:00
da25006431 Fixed public_deps for libjingle_peerconnection{,_api}
https://codereview.webrtc.org/2514883002/ changed and moved these targets around but did not add public dependencies for the fallbacks, which causes gn gen --check a lot of anger.

NOTRY=true # Only build changes and windows bots are cranky atm.
BUG=webrtc:5806

Review-Url: https://codereview.webrtc.org/2651663002
Cr-Commit-Position: refs/heads/master@{#16214}
2017-01-23 15:37:43 +00:00
50cfe1fda7 RTCMediaStreamTrackStats.framesDropped collected by RTCStatsCollector.
Spec: https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamtrackstats-framesdropped
Implemented as frames_received - frames_rendered.

Part of this CL is adding frames_rendered to VideoReceiveStream::Stats
and updating it at ReceiveStatisticsProxy::OnRenderedFrame.

BUG=webrtc:6757, chromium:659137, chromium:627816
NOTRY=True

Review-Url: https://codereview.webrtc.org/2607933002
Cr-Commit-Position: refs/heads/master@{#16213}
2017-01-23 15:21:55 +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
f33491ebaf Revert of Removing #defines previously used for building without BoringSSL/OpenSSL. (patchset #2 id:20001 of https://codereview.webrtc.org/2640513002/ )
Reason for revert:
Broke chromium build, due to a config being removed. Will add it back and remove the dependency in a chromium CL.

Original issue's description:
> Removing #defines previously used for building without BoringSSL/OpenSSL.
>
> These defines don't work any more, so they only cause confusion:
>
> FEATURE_ENABLE_SSL
> HAVE_OPENSSL_SSL_H
> SSL_USE_OPENSSL
>
> BUG=webrtc:7025
>
> Review-Url: https://codereview.webrtc.org/2640513002
> Cr-Commit-Position: refs/heads/master@{#16196}
> Committed: eaa826c2ee

TBR=kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7025

Review-Url: https://codereview.webrtc.org/2648003003
Cr-Commit-Position: refs/heads/master@{#16197}
2017-01-21 01:01:45 +00:00
eaa826c2ee Removing #defines previously used for building without BoringSSL/OpenSSL.
These defines don't work any more, so they only cause confusion:

FEATURE_ENABLE_SSL
HAVE_OPENSSL_SSL_H
SSL_USE_OPENSSL

BUG=webrtc:7025

Review-Url: https://codereview.webrtc.org/2640513002
Cr-Commit-Position: refs/heads/master@{#16196}
2017-01-20 23:15:58 +00:00
b2cdd93fd6 Remove the dependency of TransportChannel and TransportChannelImpl.
DtlsTransportChannelWrapper is renamed to be DtlsTransport which inherits from
DtlsTransportInternal. There will be no concept of "channel" in p2p level.
Both P2PTransportChannel and DtlsTransport don't depend on TransportChannel
and TransportChannelImpl any more and they are removed in this CL.

BUG=none

Review-Url: https://codereview.webrtc.org/2606123002
Cr-Commit-Position: refs/heads/master@{#16173}
2017-01-20 00:54:25 +00:00
6ce9259cb0 Revert of make the DtlsTransportWrapper inherit form DtlsTransportInternal (patchset #11 id:320001 of https://codereview.webrtc.org/2606123002/ )
Reason for revert:
Failed the memory check.
May need to fix the memory leak.

Original issue's description:
> make the DtlsTransportWrapper inherit form DtlsTransportInternal
>
> BUG=none
>
> Review-Url: https://codereview.webrtc.org/2606123002
> Cr-Commit-Position: refs/heads/master@{#16160}
> Committed: 5aed06c8d3

TBR=deadbeef@webrtc.org,pthatcher@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=none

Review-Url: https://codereview.webrtc.org/2639203004
Cr-Commit-Position: refs/heads/master@{#16162}
2017-01-19 12:49:47 +00:00
5aed06c8d3 make the DtlsTransportWrapper inherit form DtlsTransportInternal
BUG=none

Review-Url: https://codereview.webrtc.org/2606123002
Cr-Commit-Position: refs/heads/master@{#16160}
2017-01-19 09:48:02 +00:00
c8ee882753 Replace use of ASSERT in test code.
In top level test functions, replaced with gtest ASSERT_*. In helper
methods in main test files, replaced with EXPECT_* or RTC_DCHECK on a
case-by-case basis.

In separate mock/fake classes used by tests (which might be of some
use also in tests of third-party applications), ASSERT was replaced
with RTC_CHECK, using

  git grep -l ' ASSERT(' | grep -v common.h | \
    xargs sed -i 's/ ASSERT(/ RTC_CHECK(/'

followed by additional includes of base/checks.h in affected files,
and git cl format.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2622413005
Cr-Commit-Position: refs/heads/master@{#16150}
2017-01-18 15:20:55 +00:00
bad5dadef3 More minor improvements to BaseChannel/transport code.
Mostly from late comments on this CL:
https://codereview.webrtc.org/2614263002/

Changes SetTransport to DCHECK instead of returning false.
Renames it to SetTransports.
Fixes some possible transport resource leaks.

BUG=None

Review-Url: https://codereview.webrtc.org/2637503003
Cr-Commit-Position: refs/heads/master@{#16130}
2017-01-18 02:32:35 +00:00
8e814d7906 Provide better message for when RTCP mux "require" policy is triggered.
Previously: Failed to setup RTCP mux filter.
Now: rtcpMuxPolicy is 'require', but media description does not
     contain 'a=rtcp-mux'.

BUG=webrtc:6966

Review-Url: https://codereview.webrtc.org/2622553003
Cr-Commit-Position: refs/heads/master@{#16062}
2017-01-13 19:34:39 +00:00
ac22f70906 Refactoring of RTCP options in BaseChannel.
Previously, BaseChannel supported a "no RTCP" mode, which wasn't
being used any more and is being deleted.

Also, "RTCP mux required" previously worked by calling "ActivateRtcpMux"
after construction. Now it works by explicitly passing a
"require_rtcp_mux" parameter into the constructor.

BUG=None

Review-Url: https://codereview.webrtc.org/2622613004
Cr-Commit-Position: refs/heads/master@{#16045}
2017-01-13 05:59:29 +00:00
f5b251b816 Remove BaseChannel's dependency on TransportController.
The BaseChannel can set the transport directly without depending on
TransportController.

When initializing the network of the BaseChannel, the ChannelManager will
create TransportChannels with the TransportController.
When enabling bundling, WebRtcSession will get or create TransportChannels
with the TransportController.

When a TransportChannel of the BaseChannel needs to be destroyed, it will
fire a signal to notify the WebRtcSession.

BUG=none.

Review-Url: https://codereview.webrtc.org/2614263002
Cr-Commit-Position: refs/heads/master@{#16043}
2017-01-13 03:37:48 +00:00
ede5da4960 Replace ASSERT by RTC_DCHECK in all non-test code.
Bulk of the changes were produced using

  git grep -l ' ASSERT(' | grep -v test | grep -v 'common\.h' |\
    xargs -n1 sed -i 's/ ASSERT(/ RTC_DCHECK(/'

followed by additional includes of base/checks.h in affected files,
and git cl format.

Also had to do some tweaks to #if !defined(NDEBUG) logic in the
taskrunner code (webrtc/base/task.cc, webrtc/base/taskparent.cc,
webrtc/base/taskparent.h, webrtc/base/taskrunner.cc), replaced to
consistently use RTC_DCHECK_IS_ON, and some of the checks needed
additional #if protection.

Test code was excluded, because it should probably use RTC_CHECK
rather than RTC_DCHECK.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2620303003
Cr-Commit-Position: refs/heads/master@{#16030}
2017-01-12 13:15:36 +00:00
eb4ca4e823 Replace RTC_DCHECK(false) with RTC_NOTREACHED().
Bulk of changes done using

  git grep -l 'RTC_DCHECK(false)' | \
    xargs sed -i 's/RTC_DCHECK(false)/RTC_NOTREACHED()/'

peerconnection.cc also used RTC_DCHECK(false && "msg") in two places,
which were updated manually.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2623313004
Cr-Commit-Position: refs/heads/master@{#16026}
2017-01-12 10:24:27 +00:00