Commit Graph

224 Commits

Author SHA1 Message Date
d48f488bed Support GCM ciphers even if ENABLE_EXTERNAL_AUTH is defined.
With ENABLE_EXTERNAL_AUTH, external auth will only be used depending
on the selected cipher (allowed for non-GCM, not allowed for GCM).

BUG=webrtc:5222, chromium:628400

Review-Url: https://codereview.webrtc.org/2720663003
Cr-Commit-Position: refs/heads/master@{#16955}
2017-03-01 23:34:36 +00:00
a7a9be159d Move RTCOutboundRTPStreamStats.roundTripTime to inbound, don't collect.
The value is being moved:
https://github.com/w3c/webrtc-stats/pull/167

Stop collecting this value. Our previous value was incorrect, our RTT
value was a smoothed value based on STUN pings but the spec says it
should be based on RTCP timestamps in RTCP Receiver Report (RR) on
inbound streams with isRemote=true (not supported).

Updated some bug references.

BUG=webrtc:7065, webrtc:7066

Review-Url: https://codereview.webrtc.org/2722633005
Cr-Commit-Position: refs/heads/master@{#16931}
2017-03-01 09:02:45 +00:00
c1b57a15bf Test field trial group with startswith rather than equals.
BUG=webrtc:7266

Review-Url: https://codereview.webrtc.org/2717973005
Cr-Commit-Position: refs/heads/master@{#16915}
2017-02-28 16:50:47 +00:00
13f54b2c56 Rename RTCCodecStats.codec -> mimeType, parameters -> sdpFmtpLine.
As per https://github.com/w3c/webrtc-stats/pull/168.

NOTRY due to broken linux_ubsan_vptr, all other tests passed.

BUG=webrtc:7061
NOTRY=True

Review-Url: https://codereview.webrtc.org/2718383002
Cr-Commit-Position: refs/heads/master@{#16907}
2017-02-28 14:56:04 +00:00
7562fc8adb Make hbos and hta rtcstats* OWNERS of webrtc/pc, not webrtc/api.
We were already OWNERS of these files, but when these files were moved
from webrtc/api/ to webrtc/pc/ and a new OWNERS file created our
ownership was accidentally not moved.

Becoming per-file=rtcstats* OWNER of webrtc/pc/ which includes:
 rtcstats_integrationtest.cc
 rtcstatscollector.cc
 rtcstatscollector.h
 rtcstatscollector_unittest.cc

Dropping ownership of webrtc/api/ which no longer includes any
rtcstats* files.

Already OWNER of all of webrtc/api/stats/ which includes:
 rtcstats.h
 rtcstats_objects.h
 rtcstatscollectorcallback.h
 rtcstatsreport.h

Already OWNER of all of webrtc/stats/ which includes:
 rtcstats.cc
 rtcstats_objects.cc
 rtcstats_unittest.cc
 rtcstatsreport.cc
 rtcstatsreport_unittest.cc

BUG=webrtc:7060
TBR=hta@webrtc.org, deadbeef@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2726563002
Cr-Commit-Position: refs/heads/master@{#16906}
2017-02-28 14:46:44 +00:00
bf8d3e572c RTCIceCandidatePairStats.[total/current]RoundTripTime collected.
Collected in accordance with the spec:
https://w3c.github.io/webrtc-stats/#candidatepair-dict*

totalRoundTripTime is collected as the sum of rtt measurements, it was
previously not collected.
currentRoundTripTime is collected as the latest rtt measurement, it
was previously collected as a smoothed value, which was incorrect.

Connection is updated to collect these values which are surfaced
through ConnectionInfo.

BUG=webrtc:7062, webrtc:7204

Review-Url: https://codereview.webrtc.org/2719523002
Cr-Commit-Position: refs/heads/master@{#16905}
2017-02-28 14:34:47 +00:00
3fd31fe502 Fix TSAN race in webrtc::voe::Channel.
|transport_overhead_per_packet_| and |rtp_overhead_per_packet_| could
be read from and written to on different threads concurrently. This CL
introduces a lock to GUARD these variables.

NOTRY because master.tryserver.webrtc.linux_ubsan_vptr is broken, all
other tests pass.

BUG=webrtc:7231
NOTRY=True

Review-Url: https://codereview.webrtc.org/2710363003
Cr-Commit-Position: refs/heads/master@{#16900}
2017-02-28 13:43:16 +00:00
92eaec6104 RTCIceCandidatePairStats.nominated collected.
Connection::nominated() is updated to mean
(remote_nomination_ || acked_nomination_), which means both a
controlling and controlled agent can be said to be "nominated".
Previously this was (remote_nomination_ > 0) which only applies to the
controlling agent.

PortTest.TestNomination added to test nomination values and nomination
stat.

This value is surfaced through cricket::ConnectionInfo::nominated.
RTCStatsCollector uses this value in its collection of
RTCIceCandidatePairStats.

RTCStatsCollectorTest.CollectRTCIceCandidatePairStats updated to test
that ConnectionInfo::nominated is surfaced using mocks.
rtcstats_integrationtest.cc updated to expect nomination set without
using mocks.

Spec: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-nominated

BUG=webrtc:7062, webrtc:7204

Review-Url: https://codereview.webrtc.org/2709293004
Cr-Commit-Position: refs/heads/master@{#16855}
2017-02-27 09:38:08 +00:00
b7d24f6d8d Disable flaky tests on iOS
Tests disabled:
CurrentSpeakerMonitorTest.SpeakerChange
TargetDelayTest.OutOfRangeInput
TargetDelayTest.NoTargetDelayBufferSizeChanges
TargetDelayTest.WithTargetDelayBufferNotChanging
TargetDelayTest.RequiredDelayAtCorrectRange
TargetDelayTest.TargetDelayBufferMinMax

BUG=webrtc:7057
TBR=aleloi@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2717993002
Cr-Commit-Position: refs/heads/master@{#16850}
2017-02-27 06:10:14 +00:00
7c85658556 Roll chromium_revision 33a7a547b9..0e44c5e141 (452838:453130)
Some code changes were needed due to webrtc:7236.
Disabling flaky test for iOS and ORTC (on memcheck).

Change log: 33a7a547b9..0e44c5e141
Full diff: 33a7a547b9..0e44c5e141

Changed dependencies:
* src/base: facaa65f73..07e8029830
* src/build: eefc9cc748..c7c2db69cd
* src/ios: f893f94115..75bb86f02a
* src/testing: b40837ba97..e31bd01824
* src/third_party: 55242080a2..285c08d0e2
* src/third_party/catapult: 794fff6c81..47b98570f6
* src/third_party/libyuv: b18fd21d3c..45b176d153
* src/tools: e4e78e0678..6b40c03f7b
DEPS diff: 33a7a547b9..0e44c5e141/DEPS

Clang version changed 289944:295793
Details: 33a7a547b9..0e44c5e141/tools/clang/scripts/update.py

TBR=henrik.lundin@webrtc.org
BUG=webrtc:7236, webrtc:7247, webrtc:7248
NOTRY=True

Review-Url: https://codereview.webrtc.org/2718953002
Cr-Commit-Position: refs/heads/master@{#16849}
2017-02-27 03:53:40 +00:00
e814a0dee0 Adding "adapter" ORTC objects on top of ChannelManager/BaseChannel/etc.
This CL adds the following interfaces:
* RtpTransportController
* RtpTransport
* RtpSender
* RtpReceiver

They're implemented on top of the "BaseChannel" object, which is normally used
in a PeerConnection, and roughly corresponds to an SDP "m=" section. As a result
of this, there are several limitations:

* You can only have one of each type of sender and receiver (audio/video) on top
  of the same transport controller.
* The sender/receiver with the same media type must use the same RTP transport.
* You can't change the transport after creating the sender or receiver.
* Some of the parameters aren't supported.

Later, these "adapter" objects will be gradually replaced by real objects that don't
have these limitations, as "BaseChannel", "MediaChannel" and related code is
restructured. In this CL, we essentially have:

ORTC adapter objects -> BaseChannel -> Media engine
PeerConnection -> BaseChannel -> Media engine

And later we hope to have simply:

PeerConnection -> "Real" ORTC objects -> Media engine

See the linked bug for more context.

BUG=webrtc:7013
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2675173003
Cr-Commit-Position: refs/heads/master@{#16842}
2017-02-26 02:15:09 +00:00
f15fb452ef Fix occasional race in VideoCapturerTrackSource seen by memcheck bot.
The issue was that VideoCapturerTrackSource was adding a reference
to itself, causing it to not be deleted even after no external objects
reference it. The objects underneath it (threads for instance) may
then be destroyed before the object dereferences them.

BUG=webrtc:6487

Review-Url: https://codereview.webrtc.org/2717023002
Cr-Commit-Position: refs/heads/master@{#16841}
2017-02-25 21:37:59 +00:00
08187d41ca Rewrite rtc::Bind using variadic templates.
I'd like to make a change to rtc::Bind in another CL, and that will
be easier if there are fewer lines of code to modify.

BUG=None

Review-Url: https://codereview.webrtc.org/2719683002
Cr-Commit-Position: refs/heads/master@{#16838}
2017-02-25 19:21:18 +00:00
1498defa78 Disable RTCStatsIntegrationTest on TSAN bots.
BUG=webrtc:7231
TBR=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2707263010
Cr-Commit-Position: refs/heads/master@{#16828}
2017-02-24 15:41:04 +00:00
b789253661 Accept SDP with TRANSPORT attributes missing from bundled m= sections.
Where "TRANSPORT attributes" refers to:
https://tools.ietf.org/html/draft-ietf-mmusic-sdp-mux-attributes-16

The BUNDLE draft now says that these attributes can
(in fact, MUST) be omitted when m= sections are bundled
(they only need to go in one of the bundled m= sections),
so we should start accepting that SDP.

This CL doesn't fix "a=rtcp-mux", unfortunately. That will be easier
to fix once we've split apart an "RtpTransport" object from
BaseChannel.

BUG=webrtc:6351

Review-Url: https://codereview.webrtc.org/2647593003
Cr-Commit-Position: refs/heads/master@{#16782}
2017-02-23 03:35:18 +00:00
5fec128de9 Add QP for libvpx VP8 decoder.
BUG=webrtc:6541, webrtc:7065
TBR=hta@webrtc.org

Review-Url: https://codereview.webrtc.org/2656603002
Cr-Commit-Position: refs/heads/master@{#16722}
2017-02-20 14:43:58 +00:00
21e4e0b0ab Delete webrtc/base/common.h
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2684613002
Cr-Commit-Position: refs/heads/master@{#16718}
2017-02-20 13:01:01 +00:00
fe90ad195f TrackMediaInfoMap: Allow same SSRC for send and receive side.
Running video loopback on https://appr.tc/ revealed that it is possible
to use the same SSRC for a local and remote audio or video track. This
caused a DCHECK crash. The constructor of TrackMediaInfoMap is updated
to support this mapping and the unittest is updated (moved and modified
a test from being a death test to being a non-death test).

I've verified that this fixes the bug.

BUG=chromium:693087

Review-Url: https://codereview.webrtc.org/2703783002
Cr-Commit-Position: refs/heads/master@{#16713}
2017-02-20 10:05:13 +00:00
4b2e0829ca Use the same draft version in SDP data channel answers as used in the offer.
This change adds a flag, use_sctpmap, to DataContentDescription. The deserialization code sets the flag based on the format of the m= line.
There were already unit tests using SDP in the new format, so I just updated them to check use_sctpmap was set as expected.

The change to mediasession copies use_sctpmap from the offered DataContentDescription to the answer.
I haven't figured out how to test this change yet, but wanted to get feedback before continuing.

BUG=chromium:686212

Review-Url: https://codereview.webrtc.org/2690943011
Cr-Commit-Position: refs/heads/master@{#16686}
2017-02-18 03:48:38 +00:00
6038e97e04 Adding RTCErrorOr class to be used by ORTC APIs.
This utility class can be used to represent either an error or a
successful return value. Follows the pattern of StatusOr in the protobuf
library.

This will be used by ORTC factory methods; for instance, CreateRtpSender
will either return an RtpSender or an error if the parameters are
invalid or some other failure occurs.

This CL also moves RTCError classes to a separate file, and adds tests
that were missing before.

BUG=webrtc:7013

Review-Url: https://codereview.webrtc.org/2692723002
Cr-Commit-Position: refs/heads/master@{#16659}
2017-02-17 07:31:33 +00:00
a51d4f34d9 Re-land of 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.

This is a re-land of https://codereview.webrtc.org/2675943002 after
dependent CL that was re-landed.

BUG=webrtc:7065
TBR=hta@webrtc.org, sakal@webrtc.org

Review-Url: https://codereview.webrtc.org/2703503003
Cr-Commit-Position: refs/heads/master@{#16642}
2017-02-16 13:34:48 +00:00
39e14da919 Changing some PeerConnection-related comments.
As recommended by nisse@ in comments on this CL:
https://codereview.webrtc.org/2685093002/

BUG=None
NOTRY=True
TBR=nisse@webrtc.org

Review-Url: https://codereview.webrtc.org/2692923002
Cr-Commit-Position: refs/heads/master@{#16589}
2017-02-13 17:49:58 +00:00
804c1af48b Move trackmediainfomap files from api/ to pc/.
It looks like this was left out of the original api/pc move CL since it
had been added recently.

BUG=webrtc:5883
TBR=ossu@webrtc.org

Review-Url: https://codereview.webrtc.org/2690793003
Cr-Commit-Position: refs/heads/master@{#16560}
2017-02-12 03:07:31 +00:00
1a2183d0c3 Removing unnecessary parameters from CreateXChannel methods.
"bundle_transport_name" is no longer relevant here, and
"rtcp_mux_required" is implied by whether or not an RTCP transport is
passed in.

BUG=None

Review-Url: https://codereview.webrtc.org/2689503002
Cr-Commit-Position: refs/heads/master@{#16551}
2017-02-11 07:44:49 +00:00
757146baf1 Remove PC factory options param from LocalAudioSource::Create.
It wasn't being used at all, and there's no need to tie LocalAudioSource to
PeerConnection.

BUG=None

Review-Url: https://codereview.webrtc.org/2682253002
Cr-Commit-Position: refs/heads/master@{#16550}
2017-02-11 05:26:48 +00:00
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