Commit Graph

15875 Commits

Author SHA1 Message Date
0fc04b74c5 Finalize the support for building WebRTC library for iOS with bitcode
Initial provisioning was already done in build_ios_libs.sh to support
building the WebRTC framework or static library for iOS (tvOS, watchOS)
with bitcode. Still, the actual build configuration would need to be
modified for each and every part of the build, including 3rd-party libs.
Thus, doing that more universally, at the build/config level, would be
desirable – and actually necessary to provide the intended support.

The patch for enhancing the Chromium build configs with that specific
option was landed in https://codereview.chromium.org/2631573002

NOTRY=True
BUG=webrtc:5085

Review-Url: https://codereview.webrtc.org/2633643003
Cr-Commit-Position: refs/heads/master@{#16193}
2017-01-20 16:01:36 +00:00
f64941f1a5 RTCMediaStreamTrackStats.framesDecoded collected.
According to spec:
https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamtrackstats-framesdecoded

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

Review-Url: https://codereview.webrtc.org/2642713004
Cr-Commit-Position: refs/heads/master@{#16192}
2017-01-20 15:39:09 +00:00
aea1a017ed Move webrtc/sdk/DEPS to webrtc/sdk/objc/DEPS
The folder webrtc/sdk/ now contains android as well, so we should move the objc DEPS file to the objc folder.

TBR=tommi
BUG=None

Review-Url: https://codereview.webrtc.org/2644733008
Cr-Commit-Position: refs/heads/master@{#16191}
2017-01-20 14:56:44 +00:00
3c9151b953 Revert of Creating libwebrtc bundle jar (patchset #4 id:60001 of https://codereview.webrtc.org/2646443002/ )
Reason for revert:
This breaks some chromium.webrtc.fyi buildbots with the following error:

ERROR Unresolved dependencies.
//third_party/webrtc/base:base(//build/toolchain/android:android_arm)
  needs //third_party/webrtc/base:base_java(//build/toolchain/android:android_arm)

Original issue's description:
> Creating libwebrtc bundle jar
>
> Creates a JAR which includes:
> - //webrtc/base:base_java
> - //webrtc/modules/audio_device:audio_device_java
> - //webrtc/sdk/android:libjingle_peerconnection_java
> - //webrtc/sdk/android:libjingle_peerconnection_metrics_default_java
>
> The libwebrtc.jar file will be generated at '<output_dir>/lib.java/webrtc/sdk/android/libwebrtc.jar'.
>
> BUG=webrtc:6356
>
> Review-Url: https://codereview.webrtc.org/2646443002
> Cr-Commit-Position: refs/heads/master@{#16189}
> Committed: a62a82b7e7

TBR=kjellander@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:6356

Review-Url: https://codereview.webrtc.org/2640023010
Cr-Commit-Position: refs/heads/master@{#16190}
2017-01-20 14:48:03 +00:00
a62a82b7e7 Creating libwebrtc bundle jar
Creates a JAR which includes:
- //webrtc/base:base_java
- //webrtc/modules/audio_device:audio_device_java
- //webrtc/sdk/android:libjingle_peerconnection_java
- //webrtc/sdk/android:libjingle_peerconnection_metrics_default_java

The libwebrtc.jar file will be generated at '<output_dir>/lib.java/webrtc/sdk/android/libwebrtc.jar'.

BUG=webrtc:6356

Review-Url: https://codereview.webrtc.org/2646443002
Cr-Commit-Position: refs/heads/master@{#16189}
2017-01-20 14:15:34 +00:00
fefe076789 RTCMediaStreamTrackStats.framesSent collected by RTCStatsCollector.
BUG=webrtc:6757, chromium:659137, chromium:627816

Review-Url: https://codereview.webrtc.org/2606033002
Cr-Commit-Position: refs/heads/master@{#16188}
2017-01-20 14:14:25 +00:00
2d4d653e1f Fix msan flake in rtcstats_integrationtest.cc.
This CL https://codereview.webrtc.org/2641763003 changed echo return
loss /...enhancement stats from being optional to being undefined
because that was the observed behavior (and a TODO was added to
investigate why).

It turns out that these stats are sometimes available, e.g. if the test
runs for a while like MSAN bot does, so this turned the test flaky.
Example failure:
https://build.chromium.org/p/client.webrtc/builders/Linux%20MSan/builds/8242

This CL reverts that change without reverting the rest of the CL which
other CLs depend on, and updates the TODO.

BUG=chromium:627816
TBR=hta@webrtc.org
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2640743007
Cr-Commit-Position: refs/heads/master@{#16187}
2017-01-20 12:16:41 +00:00
c854ac3755 Stop camera onStop instead of onPause.
In multi-window mode the non-active activity receives onPause. We
shouldn't stop the camera in this case.

BUG=webrtc:7018

Review-Url: https://codereview.webrtc.org/2648483003
Cr-Commit-Position: refs/heads/master@{#16186}
2017-01-20 12:09:11 +00:00
42f6d2fb6c RTCMediaStreamTrackStats.framesReceived collected by RTCStatsCollector.
VideoReceiverInfo::frames_received added based on
VideoReceiveStream::Stats::frame_counts (.key_frames + .delta_frames).

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

Review-Url: https://codereview.webrtc.org/2607913002
Cr-Commit-Position: refs/heads/master@{#16185}
2017-01-20 11:56:50 +00:00
7319f26632 Roll chromium_revision 780d18a4ff..7649e76842 (445004:445027)
Change log: 780d18a4ff..7649e76842
Full diff: 780d18a4ff..7649e76842

Changed dependencies:
* src/build: 00810858e7..43ba3a29da
* src/third_party: 903ea20111..e6dcf7494f
* src/tools: a23f646628..5012bd139b
DEPS diff: 780d18a4ff..7649e76842/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2648743003
Cr-Commit-Position: refs/heads/master@{#16184}
2017-01-20 11:28:46 +00:00
30fe5e0d10 Prevent downstream linter warnings.
BUG=None

Review-Url: https://codereview.webrtc.org/2643853007
Cr-Commit-Position: refs/heads/master@{#16183}
2017-01-20 11:10:08 +00:00
35564065ca Camera1Session: Fix camera sometimes getting stopped twice.
Moves setting state as stopped to stopInternal. Checks that state is not
stopped in stopInternal.

BUG=webrtc:7015

Review-Url: https://codereview.webrtc.org/2640093003
Cr-Commit-Position: refs/heads/master@{#16182}
2017-01-20 11:09:03 +00:00
9e30274c03 RTCMediaStreamTrackStats collected on a per-attachment basis.
According to recent spec change:
https://github.com/w3c/webrtc-stats/pull/138/files

This establishes the relationship between tracks and
[Voice/Video][Sender/Receiver]Info(s). Follow-up CLs will easily be able
to collect more stats from them.

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

Review-Url: https://codereview.webrtc.org/2641763003
Cr-Commit-Position: refs/heads/master@{#16181}
2017-01-20 10:47:10 +00:00
fd6c94d311 Allow more config changes for CallActivity.
CallActivity doesn't survive recreation so we have to handle these config
changes. Fortunately, they don't seem to require any special handling.

BUG=webrtc:7018

Review-Url: https://codereview.webrtc.org/2645853002
Cr-Commit-Position: refs/heads/master@{#16180}
2017-01-20 10:36:49 +00:00
3e9229045e Load library dependencies in AppRTCMobile.
Older Android versions have trouble locating the library dependencies
automatically. Loading them manually resolves the issue.

BUG=webrtc:6751

Review-Url: https://codereview.webrtc.org/2635233002
Cr-Commit-Position: refs/heads/master@{#16179}
2017-01-20 09:46:50 +00:00
be850e1b1d Clear out cached codecs when calculating new codec lists.
Without this, every time WebRtcVideoEngine2 calls supported_codecs(),
the codec list grows.

BUG=webrtc:7020

Review-Url: https://codereview.webrtc.org/2639423006
Cr-Commit-Position: refs/heads/master@{#16178}
2017-01-20 09:07:26 +00:00
204030a256 Roll chromium_revision bdeae63b37..780d18a4ff (444971:445004)
Change log: bdeae63b37..780d18a4ff
Full diff: bdeae63b37..780d18a4ff

Changed dependencies:
* src/base: f6f8cd35e1..4f9b6b4f4e
* src/testing: 2787e29b16..c11b06231a
* src/third_party: 8a2ee6884d..903ea20111
* src/tools: b6ebe7691d..a23f646628
DEPS diff: bdeae63b37..780d18a4ff/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2642263003
Cr-Commit-Position: refs/heads/master@{#16177}
2017-01-20 07:59:52 +00:00
a01d2f5cf7 Roll chromium_revision 34215edf2e..bdeae63b37 (444898:444971)
Change log: 34215edf2e..bdeae63b37
Full diff: 34215edf2e..bdeae63b37

Changed dependencies:
* src/base: e7d871b6b2..f6f8cd35e1
* src/testing: cd285cd30d..2787e29b16
* src/third_party: 56f93b1301..8a2ee6884d
* src/third_party/catapult: fe2fa4bc83..49e3f62b24
* src/third_party/libFuzzer/src: e6cbbd6ba1..78ee52d0c6
* src/tools: 071d8aeee2..b6ebe7691d
DEPS diff: 34215edf2e..bdeae63b37/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2644673004
Cr-Commit-Position: refs/heads/master@{#16176}
2017-01-20 05:00:21 +00:00
888874f761 Allow GCC 4.9 to compile Chromium
In order to implicit cast an lvalue to an rvalue when returning
from a function, the return type and type of variable in the return
statement previously had to be exactly the same. When this was not
the case, std::move was required. For instance, when returning a
std::unique_ptr<Derived> variable in a function with a
std::unique_ptr<Base> return type, std::move is required.

DR 1579 changed this, and allows for implicitly converting
to the return type, if the return type has a constructor(T&&), where
T is the type of the local variable being returned. DR 1579 was
implemented in GCC 5, but not in GCC 4.9 and below. By explicitly
qualifying the local variable with std::move, we allow for compiling
with GCC 4.9 and incur no performance penalty. The code is still
absolutely correct to the word of C++11.

BUG=chromium:682965

See also:
* https://bugs.gentoo.org/show_bug.cgi?id=600288
* https://stackoverflow.com/questions/22018115/converting-stdunique-ptrderived-to-stdunique-ptrbase#comment33375875_22018521
* http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3833.html#1579

Review-Url: https://codereview.webrtc.org/2642053003
Cr-Commit-Position: refs/heads/master@{#16175}
2017-01-20 04:20:45 +00:00
8944ab3fec Roll chromium_revision 1a7fcf6220..34215edf2e (444851:444898)
Change log: 1a7fcf6220..34215edf2e
Full diff: 1a7fcf6220..34215edf2e

Changed dependencies:
* src/third_party: 29884dce7f..56f93b1301
* src/tools: b8c8920f3b..071d8aeee2
DEPS diff: 1a7fcf6220..34215edf2e/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2640323005
Cr-Commit-Position: refs/heads/master@{#16174}
2017-01-20 01:44:09 +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
9d643e87af Roll chromium_revision 113278e435..1a7fcf6220 (444801:444851)
Change log: 113278e435..1a7fcf6220
Full diff: 113278e435..1a7fcf6220

Changed dependencies:
* src/build: 4c65f6261e..00810858e7
* src/testing: 490308d809..cd285cd30d
* src/third_party: 34af144390..29884dce7f
* src/third_party/catapult: 1e05d2f840..fe2fa4bc83
* src/tools: d5a537f227..b8c8920f3b
DEPS diff: 113278e435..1a7fcf6220/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2644793005
Cr-Commit-Position: refs/heads/master@{#16172}
2017-01-19 22:36:54 +00:00
537798b7e9 Roll chromium_revision d50ce8a895..113278e435 (444743:444801)
Change log: d50ce8a895..113278e435
Full diff: d50ce8a895..113278e435

Changed dependencies:
* src/build: 70270c163a..4c65f6261e
* src/third_party: 32de94da6c..34af144390
* src/tools: 7e4f4b7490..d5a537f227
DEPS diff: d50ce8a895..113278e435/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2643093002
Cr-Commit-Position: refs/heads/master@{#16171}
2017-01-19 20:08:34 +00:00
9410b51037 GN: Add audio_conference_mixer_unittests to modules_unittests.
Was removed by accident in https://codereview.webrtc.org/2629923002/

BUG=webrtc:6954
R=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2641203002
Cr-Commit-Position: refs/heads/master@{#16170}
2017-01-19 19:57:56 +00:00
d74886350e Fix PseudoTcp to handle incoming packets with invalid SEQ field
Previously PseudoTcp::process() didn't handle the case when the peer
sends a packet that's outside of the receive window, which was causing
DCHECK failures in the fuzzer.

BUG=681849

Review-Url: https://codereview.webrtc.org/2640173002
Cr-Commit-Position: refs/heads/master@{#16169}
2017-01-19 18:53:35 +00:00
3cd896c962 Roll chromium_revision 6d8c754784..d50ce8a895 (444712:444743)
Change log: 6d8c754784..d50ce8a895
Full diff: 6d8c754784..d50ce8a895

Changed dependencies:
* src/base: f6ae365053..e7d871b6b2
* src/testing: 8d325423be..490308d809
* src/third_party: 3f43c8e8a4..32de94da6c
* src/third_party/catapult: cfcae9b972..1e05d2f840
* src/tools: d3c1c60a18..7e4f4b7490
DEPS diff: 6d8c754784..d50ce8a895/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2641993003
Cr-Commit-Position: refs/heads/master@{#16168}
2017-01-19 17:05:45 +00:00
eef94d9995 Video collected by VideoFileRenderer is first saved on the native heap, then saved to disk during release.
BUG=webrtc:6545

Review-Url: https://codereview.webrtc.org/2576283004
Cr-Commit-Position: refs/heads/master@{#16167}
2017-01-19 17:02:29 +00:00
3626865be2 GN: Refactor modules_unittests to eliminate package boundary violations.
BUG=webrtc:6954

Review-Url: https://codereview.webrtc.org/2629923002
Cr-Commit-Position: refs/heads/master@{#16166}
2017-01-19 16:27:11 +00:00
d32bf75721 Pass SdpAudioFormat through Channel, without converting to CodecInst
BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2516993002
Cr-Commit-Position: refs/heads/master@{#16165}
2017-01-19 15:03:59 +00:00
093dac142b Roll chromium_revision 0f65d3f753..6d8c754784 (444698:444712)
Change log: 0f65d3f753..6d8c754784
Full diff: 0f65d3f753..6d8c754784

Changed dependencies:
* src/third_party: efc62a6185..3f43c8e8a4
* src/tools: fb27832332..d3c1c60a18
DEPS diff: 0f65d3f753..6d8c754784/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2640253003
Cr-Commit-Position: refs/heads/master@{#16164}
2017-01-19 13:58:07 +00:00
b93598465d Revert of Move congestion controller processing to the pacer thread. (patchset #5 id:80001 of https://codereview.webrtc.org/2637783003/ )
Reason for revert:
Speculative revert for perf regression related to ramp-up on android. See https://bugs.chromium.org/p/chromium/issues/detail?id=682611

Original issue's description:
> Move congestion controller processing to the pacer thread.
>
> Also rename it from pacer_thread_ to congestion_controller_thread_.
>
> BUG=webrtc:6847
>
> Review-Url: https://codereview.webrtc.org/2637783003
> Cr-Commit-Position: refs/heads/master@{#16134}
> Committed: b3dc2b7b1e

TBR=danilchap@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6847

Review-Url: https://codereview.webrtc.org/2644603003
Cr-Commit-Position: refs/heads/master@{#16163}
2017-01-19 13:41: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
daeffb299b Roll chromium_revision be0566f991..0f65d3f753 (444668:444698)
Change log: be0566f991..0f65d3f753
Full diff: be0566f991..0f65d3f753

Changed dependencies:
* src/third_party: eef7cd16ac..efc62a6185
* src/tools: e78dd9955e..fb27832332
DEPS diff: be0566f991..0f65d3f753/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2643923003
Cr-Commit-Position: refs/heads/master@{#16161}
2017-01-19 11:31:17 +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
04926b8264 Revert of Make the new jitter buffer the default jitter buffer. (patchset #2 id:230001 of https://codereview.webrtc.org/2642753002/ )
Reason for revert:
Breaks tests downstream.

Original issue's description:
> Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2632123005/ )
>
> Reason for revert:
> Fix in this CL: https://codereview.chromium.org/2640793003/
>
> Original issue's description:
> > Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
> >
> > Reason for revert:
> > Breaks android bots.
> >
> > Original issue's description:
> > > Make the new jitter buffer the default jitter buffer.
> > >
> > > This CL contains only the changes necessary to make the switch to the new jitter
> > > buffer, clean up will be done in follow up CLs.
> > >
> > > In this CL:
> > >  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
> > >    new video jitter buffer the default one.
> > >  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
> > >    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
> > >
> > > BUG=webrtc:5514
> > >
> > > Review-Url: https://codereview.webrtc.org/2627463004
> > > Cr-Commit-Position: refs/heads/master@{#16114}
> > > Committed: 0f0763d86d
> >
> > TBR=stefan@webrtc.org,terelius@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5514
> >
> > Review-Url: https://codereview.webrtc.org/2632123005
> > Cr-Commit-Position: refs/heads/master@{#16117}
> > Committed: c08c191f7d
>
> TBR=stefan@webrtc.org,terelius@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2642753002
> Cr-Commit-Position: refs/heads/master@{#16149}
> Committed: f20dd0014d

TBR=stefan@webrtc.org,terelius@webrtc.org,philipel@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2638423003
Cr-Commit-Position: refs/heads/master@{#16159}
2017-01-19 08:06:17 +00:00
f847178285 Roll chromium_revision adc103db18..be0566f991 (444630:444668)
Change log: adc103db18..be0566f991
Full diff: adc103db18..be0566f991

Changed dependencies:
* src/testing: 7b84b7bc1a..8d325423be
* src/third_party: 481a10c5c5..eef7cd16ac
* src/tools: 59054a9a21..e78dd9955e
DEPS diff: adc103db18..be0566f991/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2637383004
Cr-Commit-Position: refs/heads/master@{#16158}
2017-01-19 07:37:22 +00:00
4b9646623e Roll chromium_revision e9762587b9..adc103db18 (444575:444630)
Change log: e9762587b9..adc103db18
Full diff: e9762587b9..adc103db18

Changed dependencies:
* src/third_party: 0126c6d522..481a10c5c5
* src/tools: e0a4cc5d89..59054a9a21
DEPS diff: e9762587b9..adc103db18/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2648463002
Cr-Commit-Position: refs/heads/master@{#16157}
2017-01-19 05:02:11 +00:00
f15825fbbe Roll chromium_revision 0bc260f9e8..e9762587b9 (444497:444575)
Change log: 0bc260f9e8..e9762587b9
Full diff: 0bc260f9e8..e9762587b9

Changed dependencies:
* src/base: 6ea72f12d1..f6ae365053
* src/build: d73dec32f1..70270c163a
* src/testing: 9a95eef3fa..7b84b7bc1a
* src/third_party: 9812bba024..0126c6d522
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/8b8d22c961..1252f8758a
* src/third_party/ffmpeg: f309edd782..28e7fbe889
* src/tools: 697f2bd382..e0a4cc5d89
DEPS diff: 0bc260f9e8..e9762587b9/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2639933004
Cr-Commit-Position: refs/heads/master@{#16156}
2017-01-19 02:05:41 +00:00
3078b551ad Reduce the log verbosity in sslstreamadapter_unittest
This CL changes some of the log statements in SSLStreamAdapter tests from Info to Verbose. The excessive verbosity might have contributed to some bot failures.

BUG=None

Review-Url: https://codereview.webrtc.org/2641623002
Cr-Commit-Position: refs/heads/master@{#16155}
2017-01-18 23:29:35 +00:00
d1c0998730 Adding OrtcFactory, and changing UdpTransport to match current plan.
The factory follows the same principles as PeerConnectionFactory;
various modules can be passed into its constructor but default
implementations are provided. Currently the only object the factory can
create is a UdpTransport (need to start somewhere).

UdpTransportChannel (renamed to UdpTransport)
will now accept a socket passed into its constructor,
relying on the factory to create the socket. This allows some
simplifications to be made, such as getting rid of "State" since the
only states are now "has destination set or doesn't".

BUG=webrtc:7013

Review-Url: https://codereview.webrtc.org/2632613002
Cr-Commit-Position: refs/heads/master@{#16154}
2017-01-18 23:16:37 +00:00
27edfbcec4 Roll chromium_revision 10fecf4ab1..0bc260f9e8 (444374:444497)
Change log: 10fecf4ab1..0bc260f9e8
Full diff: 10fecf4ab1..0bc260f9e8

Changed dependencies:
* src/base: c06a67aa56..6ea72f12d1
* src/build: c9e393c52c..d73dec32f1
* src/testing: fdb3e896fe..9a95eef3fa
* src/third_party: 9c2e43743d..9812bba024
* src/tools: 5242a0007e..697f2bd382
DEPS diff: 10fecf4ab1..0bc260f9e8/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2647553002
Cr-Commit-Position: refs/heads/master@{#16153}
2017-01-18 23:00:26 +00:00
a3c8c90f1a Roll chromium_revision d9e076c478..10fecf4ab1 (444338:444374)
Change log: d9e076c478..10fecf4ab1
Full diff: d9e076c478..10fecf4ab1

Changed dependencies:
* src/base: 12a3a619d4..c06a67aa56
* src/build: c94e6d2c61..c9e393c52c
* src/third_party: 36d6bdd230..9c2e43743d
* src/tools: f67da8f45b..5242a0007e
DEPS diff: d9e076c478..10fecf4ab1/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2643703003
Cr-Commit-Position: refs/heads/master@{#16152}
2017-01-18 17:00:59 +00:00
d99a200fad Adding some features to proxy.h, and restructuring the macros.
New features are:
- Invoke a destructor on the worker thread.
- Make proxy wrapper for a non-refcounted object.
- Ability to use unique_ptrs (as arguments or return values).

These features are needed by this CL:
https://codereview.webrtc.org/2632613002/

BUG=None

Review-Url: https://codereview.webrtc.org/2628343003
Cr-Commit-Position: refs/heads/master@{#16151}
2017-01-18 16:55:23 +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
f20dd0014d Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2632123005/ )
Reason for revert:
Fix in this CL: https://codereview.chromium.org/2640793003/

Original issue's description:
> Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
>
> Reason for revert:
> Breaks android bots.
>
> Original issue's description:
> > Make the new jitter buffer the default jitter buffer.
> >
> > This CL contains only the changes necessary to make the switch to the new jitter
> > buffer, clean up will be done in follow up CLs.
> >
> > In this CL:
> >  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
> >    new video jitter buffer the default one.
> >  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
> >    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
> >
> > BUG=webrtc:5514
> >
> > Review-Url: https://codereview.webrtc.org/2627463004
> > Cr-Commit-Position: refs/heads/master@{#16114}
> > Committed: 0f0763d86d
>
> TBR=stefan@webrtc.org,terelius@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2632123005
> Cr-Commit-Position: refs/heads/master@{#16117}
> Committed: c08c191f7d

TBR=stefan@webrtc.org,terelius@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2642753002
Cr-Commit-Position: refs/heads/master@{#16149}
2017-01-18 15:15:37 +00:00
6da303db1d Reland of Delete rtc::linked_ptr. (patchset #1 id:1 of https://codereview.webrtc.org/2579753002/ )
Only use, in statstypes.h, replaced by rtc::scoped_refptr.

Reason for revert:
Intend to switch from unique_ptr to scoped_refptr,
and then reland.

Original issue's description:
> Revert of Delete rtc::linked_ptr. Only use, in statstypes.h, replaced bu std::unique_ptr. (patchset #1 id:1 of https://codereview.webrtc.org/2581663002/ )
>
> Reason for revert:
> This change broke Chrome too. It's stats processing wants to make a copy of webrtc's stats mapping, which is no longer possible with std::unique_ptr.
>
> Original issue's description:
> > Reland of Delete rtc::linked_ptr. Only use, in statstypes.h, replaced bu std::unique_ptr. (patchset #1 id:1 of https://codereview.webrtc.org/2576673002/ )
> >
> > Reason for revert:
> > Downstream project fixed to not make copies while iterating over the stats mapping.
> >
> > Original issue's description:
> > > Revert of Delete rtc::linked_ptr. Only use, in statstypes.h, replaced bu std::unique_ptr. (patchset #1 id:1 of https://codereview.webrtc.org/2567143003/ )
> > >
> > > Reason for revert:
> > > The change from rtc::linked_ptr to std::unique_ptr broke a downstream project.
> > >
> > > Original issue's description:
> > > > Delete rtc::linked_ptr. Only use, in statstypes.h, replaced with std::unique_ptr.
> > > >
> > > > BUG=webrtc:6424
> > > >
> > > > Committed: https://crrev.com/36f74e55792cae19db8b222c29aa38d6e0eb1225
> > > > Cr-Commit-Position: refs/heads/master@{#15588}
> > >
> > > TBR=solenberg@webrtc.org,pthatcher@webrtc.org,hta@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:6424
> > >
> > > Committed: https://crrev.com/8afbc8cba65d99bb7a0feece8fb3055b144106b1
> > > Cr-Commit-Position: refs/heads/master@{#15589}
> >
> > TBR=solenberg@webrtc.org,pthatcher@webrtc.org,hta@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:6424
> >
> > Committed: https://crrev.com/06035cf53abad80b0525f286a3b81e388cc7ee00
> > Cr-Commit-Position: refs/heads/master@{#15627}
>
> TBR=solenberg@webrtc.org,pthatcher@webrtc.org,hta@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6424
>
> Committed: https://crrev.com/6a58f33450a46370039cd82537612040a91165b3
> Cr-Commit-Position: refs/heads/master@{#15629}

TBR=solenberg@webrtc.org,pthatcher@webrtc.org,hta@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2641793002
Cr-Commit-Position: refs/heads/master@{#16148}
2017-01-18 14:10:54 +00:00
1b3ce86d53 Roll chromium_revision 5e5d50d1fe..d9e076c478 (444317:444338)
Change log: 5e5d50d1fe..d9e076c478
Full diff: 5e5d50d1fe..d9e076c478

Changed dependencies:
* src/third_party: 7b19efa0d9..36d6bdd230
* src/tools: 1f610e7783..f67da8f45b
DEPS diff: 5e5d50d1fe..d9e076c478/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2640813002
Cr-Commit-Position: refs/heads/master@{#16147}
2017-01-18 13:56:01 +00:00
fcc600651d Clear the FrameBuffer in case of a backward jump in the picture id.
Even though this is against the spec we allow a stream to continue if
a backwards jump in the picture id occurs on a keyframe.

BUG=webrtc:7001, webrtc:5514

Review-Url: https://codereview.webrtc.org/2640793003
Cr-Commit-Position: refs/heads/master@{#16146}
2017-01-18 13:35:20 +00:00
44303ea0ff Revert of Add experimental simulcast screen content mode (patchset #5 id:80001 of https://codereview.webrtc.org/2636443002/ )
Reason for revert:
Breaks chromium.

Original issue's description:
> Add experimental simulcast screen content mode
>
> BUG=webrtc:4172
>
> Review-Url: https://codereview.webrtc.org/2636443002
> Cr-Commit-Position: refs/heads/master@{#16135}
> Committed: a28e971e3b

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

Review-Url: https://codereview.webrtc.org/2643763002
Cr-Commit-Position: refs/heads/master@{#16145}
2017-01-18 13:19:13 +00:00
e8abe3ef1b Revert of New method StatsObserver::OnCompleteReports, passing ownership. (patchset #2 id:20001 of https://codereview.webrtc.org/2584553002/ )
Reason for revert:
The new method doesn't work as intended.

It can't pass ownership, because the StatsReports is a vector of raw pointers to StatReport objects owned by the StatsCollector.

Original issue's description:
> New method StatsObserver::OnCompleteReports, passing ownership.
>
> The new name, OnCompleteReports rather than OnComplete, is needed
> because in C++ method lookup, overriding a method hides all otherwise
> inherited methods with the same name, even if they have a different
> signature. And here, the intention is that each subclass should
> override one or the other of the two methods, and inherit the method it
> doesn't override.
>
> This cl is a prerequisite for
> https://codereview.webrtc.org/2567143003/, because the Chrome glue
> code needs to retain the stats report after the OnComplete method has
> returned.
>
> Currently, Chrome makes a copy of the stats mapping (which breaks when
> changing ValuePtr from an rtc::linked_ptr to an std::unique_ptr). After
> this cl, Chrome can be fixed to take ownership and no longer needs to
> copy anything, unblocking cl 2567143003.
>
> BUG=webrtc:6424
>
> Review-Url: https://codereview.webrtc.org/2584553002
> Cr-Commit-Position: refs/heads/master@{#15708}
> Committed: b36ee8d498

TBR=solenberg@webrtc.org,magjed@webrtc.org,tkchin@webrtc.org,hbos@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2641783002
Cr-Commit-Position: refs/heads/master@{#16144}
2017-01-18 13:00:34 +00:00