Commit Graph

9444 Commits

Author SHA1 Message Date
5d3b28b853 Ensure internal_source is false for internal encoders.
webrtcvideoengine2.cc uses a field for parameters_, and doesn't empty
out the current state in functions like SetCodec. In the case of
internal_source, SetCodec only set it for external encoders, which
means that in a switch from an internal-source external encoder to an
internal encoder, the internal_source bit would stay set.

(It's plausible that there are other places that are also unsafe and we
just don't notice because codec switches are uncommon in most usage)

In combination with https://codereview.webrtc.org/2574183002/,
generic_encoder.cc now creates 1x1 uninitialized frames as fake frames
for internal_source keyframe requests. The vp8 software encoder doesn't
deal correctly with frames of resolutions that don't match the
configured resolution (besides a DCHECK) and no longer throws these
away (they used to be 0x0 frames), so this results in the VP8
encoder creating a keyframe of the configured send codec size by reading
random memory off the end of the fake I420 frame. This could either
cause crashes or encoding junk data, depending on where the allocation
was.

BUG=webrtc:6957

Review-Url: https://codereview.webrtc.org/2617003003
Cr-Commit-Position: refs/heads/master@{#15969}
2017-01-09 18:06:28 +00:00
0483362377 Add disabled certificate check support to IceServer PeerConnection API.
Refactor "OPT_SSLTCP" renaming it to "OPT_TLS_FAKE", making it clear
that it's not actually some kind of SSL over TCP. Also making it clear
that it's mutually exclusive with OPT_TLS. Maintaining deprecated
backwards compatible support for "OPT_SSLTCP".

Add "OPT_TLS_INSECURE" that implements the new certificate-check
disabled TLS mode, which is also mutually exclusive with the other
TLS options.

PortAllocator: Add a new TLS policy enum TlsCertPolicy which defines
the new insecure mode and added it as a RelayCredentials member.

TurnPort: Add new TLS policy member with appropriate getter and setter
to avoid constructor bloat. Initialize it from the RelayCredentials
after the TurnPort is created.

Expose the new feature in the PeerConnection API via
IceServer.tls_certificate_policy as well as via the Android JNI
PeerConnection API.

For security reasons we ensure that:

	1) The policy is always explicitly initialized to secure.
        2) API users have to explicitly integrate with the feature to
           use it, and will otherwise get no change in behavior.
	3) The feature is not immediately exposed in non-native
	   contexts. For example, disabling of certificate validation
           is not implemented via URI parsing since this would
           immediately allow it to be used from a web page.

This is a second attempt of https://codereview.webrtc.org/2557803002/
which was rolled back in https://codereview.webrtc.org/2590153002/

BUG=webrtc:6840

Review-Url: https://codereview.webrtc.org/2594623002
Cr-Commit-Position: refs/heads/master@{#15967}
2017-01-09 16:35:45 +00:00
4843dd13aa Fix for left-shift of potentially negative values in NetEq.
Left shifting negative integers is undefined behavior, and should be prevented. This CL fixes one such instance in the NetEq Expand function.

BUG=chromium:677106

Review-Url: https://codereview.webrtc.org/2616363003
Cr-Commit-Position: refs/heads/master@{#15966}
2017-01-09 16:31:42 +00:00
39ced8cf35 Delete final remnants of the buzz namespace.
The code using this namespace was deleted in cl
https://codereview.webrtc.org/2617443003.

TBR=pthatcher@webrtc.org
BUG=webrtc:5539

Review-Url: https://codereview.webrtc.org/2622543003
Cr-Commit-Position: refs/heads/master@{#15965}
2017-01-09 16:29:51 +00:00
c7e7e079a4 Lower bad call logging severity
BUG=webrtc:6814

Review-Url: https://codereview.webrtc.org/2584723003
Cr-Commit-Position: refs/heads/master@{#15964}
2017-01-09 15:23:33 +00:00
0b7bd75659 AVFoundationVideoCapturer: Fix apply_rotation() logic
When apply_rotation() returns true, rotation and captured width/heigh are not set correctly.

BUG=webrtc:6925

Review-Url: https://codereview.webrtc.org/2611113003
Cr-Commit-Position: refs/heads/master@{#15963}
2017-01-09 15:09:23 +00:00
075c6d7f7e Temporarily remove SSRC DCHECK in RTPSender::SendToNetwork.
Removing the DCHECK due to (sometimes) failing voe_auto_test.
Long-term, this DCHECK should be readded. Before that can happen,
the SSRC in the RTPSender should be made immutable.

TESTED=No failures when running third_party/gtest-parallel/gtest-parallel --repeat=5000 --gtest_filter="VolumeTest.ManualInputMutingMutesMicrophone" out/Debug/voe_auto_test.
BUG=webrtc:6887

Review-Url: https://codereview.webrtc.org/2610873002
Cr-Commit-Position: refs/heads/master@{#15962}
2017-01-09 13:11:09 +00:00
29fe6f338f Make magjed@ owner of webrtc/sdk/objc
Also, move owner file from webrtc/sdk to webrtc/sdk/objc since we now
also have webrtc/sdk/android directory.

BUG=None
TBR=tkchin
NOTRY=True

Review-Url: https://codereview.webrtc.org/2589233002
Cr-Commit-Position: refs/heads/master@{#15961}
2017-01-09 12:20:30 +00:00
38d8b3c9b0 Clean up ramp-up tests and make sure they all pass.
BUG=webrtc:6935

Review-Url: https://codereview.webrtc.org/2599013002
Cr-Commit-Position: refs/heads/master@{#15960}
2017-01-09 12:19:24 +00:00
438062bd43 Reland of Fixing package-boundary violation with srjar_deps (patchset #1 id:1 of https://codereview.webrtc.org/2617533005/ )
Reason for revert:
Skipping the build of the target "//webrtc/modules/audio_device:audio_device_java" when building webrtc with chromium.

This was causing a failure because in that case it is not possible to refer to the script used by the template "android_shared_srcjar" with an absolute path (which seems to be necessary since the script attribute of action is relative to the invocation target and not to the template declaration).

Original issue's description:
> Revert of Fixing package-boundary violation with srjar_deps (patchset #5 id:80001 of https://codereview.webrtc.org/2610823002/ )
>
> Reason for revert:
> This CL is breaking a chromium.webrtc.fyi: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder/builds/226
>
> I am trying to reproduce the issue on my local machine and I will try to re-land the CL later.
>
> Original issue's description:
> > Fixing package-boundary violation with srjar_deps
> >
> > Without the usage of the srcjar_deps attribute we were not able to
> > include .java files from other packages without violating the package
> > boundary contraint.
> >
> > As an example, in this CL the target "libjingle_peerconnection_java" was
> > directly including .java files from another packages in its "java_files"
> > attribute.
> >
> > Using srcjar_deps we are able to declare the dependency of the target
> > avoiding to create hidden dependencies in the codebase.
> >
> > This is not fixing the webrtc:6356 bug directly but it is a first step to
> > include ThreadUtils classes in libjingle_peerconnection_client_java.jar
> > again.
> >
> > It seems also to be related to the chromium:648244 bug. This can be solved
> > if we can find a way to perform srcjar generation in the android_library
> > target without changing the semantic of the target.
> >
> > BUG=webrtc:6356
> >
> > Review-Url: https://codereview.webrtc.org/2610823002
> > Cr-Commit-Position: refs/heads/master@{#15914}
> > Committed: 10a76592a7
>
> TBR=kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6356
>
> Review-Url: https://codereview.webrtc.org/2617533005
> Cr-Commit-Position: refs/heads/master@{#15915}
> Committed: eb731ed09e

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

Review-Url: https://codereview.webrtc.org/2612953004
Cr-Commit-Position: refs/heads/master@{#15958}
2017-01-09 10:37:21 +00:00
c1b661eee0 Remove duplicate implementations of string conversion methods.
BUG=webrtc:4773

Review-Url: https://codereview.webrtc.org/2583853002
Cr-Commit-Position: refs/heads/master@{#15957}
2017-01-09 09:40:03 +00:00
62ffe9a339 Reland of Delete unused code from systeminfo. (patchset #1 id:1 of https://codereview.webrtc.org/2584563004/ )
Reason for revert:
Relanding as downstream has been fixed.

Original issue's description:
> Revert of Delete unused code from systeminfo. (patchset #3 id:40001 of https://codereview.webrtc.org/2578323005/ )
>
> Reason for revert:
> Breaks downstream build.
>
> Original issue's description:
> > Delete unused code from systeminfo.
> >
> > BUG=webrtc:6906
> >
> > Review-Url: https://codereview.webrtc.org/2578323005
> > Cr-Commit-Position: refs/heads/master@{#15655}
> > Committed: 617ca316e9
>
> TBR=perkj@webrtc.org,kthelgason@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> BUG=webrtc:6906
>
> Review-Url: https://codereview.webrtc.org/2584563004 .
> Cr-Commit-Position: refs/heads/master@{#15660}
> Committed: ffb865f3e0

TBR=perkj@webrtc.org,skvlad@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6906

Review-Url: https://codereview.webrtc.org/2614693002
Cr-Commit-Position: refs/heads/master@{#15956}
2017-01-09 09:22:16 +00:00
13ced17068 Reland of "Remove webrtc/libjingle/{xmllite,xmpp}"
Last references to the old code were fixed in Chromium with
https://codereview.chromium.org/2616873002/ and
https://codereview.chromium.org/2617363002/

Original issue's description:
> Revert of Remove webrtc/libjingle/{xmllite,xmpp} (patchset #1 id:1 of https://codereview.webrtc.org/2617443003/ )
>
> Reason for revert:
> Breaks Chromium FYI bots.
>
> tommi, please let me land this (I forgot to run them).
>
> Original issue's description:
> > Remove webrtc/libjingle/{xmllite,xmpp} as it's dead code.
> >
> > These sources have now been imported into Chromium's
> > src/third_party/libjingle_xmpp.
> >
> > BUG=webrtc:5539
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2617443003
> > Cr-Commit-Position: refs/heads/master@{#15910}
> > Committed: 1670b1fe6b
>
> TBR=tommi@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5539
>
> Review-Url: https://codereview.webrtc.org/2618633003
> Cr-Commit-Position: refs/heads/master@{#15911}
> Committed: 60ef117be4

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

Review-Url: https://codereview.webrtc.org/2618693002
Cr-Commit-Position: refs/heads/master@{#15954}
2017-01-09 07:02:01 +00:00
fb2aceded6 Add video send SSRC to RtpParameters, and don't allow changing SSRC.
With this, RtpSender and RtpReceiver will always return an SSRC if one
is available. Also, attempts to change the SSRC with SetParameters will
fail, rather than silently doing nothing.

BUG=webrtc:6888

Review-Url: https://codereview.webrtc.org/2567333004
Cr-Commit-Position: refs/heads/master@{#15939}
2017-01-07 07:05:37 +00:00
8014c75931 Adding Java and Obj-C bindings for RtpEncodingParameters.ssrc.
BUG=webrtc:6903

Review-Url: https://codereview.webrtc.org/2581913002
Cr-Commit-Position: refs/heads/master@{#15936}
2017-01-07 00:53:00 +00:00
de770dd7e9 Remove AudioClassifier
BUG=webrtc:5676

Review-Url: https://codereview.webrtc.org/2615983002
Cr-Commit-Position: refs/heads/master@{#15933}
2017-01-06 17:49:47 +00:00
512f00bc58 Force regular key frame generation for VP8 codec only.
BUG=b/33554812,b/32238476
R=wzh@webrtc.org

Review-Url: https://codereview.webrtc.org/2614073003 .
Cr-Commit-Position: refs/heads/master@{#15926}
2017-01-06 00:40:46 +00:00
c7483a7d88 Force regular key frame generation when using Qualcomm VP8 HW encoder.
To reduce the duration of color distortions appeared in recent firmware.

BUG=b/33554812,b/32238476
R=wzh@webrtc.org

Review-Url: https://codereview.webrtc.org/2614823005 .
Cr-Commit-Position: refs/heads/master@{#15925}
2017-01-05 23:22:24 +00:00
fce6532366 Add glaznev@ to WebRTC SDK owners.
BUG=NONE
R=tkchin@webrtc.org

Review-Url: https://codereview.webrtc.org/2611193003 .
Cr-Commit-Position: refs/heads/master@{#15924}
2017-01-05 23:19:53 +00:00
1a619cdb5d Create the MockIceTransport
The src/remoting/protocol/channel_socket_adapter_unittest.cc will use this class
instead of creating its own MockTransportChannel which subclasses the TransportChannel.
This will make it easier to switch the base class of P2PTransportChannel from
TransportChannel to IceTransportInternal.

BUG=webrtc:6951

Review-Url: https://codereview.webrtc.org/2610663003
Cr-Commit-Position: refs/heads/master@{#15922}
2017-01-05 20:21:52 +00:00
021eef32f4 Reland of actor webrtc_perf_tests into several source_sets. (patchset #1 id:1 of https://codereview.webrtc.org/2613913002/ )
Reason for revert:
Try again.

Original issue's description:
> Revert of Refactor webrtc_perf_tests into several source_sets. (patchset #5 id:100001 of https://codereview.webrtc.org/2609403002/ )
>
> Reason for revert:
> Probably cause unexpected performance regression
> BUG=chromium:678569
>
> Original issue's description:
> > Refactor webrtc_perf_tests into several source_sets.
> >
> > BUG=webrtc:6954
> >
> > Review-Url: https://codereview.webrtc.org/2609403002
> > Cr-Commit-Position: refs/heads/master@{#15902}
> > Committed: 0b5a26a576
>
> TBR=kjellander@webrtc.org,ehmaldonado@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6954
>
> Review-Url: https://codereview.webrtc.org/2613913002
> Cr-Commit-Position: refs/heads/master@{#15916}
> Committed: 5fbcd228f0

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

Review-Url: https://codereview.webrtc.org/2615873002
Cr-Commit-Position: refs/heads/master@{#15919}
2017-01-05 15:09:50 +00:00
894c2bb7b9 GN: Refactor webrtc_nonparallel_tests and audio_tests to avoid crossing package boundaries.
BUG=webrtc:6954
R=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2614833004
Cr-Commit-Position: refs/heads/master@{#15917}
2017-01-05 14:03:24 +00:00
5fbcd228f0 Revert of Refactor webrtc_perf_tests into several source_sets. (patchset #5 id:100001 of https://codereview.webrtc.org/2609403002/ )
Reason for revert:
Probably cause unexpected performance regression
BUG=chromium:678569

Original issue's description:
> Refactor webrtc_perf_tests into several source_sets.
>
> BUG=webrtc:6954
>
> Review-Url: https://codereview.webrtc.org/2609403002
> Cr-Commit-Position: refs/heads/master@{#15902}
> Committed: 0b5a26a576

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

Review-Url: https://codereview.webrtc.org/2613913002
Cr-Commit-Position: refs/heads/master@{#15916}
2017-01-05 12:57:49 +00:00
eb731ed09e Revert of Fixing package-boundary violation with srjar_deps (patchset #5 id:80001 of https://codereview.webrtc.org/2610823002/ )
Reason for revert:
This CL is breaking a chromium.webrtc.fyi: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder/builds/226

I am trying to reproduce the issue on my local machine and I will try to re-land the CL later.

Original issue's description:
> Fixing package-boundary violation with srjar_deps
>
> Without the usage of the srcjar_deps attribute we were not able to
> include .java files from other packages without violating the package
> boundary contraint.
>
> As an example, in this CL the target "libjingle_peerconnection_java" was
> directly including .java files from another packages in its "java_files"
> attribute.
>
> Using srcjar_deps we are able to declare the dependency of the target
> avoiding to create hidden dependencies in the codebase.
>
> This is not fixing the webrtc:6356 bug directly but it is a first step to
> include ThreadUtils classes in libjingle_peerconnection_client_java.jar
> again.
>
> It seems also to be related to the chromium:648244 bug. This can be solved
> if we can find a way to perform srcjar generation in the android_library
> target without changing the semantic of the target.
>
> BUG=webrtc:6356
>
> Review-Url: https://codereview.webrtc.org/2610823002
> Cr-Commit-Position: refs/heads/master@{#15914}
> Committed: 10a76592a7

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

Review-Url: https://codereview.webrtc.org/2617533005
Cr-Commit-Position: refs/heads/master@{#15915}
2017-01-05 12:24:37 +00:00
10a76592a7 Fixing package-boundary violation with srjar_deps
Without the usage of the srcjar_deps attribute we were not able to
include .java files from other packages without violating the package
boundary contraint.

As an example, in this CL the target "libjingle_peerconnection_java" was
directly including .java files from another packages in its "java_files"
attribute.

Using srcjar_deps we are able to declare the dependency of the target
avoiding to create hidden dependencies in the codebase.

This is not fixing the webrtc:6356 bug directly but it is a first step to
include ThreadUtils classes in libjingle_peerconnection_client_java.jar
again.

It seems also to be related to the chromium:648244 bug. This can be solved
if we can find a way to perform srcjar generation in the android_library
target without changing the semantic of the target.

BUG=webrtc:6356

Review-Url: https://codereview.webrtc.org/2610823002
Cr-Commit-Position: refs/heads/master@{#15914}
2017-01-05 12:03:55 +00:00
60ef117be4 Revert of Remove webrtc/libjingle/{xmllite,xmpp} (patchset #1 id:1 of https://codereview.webrtc.org/2617443003/ )
Reason for revert:
Breaks Chromium FYI bots.

tommi, please let me land this (I forgot to run them).

Original issue's description:
> Remove webrtc/libjingle/{xmllite,xmpp} as it's dead code.
>
> These sources have now been imported into Chromium's
> src/third_party/libjingle_xmpp.
>
> BUG=webrtc:5539
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2617443003
> Cr-Commit-Position: refs/heads/master@{#15910}
> Committed: 1670b1fe6b

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

Review-Url: https://codereview.webrtc.org/2618633003
Cr-Commit-Position: refs/heads/master@{#15911}
2017-01-05 06:29:39 +00:00
1670b1fe6b Remove webrtc/libjingle/{xmllite,xmpp} as it's dead code.
These sources have now been imported into Chromium's
src/third_party/libjingle_xmpp.

BUG=webrtc:5539
NOTRY=True

Review-Url: https://codereview.webrtc.org/2617443003
Cr-Commit-Position: refs/heads/master@{#15910}
2017-01-05 06:05:53 +00:00
c0dad89bed Revert of Separating SCTP code from BaseChannel/MediaChannel. (patchset #14 id:240001 of https://codereview.webrtc.org/2564333002/ )
Reason for revert:
Hitting DCHECK in chromium's WebrtcTransportTest.TerminateDataChannel and WebrtcTransportTest.DataStreamLate. Will investigate and reland.

Original issue's description:
> Separating SCTP code from BaseChannel/MediaChannel.
>
> The BaseChannel code is geared around RTP; the presence of media engines,
> send and receive streams, SRTP, SDP directional attribute negotiation, etc.
> It doesn't make sense to use it for SCTP as well. This separation should make
> future work both on BaseChannel and the SCTP code paths easier.
>
> SctpDataEngine now becomes SctpTransport, and is used by WebRtcSession
> directly. cricket::DataChannel is also renamed, to RtpDataChannel, so it
> doesn't get confused with webrtc::DataChannel any more.
>
> Beyond just moving code around, some consequences of this CL:
> - We'll now stop using the worker thread for SCTP. Packets will be
>   processed right on the network thread instead.
> - The SDP directional attribute is ignored, as it's supposed to be.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2564333002
> Cr-Commit-Position: refs/heads/master@{#15906}
> Committed: 67b3bbe639

TBR=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/2614813003
Cr-Commit-Position: refs/heads/master@{#15908}
2017-01-05 04:28:21 +00:00
e9bbde5830 Removing hybriddataengine.h from BUILD.gn
It was deleted in this CL, but the BUILD.gn file wasn't updated:
https://codereview.webrtc.org/2564333002/

BUG=None
TBR=pthatcher@webrtc.org

Review-Url: https://codereview.webrtc.org/2612963002
Cr-Commit-Position: refs/heads/master@{#15907}
2017-01-05 03:52:10 +00:00
67b3bbe639 Separating SCTP code from BaseChannel/MediaChannel.
The BaseChannel code is geared around RTP; the presence of media engines,
send and receive streams, SRTP, SDP directional attribute negotiation, etc.
It doesn't make sense to use it for SCTP as well. This separation should make
future work both on BaseChannel and the SCTP code paths easier.

SctpDataEngine now becomes SctpTransport, and is used by WebRtcSession
directly. cricket::DataChannel is also renamed, to RtpDataChannel, so it
doesn't get confused with webrtc::DataChannel any more.

Beyond just moving code around, some consequences of this CL:
- We'll now stop using the worker thread for SCTP. Packets will be
  processed right on the network thread instead.
- The SDP directional attribute is ignored, as it's supposed to be.

BUG=None

Review-Url: https://codereview.webrtc.org/2564333002
Cr-Commit-Position: refs/heads/master@{#15906}
2017-01-05 02:38:02 +00:00
0b5a26a576 Refactor webrtc_perf_tests into several source_sets.
BUG=webrtc:6954

Review-Url: https://codereview.webrtc.org/2609403002
Cr-Commit-Position: refs/heads/master@{#15902}
2017-01-04 17:13:58 +00:00
da8dcfb43e Refactor rtc_unittests into several targets.
Also fix some warnings.

NOTRY=True
BUG=webrtc:6954

Review-Url: https://codereview.webrtc.org/2611663002
Cr-Commit-Position: refs/heads/master@{#15900}
2017-01-04 15:11:23 +00:00
fd58b61068 BitrateProber::CreateProbeCluster now only accept one parameter (bitrate_bps).
Instead of having to specify a bitrate and how many packets to use,
the BitrateProber will now use the bitrate to calculate how many
bytes it will use to probe that bitrate instead.

For now, |kMinProbeDurationMs| is set to 15 ms which means that probing
at 1900 kbps will result in 1900/8*0.015 = 3.5 kB used. Since we can
expect packets to be smaller at the beginning of a stream (500 to 700
bytes) this will result in 7 to 5 packets sent for that bitrate, and
should work very similar to how the current initial probing works.

A minimum of 5 packets are always sent.

BUG=webrtc:6822

Review-Url: https://codereview.webrtc.org/2609113003
Cr-Commit-Position: refs/heads/master@{#15899}
2017-01-04 15:05:25 +00:00
e7b0f522d7 Add rtc_enable_external_auth variable for setting ENABLE_EXTERNAL_AUTH
This will make it easier for some downstream projects to control whether
or not to set ENABLE_EXTERNAL_AUTH, via the GN variable.

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2608673002
Cr-Commit-Position: refs/heads/master@{#15894}
2017-01-04 06:09:25 +00:00
12771a1910 Relax parsing of a=bundle-only with a nonzero port.
This use of a=bundle-only is unspecified, but not disallowed, so it
should simply result in the attribute being ignored, not a parse
failure.

Note that older versions of Firefox may generate SDP with a=bundle-only
and a nonzero port, so this also fixes an interop issue. See:
https://bugzilla.mozilla.org/show_bug.cgi?id=1325991

BUG=webrtc:4674

Review-Url: https://codereview.webrtc.org/2609863003
Cr-Commit-Position: refs/heads/master@{#15890}
2017-01-03 21:53:47 +00:00
e50658de85 Create the DtlsTransportInternal
DtlsTransportInternal is an internal interface that does DTLS.
The DtlsTransportChannel will inherit from this class instead of the
TransportChannelImpl so that the ICE-related methods can be separated.

Once the DtlsTransportChannl inherits from this class. It would be
renamed as DtlsTransport.

BUG=none

Review-Url: https://codereview.webrtc.org/2597053002
Cr-Commit-Position: refs/heads/master@{#15888}
2017-01-03 19:34:12 +00:00
2c2f34c1ca PacketBuffer now correctly cast sequence numbers to uint16_t.
BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2603223002
Cr-Commit-Position: refs/heads/master@{#15885}
2017-01-03 13:55:34 +00:00
d026354410 Reland of Added first layer of the echo canceller 3 functionality.
Reason for reland:
Added disabling of the BlockProcessor DEATH tests due to false alarms on the trybots.
These errors cannot be reproduced locally and they occur only in the DEATH test code,
which means that the memory leaks do not occur under normal conditions.

Original issue's description:
> Reason for revert:
> Memcheck buildbot detected memory leaks in the death tests. The code looks fine
> to me, but please investigate what causes the error and reland.

> > Original issue's description:
> > Added first layer of the echo canceller 3 functionality.
> >
> > This CL adds the first layer of the echo canceller 3.
> > All of the code is as it should, apart from
> > block_processor.* which only contains placeholder
> > functionality. (Upcoming CLs will add proper
> > functionality into those files.)
> >
> >
> >
> > BUG=webrtc:6018
> >
> > Review-Url: https://codereview.webrtc.org/2584493002
> > Cr-Commit-Position: refs/heads/master@{#15861}
> > Committed:
> 38fd1758e9
>
> TBR=ivoc@webrtc.org,aleloi@webrtc.org,henrik.lundin@webrtc.org,peah@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6018

BUG=webrtc:6018

TBR=ivoc@webrtc.org,aleloi@webrtc.org,henrik.lundin@webrtc.org

Review-Url: https://codereview.webrtc.org/2608233002
Cr-Commit-Position: refs/heads/master@{#15884}
2017-01-03 12:20:34 +00:00
6966bd51fc ReceiveStatisticsProxy:
- add some unit tests
- change SampleCounter members from int to int64_t

BUG=webrtc:5283

Review-Url: https://codereview.webrtc.org/2577073002
Cr-Commit-Position: refs/heads/master@{#15882}
2017-01-03 08:44:06 +00:00
7946b546db Revert of Added first layer of the echo canceller 3 functionality (patchset #13 id:240001 of https://codereview.webrtc.org/2584493002/ )
Reason for revert:
Memcheck buildbot detected memory leaks in the death tests. The code looks fine to me, but please investigate what causes the error and reland.

Original issue's description:
> Added first layer of the echo canceller 3 functionality.
>
> This CL adds the first layer of the echo canceller 3.
> All of the code is as it should, apart from
> block_processor.* which only contains placeholder
> functionality. (Upcoming CLs will add proper
> functionality into those files.)
>
>
>
> BUG=webrtc:6018
>
> Review-Url: https://codereview.webrtc.org/2584493002
> Cr-Commit-Position: refs/heads/master@{#15861}
> Committed: 38fd1758e9

TBR=ivoc@webrtc.org,aleloi@webrtc.org,henrik.lundin@webrtc.org,peah@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2603293002
Cr-Commit-Position: refs/heads/master@{#15877}
2017-01-02 21:44:49 +00:00
b4e426e8db RTCIceCandidateStats.transportId added and collected.
BUG=webrtc:6756, chromium:632723, chromium:627816

Review-Url: https://codereview.webrtc.org/2597963002
Cr-Commit-Position: refs/heads/master@{#15875}
2017-01-02 17:59:31 +00:00
c7c26a0e64 Reland of place basictypes.h with stdint.h for int_t types. (patchset #1 id:1 of https://codereview.webrtc.org/2603203003/ )
Reason for revert:
Doing a reland where systeminfo.cc includes basictypes.h so that CPU_X86 etc. are defined when they are checked/used.

Original issue's description:
> Revert of Replace basictypes.h with stdint.h for int_t types. (patchset #1 id:1 of https://codereview.webrtc.org/2604043002/ )
>
> Reason for revert:
> Very likely cause of Chromium import bot breakage (unused function '__cpuid'), TBD why.
>
> Original issue's description:
> > Replace basictypes.h with stdint.h for int_t types.
> >
> > Removes basictypes.h for types that only makes use of it for fixed-size-int
> > typedefs and replaces it with stdint.h.
> >
> > BUG=webrtc:6853
> > R=tommi@webrtc.org
> >
> > Review-Url: https://codereview.webrtc.org/2604043002
> > Cr-Commit-Position: refs/heads/master@{#15867}
> > Committed: 7fd1a75300
>
> TBR=tommi@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6853
>
> Review-Url: https://codereview.webrtc.org/2603203003
> Cr-Commit-Position: refs/heads/master@{#15869}
> Committed: 7eb0e23bcf

BUG=webrtc:6853
TBR=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2609783002
Cr-Commit-Position: refs/heads/master@{#15873}
2017-01-02 16:42:32 +00:00
6769c49418 RTC[In/Out]boundRTPStreamStats: qpSum,framesDecoded,framesEncoded added.
Recently added to the spec:
RTCRTPStreamStats.qpSum - https://w3c.github.io/webrtc-stats/#dom-rtcrtpstreamstats-qpsum
RTCInboundRTPStreamStats.framesDecoded - https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-framesdecoded
RTCOutboundRTPStreamStats.framesEncoded - https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-framesencoded

These are added and collected. However, the qpSum is only collected in
the outbound case. It should be collected in the inbound case before
closing crbug.com/657855

BUG=chromium:657854, chromium:657855, chromium:657856

Review-Url: https://codereview.webrtc.org/2588373005
Cr-Commit-Position: refs/heads/master@{#15872}
2017-01-02 16:35:13 +00:00
d17a5a7709 RTCIceCandidateStats.deleted = false added.
Since previously, only the deleted = false case is supported, but now
that stat is added. It's a recent addition to the spec:
https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatestats-deleted

BUG=webrtc:6756, chromium:632723, chromium:627816

Review-Url: https://codereview.webrtc.org/2591963003
Cr-Commit-Position: refs/heads/master@{#15871}
2017-01-02 16:09:59 +00:00
06495bcbb7 RTCIceCandidatePairStats.[state/priority] added, ConnectionInfo updated.
State and priority added to ConnectionInfo. The Connection::State enum
is replaced by IceCandidatePairState enum class.

At P2PTransportChannel::GetStats, Connection::stats is called, producing
ConnectionInfo for the connection that is then filled in with additional
values from the Connection. This is refactored so that all values are
set by Connection::stats.

RTCStatsCollector is updated to surface the ConnectionInfo stats.

BUG=webrtc:6755, chromium:633550, chromium:627816

Review-Url: https://codereview.webrtc.org/2597423003
Cr-Commit-Position: refs/heads/master@{#15870}
2017-01-02 16:08:18 +00:00
7eb0e23bcf Revert of Replace basictypes.h with stdint.h for int_t types. (patchset #1 id:1 of https://codereview.webrtc.org/2604043002/ )
Reason for revert:
Very likely cause of Chromium import bot breakage (unused function '__cpuid'), TBD why.

Original issue's description:
> Replace basictypes.h with stdint.h for int_t types.
>
> Removes basictypes.h for types that only makes use of it for fixed-size-int
> typedefs and replaces it with stdint.h.
>
> BUG=webrtc:6853
> R=tommi@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2604043002
> Cr-Commit-Position: refs/heads/master@{#15867}
> Committed: 7fd1a75300

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

Review-Url: https://codereview.webrtc.org/2603203003
Cr-Commit-Position: refs/heads/master@{#15869}
2017-01-02 15:32:25 +00:00
cafb497cc1 Limit NetEqImpl::ExtractPackets to returning one CNG packet
BUG=chromium:668834

Review-Url: https://codereview.webrtc.org/2609043002
Cr-Commit-Position: refs/heads/master@{#15868}
2017-01-02 15:00:50 +00:00
7fd1a75300 Replace basictypes.h with stdint.h for int_t types.
Removes basictypes.h for types that only makes use of it for fixed-size-int
typedefs and replaces it with stdint.h.

BUG=webrtc:6853
R=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2604043002
Cr-Commit-Position: refs/heads/master@{#15867}
2017-01-02 14:58:46 +00:00
23351197fb Improve rtcstats_integrationtest.cc by sanity checking values.
TestMemberIsPositive and TestMemberIsNonNegative added and used in test.

BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2593623002
Cr-Commit-Position: refs/heads/master@{#15866}
2017-01-02 14:52:19 +00:00
9baddf25b9 Replace basictypes.h with stddef.h for size_t.
Files only making use of size_t from basictypes.h are replaced with
stddef.h, except in cases where they already for instance use stdio.h or
stdlib.h that already provide size_t.

BUG=webrtc:6853
R=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2605123002
Cr-Commit-Position: refs/heads/master@{#15865}
2017-01-02 14:44:41 +00:00