21865 Commits

Author SHA1 Message Date
Autoroller
ca0fcc2df9 Roll chromium_revision 3472e079dc..4353507834 (546039:546154)
Change log: 3472e079dc..4353507834
Full diff: 3472e079dc..4353507834

Changed dependencies:
* src/base: 46c95f9d16..3a3a724d61
* src/build: 36eec763cc..c946114aae
* src/ios: 56f5d884b2..eac6a943de
* src/testing: 3bdd67267d..fd4f15767f
* src/third_party: 49dcaeb077..60befb06ce
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/767f070f1d..6b8f67cc14
* src/tools: a741924246..072c0517ed
DEPS diff: 3472e079dc..4353507834/DEPS

Clang version changed 327688:328575
Details: 3472e079dc..4353507834/tools/clang/scripts/update.py

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I8ac6c509305bfd186bb2b0e8cf0808cb99adbbd6
Reviewed-on: https://webrtc-review.googlesource.com/64907
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22633}
2018-03-27 18:30:25 +00:00
Julien Isorce
6d7b8359b3 Some minor cleanups in ScreenCapturerMac
- Remove unsued ScopedPixelBufferObject that was used for the
  capture using OpenGL.
- Also remove InvertedDesktopFrame for the same reason.
- Replace several occurrences of assert by RTC_DCHECK

Bug: webrtc:8652
Change-Id: I262db0a445f2211cde7476a6cadfb1c19a3e814f
Reviewed-on: https://webrtc-review.googlesource.com/64883
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#22632}
2018-03-27 17:23:45 +00:00
Sergey Silkin
122ba6c050 Handle per-layer frame drops.
Build superframe out of the nearest non-dropped base layer and current layer.

Bug: none
Change-Id: I26720ea6de44f27046208b220d03942cd2a3d6c7
Reviewed-on: https://webrtc-review.googlesource.com/64921
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22631}
2018-03-27 16:07:41 +00:00
Niels Möller
88614b0b06 Pass VideoEncoderFactory from WebrtcVideoEngine to VideoStreamEncoder.
In preparation for also moving the responsibility for encoder creation.

Bug: webrtc:8830
Change-Id: Ic3d2039a86cd31c1b4157f5df4e97b607c81f1d7
Reviewed-on: https://webrtc-review.googlesource.com/55264
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22630}
2018-03-27 15:52:01 +00:00
Magnus Jedvert
ff4cac9c48 Android audio device template: Don't use output parameters
Our style guide dictates that we should prefer using return values rather
than output parameters when we can. Some of the methods like
MaxSpeakerVolume() are not required to be able to provide a value. In
these cases I changed the return type to an rtc::Optional.

Also, this CL fixes a bug with StereoRecordingIsAvailable() that would
not previously be passed along correctly in the template layer.

Bug: webrtc:7452
Change-Id: I0a1f455093bfe092627118d65a996212a65eeb2b
Reviewed-on: https://webrtc-review.googlesource.com/64401
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22629}
2018-03-27 14:16:20 +00:00
Alex Loiko
2bac896d5e Adaptive Digital gain control structure.
This CL defines the control flow of the adaptive AGC. It also defines
method and class stubs.

Contents:
1. Divide the 'agc2' build target into 'fixed_digital' and
'adaptive_digital'.
1. Update the dependencies of everything that depended on 'agc2'.
2. Define the sub-modules of the adaptive digital AGC 2. They are:
   1. Level Estimator - it gets the energy and a speech probability
      and updates a speech level estimate.
   2. Noise Estimator - it gets an immutable view of the speech frame
      and updates the noise level estimate
   3. Gain applier - it gets the speech frame, the current speech and
      noise estimates, and the speech probability. It finds a gain to
      apply and applies it.
   4. AdaptiveAgc - sets up and controls the sub-modules described
      above.

Bug: webrtc:7494
Change-Id: Ib7ccd8924e94eead0bc5f935b5d8a12e06e24fd1
Reviewed-on: https://webrtc-review.googlesource.com/64440
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22628}
2018-03-27 14:12:50 +00:00
philipel
79aab3ff51 VideoStreamDecoderImpl implementation, part 2.
In this CL the GetDecoder support function is implemented. It will
be called from the (not yet existing) Decode function whenever a
frame is about to be decoded in order to get the correct decoder for
the current frame.

Bug: webrtc:8909
Change-Id: I35e40c108fb652d566b1a5fdff60a703f5615406
Reviewed-on: https://webrtc-review.googlesource.com/64448
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22627}
2018-03-27 13:39:50 +00:00
Niels Möller
ef99888bca Delete OnIncomingCSRCChanged and related code.
Bug: webrtc:8995
Change-Id: I1987d1527cce5a0c315b2d15cfffa76e7343b1fa
Reviewed-on: https://webrtc-review.googlesource.com/64220
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22626}
2018-03-27 13:18:35 +00:00
Niels Möller
150dcb0a9a Delete logic to set picture id and tl0 pic idx in encoders.
It would be nice to also delete the fields from CodecSpecificInfo,
but those fields are used on the receive side.

Bug: webrtc:8830
Change-Id: I1a3f13ea2c024cbd73b33fd9dd58e531d3576a55
Reviewed-on: https://webrtc-review.googlesource.com/64780
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22625}
2018-03-27 13:11:16 +00:00
Artem Titov
d45e078e89 Initialize variables to prevent usage of trash values, for exmaple, if NeedMorePlayData won't set the right value
Bug: webrtc:8946
Change-Id: I4eddcbdb5edfe004019356b9da7fff08ed2cbcdf
Reviewed-on: https://webrtc-review.googlesource.com/64882
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22624}
2018-03-27 11:56:53 +00:00
Ying Wang
959a1b93c7 Disable FieldTrials/CallOperationEndToEndTest.ObserversEncodedFrames due to flakiness.
Bug: webrtc:9060
Change-Id: Idbc13c6d44970e3a05653e9fd2a2415c3a7d8579
Reviewed-on: https://webrtc-review.googlesource.com/64821
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22623}
2018-03-27 11:16:43 +00:00
Sebastian Jansson
6c95bdc5ab Adding network control test helper.
Adding a simple network simulator and a mock network control observer.
This prepares for upcoming CLs adding unit tests network controllers.

Bug: webrtc:8415
Change-Id: I5e8414576776fb8ae897bec73a1b062c8dd3e393
Reviewed-on: https://webrtc-review.googlesource.com/61507
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22622}
2018-03-27 10:23:23 +00:00
Sergey Silkin
ca091254fd Fixing the change in number of temporal layers in screen sharing mode.
Number of temporal layers in screen sharing was unintentionally changed
from 3 to 2 in a796a7ee85b8805a92e21f888a893bef1581bfee.

This changes the value to 3.

Bug: webrtc:9013
Change-Id: I68291b49276afd2689f20d1c3581e149aa6fd610
Reviewed-on: https://webrtc-review.googlesource.com/61860
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22621}
2018-03-27 09:00:53 +00:00
Julien Isorce
370228c312 Move ScreenCapturerMac to mac sub directory
1- git mv screen_capturer_mac.mm  mac/screen_capturer_mac.mm
2- extract class ScreenCapturerMac declaritions to its own header
3- extract static CreateRawScreenCapturer to screen_capturer_darwin.mm
   (Using 'darwin' instead of 'mac' allows to make happy the command
   git log --follow mac/screen_capturer_mac.mm)
4- git cl format

Bug: webrtc:8652
Change-Id: Ibb13bd5dec61aa9b92c9f5f30fedd0508a727dd9
Reviewed-on: https://webrtc-review.googlesource.com/64680
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#22620}
2018-03-27 08:48:53 +00:00
Jonas Oreland
16ccef7f11 Allow implementation defined STUN attributes in 0x4000-0x7FFF range
This patch modifies StunMessage to allow adding of attributes
in the 0x4000-0x7FFF range without adding them to stun.cc.

Before this patch this was allowed in the 0xC000-0xFFFF range
but the RFC specifies that both of these ranges are implementation
defined.

BUG=webrtc:8313

Change-Id: Ib74f5d02a06807aeca4fc3f1f3028271e233f004
Reviewed-on: https://webrtc-review.googlesource.com/64404
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22619}
2018-03-27 08:26:31 +00:00
Niels Möller
be682d47ac Fix chromium warnings for SdpVideoFormat.
Bug: webrtc:163
Change-Id: I29ad3c00116692f047456df7721ba636bbb2ca89
Reviewed-on: https://webrtc-review.googlesource.com/64723
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22618}
2018-03-27 08:11:21 +00:00
Autoroller
27153ba7c5 Roll chromium_revision ac8224087d..3472e079dc (545875:546039)
Change log: ac8224087d..3472e079dc
Full diff: ac8224087d..3472e079dc

Changed dependencies:
* src/base: 299a9959a9..46c95f9d16
* src/build: 85d929174a..36eec763cc
* src/ios: 4d8774a756..56f5d884b2
* src/testing: 02c47be4da..3bdd67267d
* src/third_party: ba74ca5773..49dcaeb077
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/bffbf166f0..767f070f1d
* src/third_party/depot_tools: dbbf350a34..ee04b9a2f4
* src/tools: 41f37c18dd..a741924246
DEPS diff: ac8224087d..3472e079dc/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: Iff4ab50b446d57ea13140ce26a7b85dde06de39d
Reviewed-on: https://webrtc-review.googlesource.com/64856
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22617}
2018-03-27 07:15:30 +00:00
Noah Richards
7149136e72 Lowercase windows includes in win audio device.
Also include rtc_base/win32.h, as windows.h needs to be included before
any other header.

Bug: None
Change-Id: Ib2189f9aaadcf618264677fb65c041b5e85682c3
Reviewed-on: https://webrtc-review.googlesource.com/64846
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22616}
2018-03-27 05:00:40 +00:00
Zhi Huang
27f3bf5128 Reland "Replace BundleFilter with RtpDemuxer in RtpTransport."
This reverts commit 97d5e5b32c77bf550f1d788454f2db10ac9fbb1c.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Replace BundleFilter with RtpDemuxer in RtpTransport."
> 
> This reverts commit ea8b62a3e74fe91cd6bf66304839cd5677880a4e.
> 
> Reason for revert: Broke chromium tests.
> Original change's description:
> > Replace BundleFilter with RtpDemuxer in RtpTransport.
> > 
> > BundleFilter is replaced by RtpDemuxer in RtpTransport for payload
> > type-based demuxing. RtpTransport will support MID-based demuxing later.
> > 
> > Each BaseChannel has its own RTP demuxing criteria and when connecting
> > to the RtpTransport, BaseChannel will register itself as a demuxer sink.
> > 
> > The inheritance model is changed. New inheritance chain:
> > DtlsSrtpTransport->SrtpTransport->RtpTranpsort
> > 
> > NOTE:
> > When RTCP packets are received, Call::DeliverRtcp will be called for
> > multiple times (webrtc:9035) which is an existing issue. With this CL,
> > it will become more of a problem and should be fixed.
> > 
> > Bug: webrtc:8587
> > Change-Id: I1d8a00443bd4bcbacc56e5e19b7294205cdc38f0
> > Reviewed-on: https://webrtc-review.googlesource.com/61360
> > Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22613}
> 
> TBR=steveanton@webrtc.org,deadbeef@webrtc.org,zhihuang@webrtc.org
> 
> Change-Id: If245da9d1ce970ac8dab7f45015e9b268a5dbcbd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8587
> Reviewed-on: https://webrtc-review.googlesource.com/64860
> Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
> Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22614}

TBR=steveanton@webrtc.org,deadbeef@webrtc.org,zhihuang@webrtc.org

Change-Id: I3c272588ab4388ecadc4edc6786d5195c701855f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8587
Reviewed-on: https://webrtc-review.googlesource.com/64862
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22615}
2018-03-27 04:39:12 +00:00
Zhi Huang
97d5e5b32c Revert "Replace BundleFilter with RtpDemuxer in RtpTransport."
This reverts commit ea8b62a3e74fe91cd6bf66304839cd5677880a4e.

Reason for revert: Broke chromium tests.
Original change's description:
> Replace BundleFilter with RtpDemuxer in RtpTransport.
> 
> BundleFilter is replaced by RtpDemuxer in RtpTransport for payload
> type-based demuxing. RtpTransport will support MID-based demuxing later.
> 
> Each BaseChannel has its own RTP demuxing criteria and when connecting
> to the RtpTransport, BaseChannel will register itself as a demuxer sink.
> 
> The inheritance model is changed. New inheritance chain:
> DtlsSrtpTransport->SrtpTransport->RtpTranpsort
> 
> NOTE:
> When RTCP packets are received, Call::DeliverRtcp will be called for
> multiple times (webrtc:9035) which is an existing issue. With this CL,
> it will become more of a problem and should be fixed.
> 
> Bug: webrtc:8587
> Change-Id: I1d8a00443bd4bcbacc56e5e19b7294205cdc38f0
> Reviewed-on: https://webrtc-review.googlesource.com/61360
> Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22613}

TBR=steveanton@webrtc.org,deadbeef@webrtc.org,zhihuang@webrtc.org

Change-Id: If245da9d1ce970ac8dab7f45015e9b268a5dbcbd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8587
Reviewed-on: https://webrtc-review.googlesource.com/64860
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22614}
2018-03-27 00:09:12 +00:00
Zhi Huang
ea8b62a3e7 Replace BundleFilter with RtpDemuxer in RtpTransport.
BundleFilter is replaced by RtpDemuxer in RtpTransport for payload
type-based demuxing. RtpTransport will support MID-based demuxing later.

Each BaseChannel has its own RTP demuxing criteria and when connecting
to the RtpTransport, BaseChannel will register itself as a demuxer sink.

The inheritance model is changed. New inheritance chain:
DtlsSrtpTransport->SrtpTransport->RtpTranpsort

NOTE:
When RTCP packets are received, Call::DeliverRtcp will be called for
multiple times (webrtc:9035) which is an existing issue. With this CL,
it will become more of a problem and should be fixed.

Bug: webrtc:8587
Change-Id: I1d8a00443bd4bcbacc56e5e19b7294205cdc38f0
Reviewed-on: https://webrtc-review.googlesource.com/61360
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22613}
2018-03-26 22:40:05 +00:00
Autoroller
cf76d1c845 Roll chromium_revision bac605dc3e..ac8224087d (545770:545875)
Change log: bac605dc3e..ac8224087d
Full diff: bac605dc3e..ac8224087d

Changed dependencies:
* src/base: 079f06e06d..299a9959a9
* src/build: 3f91e89a37..85d929174a
* src/ios: 1d9495ac1f..4d8774a756
* src/testing: 03a5151683..02c47be4da
* src/third_party: 3a71a2c62f..ba74ca5773
* src/tools: 1c707bb81f..41f37c18dd
DEPS diff: bac605dc3e..ac8224087d/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I74877ff8ae433471a79b3389c81667a4ddcbb765
Reviewed-on: https://webrtc-review.googlesource.com/64845
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22612}
2018-03-26 22:39:00 +00:00
Seth Hampson
1550292efe Adds support for multiple or no media stream ids.
With Unified Plan SDP semantics, this adds support for specifying
either no media stream ids or multiple media stream ids for a
transceiver/sender/receiver. This includes serializing/deserializing
SDPs with multiple a=msid lines in a m section, or an "a=msid:-
<appdata>" line to indicate the no stream case. Note that this does
not synchronize between multiple streams, this is still just supported
based upon the first media stream id.

Bug: webrtc:7932, webrtc:7933
Change-Id: Ib7433929af7b2925abe2824b485b360cec12f275
Reviewed-on: https://webrtc-review.googlesource.com/61341
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22611}
2018-03-26 21:21:50 +00:00
Steve Anton
bb50ce5bb6 Wire up MID send value to the PeerConnection API
Bug: webrtc:4050
Change-Id: I522cf8621e2cb639f54be2402174befd23e4af59
Reviewed-on: https://webrtc-review.googlesource.com/60962
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22610}
2018-03-26 18:14:30 +00:00
Paulina Hensman
17071682f7 Add setting to switch between new and legacy AudioDeviceModule in AppRTC
To facilitate testing both the old and new AudioDeviceModule path, a
setting is added to AppRTC. Enable "Use legacy audio device" to use
the old path.

Bug: webrtc:7452
Change-Id: I221378ac7bb0fa4e543c3fd081c7a322621621a0
Reviewed-on: https://webrtc-review.googlesource.com/64760
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22609}
2018-03-26 14:57:00 +00:00
John Budorick
6c9a786c60 Add //base dependency to rtc_base:rtc_event when building with chromium.
Should fix flakes of the form:

In file included from ../../third_party/webrtc/rtc_base/platform_thread.cc:11:
In file included from ../../third_party/webrtc\rtc_base/platform_thread.h:17:
In file included from ../../third_party/webrtc_overrides\rtc_base/event.h:9:
In file included from ../..\base/synchronization/waitable_event.h:15:
In file included from ../..\base/win/scoped_handle.h:12:
../..\base/location.h(14,10):  fatal error: 'base/debug/debugging_buildflags.h' file not found
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Bug: chromium:799759
Change-Id: I24a329e944c3ec8324057d882f96648c10198022
Reviewed-on: https://webrtc-review.googlesource.com/64388
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22608}
2018-03-26 14:55:50 +00:00
Niels Möller
e08a4c01b9 Delete dead code in RtpReceiverImpl and RTPPayloadRegistry.
Bug: webrtc:8995
Change-Id: I5460c699c2dc6cf17b2f88be74698b913d4c29b8
Reviewed-on: https://webrtc-review.googlesource.com/64447
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22607}
2018-03-26 14:36:20 +00:00
Alex Loiko
250155d0db Fix histogram logging in InterpolatedGainCurve.
We had the following pattern:

if (case_A) metric = METRIC_A;
if (case_B) metric = METRIC_B;
RTC_HISTOGRAM_COUNTS_10000(metric, value);

That's wrong, because once the logging macro runs once, it will use
the same histogram no matter what the first argument is. The macro
expands into roughly

static Histogram* histogram_ptr = nullptr;
if (histogram_ptr == nullptr) {
  // Look up the histogram and put in histogram_ptr
}
// Add data through the histogram pointer.

We change the logging to use macros with string literals. We add a
macro for every of the 4 possible invocations. The macros will expand
to one static pointer each.

Bug: webrtc:8925
Change-Id: Ic7e4a6299eff31dd5988047edfcedce7d369e5ce
Reviewed-on: https://webrtc-review.googlesource.com/64724
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22606}
2018-03-26 14:17:00 +00:00
Autoroller
1b3bd0bebd Roll chromium_revision 723d8fc2ac..bac605dc3e (545111:545770)
Change log: 723d8fc2ac..bac605dc3e
Full diff: 723d8fc2ac..bac605dc3e

Changed dependencies:
* src/base: e3ea1b7f98..079f06e06d
* src/build: 74c3e06390..3f91e89a37
* src/ios: 1a44f53d96..1d9495ac1f
* src/testing: 6106e62a42..03a5151683
* src/third_party: 449f2223f2..3a71a2c62f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/734f737c6b..bffbf166f0
* src/third_party/depot_tools: 869a2857a4..dbbf350a34
* src/third_party/libvpx/source/libvpx: 7b5a57449b..1f82e06122
* src/third_party/usrsctp/usrsctplib: 0e076261b8..159d060dce
* src/tools: 5457ab7034..1c707bb81f
DEPS diff: 723d8fc2ac..bac605dc3e/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,marpan@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Change-Id: I9a237c4a3baba1dcf723983743a76ad2821d051d
Reviewed-on: https://webrtc-review.googlesource.com/64701
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22605}
2018-03-26 14:14:30 +00:00
Sebastian Jansson
947120f969 Fix of race on access to send side congestion controller.
Modifies RtpTransportControllerSend to store a raw pointer to send side
congestion controller(SSCC). This avoids a race between destruction of
the send_side_cc_ unique pointer and calling AvailableBandwidth on
the SSCC instance from the OnNetworkChanged callback.

Bug: None
Change-Id: I11f414d7db48ab0b29a049b9488b073c1551113d
Reviewed-on: https://webrtc-review.googlesource.com/64640
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22604}
2018-03-26 13:48:10 +00:00
Tommi
5f22365dd7 Remove unnecessary proxy+lock code around RtcpRttStats pointer
Change-Id: I9c7fdc695be1e424488fa46962d459c66cf4d1e7
Bug: webrtc:9068
Reviewed-on: https://webrtc-review.googlesource.com/64721
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22603}
2018-03-26 12:49:00 +00:00
Henrik Boström
1df1bf8551 PeerConnectionInterface::GetStats() with selector argument added.
This exposes the stats selection algorithm[1] on the PeerConnection.

Per-spec, there are four flavors of getStats():
1. RTCPeerConnection.getStats().
2. RTCPeerConnection.getStats(MediaStreamTrack selector).
3. RTCRtpSender.getStats().
4. RTCRtpReceiver.getStats().

1) is the parameterless getStats() which is already shipped.
2) is the same as 3) and 4) except the track is used to look up the
corresponding sender/receiver to use as the selector.
3) and 4) perform stats collection with a filter, which is implemented
in RTCStatsCollector.GetStatsReport(selector).

For technical reasons, it is easier to place GetStats() on the
PeerConnection where the RTCStatsCollector lives than to place it on the
sender/receiver. Passing the selector as an argument or as a "this"
makes little difference other than style. Wiring Chrome up such that the
JavaScript APIs is like the spec is trivial after GetStats() is added to
PeerConnectionInterface.

This CL also adds comments documenting our intent to deprecate and
remove the legacy GetStats() APIs some time in the future.

[1] https://w3c.github.io/webrtc-pc/#dfn-stats-selection-algorithm

Bug: chromium:680172
Change-Id: I09316ba6f20b25d4f9c11785d0a1a1262d6062a1
Reviewed-on: https://webrtc-review.googlesource.com/62900
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22602}
2018-03-26 12:08:20 +00:00
Mirko Bonadei
0191441f39 Lowercase Windows headers.
Bug: None
Change-Id: I5a53cc74fd0f0da0b9f71929b9481f8ff651e835
Reviewed-on: https://webrtc-review.googlesource.com/64449
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22601}
2018-03-26 11:38:10 +00:00
Rasmus Brandt
6e09160552 Loosen |max_avg_buffer_level_sec| for SimulcastVP8.
Have not figured out why this metric regressed, but submitting
this CL now to unblock Chromium roll into WebRTC.

Bug: webrtc:9057
Change-Id: I808ad194e1c9107d644a25502a55a7c6fddca7aa
Reviewed-on: https://webrtc-review.googlesource.com/64527
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22600}
2018-03-26 11:14:11 +00:00
Oleh Prypin
bfa6b7253e Reland "Add linux_internal_compile_lite trybot to CQ"
This is a reland of b746c3c62e447d8bf0c8662c2ba2ad36d86d88ec
with corrected bucket name

Original change's description:
> Add linux_internal_compile_lite trybot to CQ
>
> No-Try: True
> Bug: chromium:775858, chromium:824706
> Change-Id: I235068906384f46c8072a4f7869d8dc2a0cb0c68
> Reviewed-on: https://webrtc-review.googlesource.com/64200
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22597}

No-Try: True
Bug: chromium:775858, chromium:824706
Change-Id: I8d9e056b8fd55f8518b36c91b9e524be049eb29a
Reviewed-on: https://webrtc-review.googlesource.com/64661
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22599}
2018-03-26 10:12:59 +00:00
Oleh Prypin
28f2dcd5c3 Revert "Add linux_internal_compile_lite trybot to CQ"
This reverts commit b746c3c62e447d8bf0c8662c2ba2ad36d86d88ec.

Reason for revert: Fails: "builder either lacks capacity or does not exist"

Original change's description:
> Add linux_internal_compile_lite trybot to CQ
> 
> No-Try: True
> Bug: chromium:775858, chromium:824706
> Change-Id: I235068906384f46c8072a4f7869d8dc2a0cb0c68
> Reviewed-on: https://webrtc-review.googlesource.com/64200
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22597}

TBR=phoglund@webrtc.org,oprypin@webrtc.org,tandrii@chromium.org

Change-Id: Ieb32c4d255f3ecd944e6b456ad82cb7bb42cf6c1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:775858, chromium:824706
Reviewed-on: https://webrtc-review.googlesource.com/64660
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22598}
2018-03-26 09:59:40 +00:00
Oleh Prypin
b746c3c62e Add linux_internal_compile_lite trybot to CQ
No-Try: True
Bug: chromium:775858, chromium:824706
Change-Id: I235068906384f46c8072a4f7869d8dc2a0cb0c68
Reviewed-on: https://webrtc-review.googlesource.com/64200
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22597}
2018-03-26 09:54:19 +00:00
Rasmus Brandt
dc4737bbda Disable FieldTrials/CallOperationEndToEndTest.TransmitsFirstFrame/2 due to flakiness.
TBR=srte@webrtc.org

Bug: webrtc:9060
Change-Id: I78e552dc066e628acf6ebea982f33e4e68e562e6
Reviewed-on: https://webrtc-review.googlesource.com/64443
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22596}
2018-03-26 09:13:59 +00:00
Niels Möller
04dd176862 Reland "Move rtp-specific config out of EncoderSettings."
This is a reland of bc900cb1d1810fcf678fe41cf1e3966daa39c88c

Original change's description:
> Move rtp-specific config out of EncoderSettings.
> 
> In VideoSendStream::Config, move payload_name and payload_type from
> EncoderSettings to Rtp.
> 
> EncoderSettings now contains configuration for VideoStreamEncoder only,
> and should perhaps be renamed in a follow up cl. It's no longer
> passed as an argument to VideoCodecInitializer::SetupCodec.
> 
> The latter then needs a different way to know the codec type,
> which is provided by a new codec_type member in VideoEncoderConfig.
> 
> Bug: webrtc:8830
> Change-Id: Ifcc691aef1ee6a95e43c0452c5e630d92a511cd6
> Reviewed-on: https://webrtc-review.googlesource.com/62062
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22532}

Bug: webrtc:8830
Change-Id: If88ef7d57cdaa4fae3c7b2a97ea5a6e1b833e019
Reviewed-on: https://webrtc-review.googlesource.com/63721
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22595}
2018-03-26 08:39:39 +00:00
Tommi
81de14ffd4 Reduce implementations of CallStatsObserver by 2.
Both of these implementations are added as observers by
VideoReceiveStream, which is also an observer.

Instead, VideoReceiveStream now forward the necessary information
when the stats are updated as is already done for |frame_buffer_|.

Fewer observers registered, simplifies the code a little bit,
reduces synchronization when registering/unregistering observers
and reduces the set of existing implementations.

(I'm changing call_stats.* a little bit, so this is a by-the-way change)

Bug: none
Change-Id: I2d40b80a60e5ca632293c5118ac3b1a35d48ea40
Reviewed-on: https://webrtc-review.googlesource.com/64524
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22594}
2018-03-26 08:37:49 +00:00
Tommi
6b28e20257 Remove unused 'last_rtt_ms_' variable from vcm::VideoStreamDecoder.
The effect of this is one less lock being grabbed when updating rtt stats.

(Using NoTry=True since the mac_asan and mac_rel bots are acting up)

Bug: None
Change-Id: I7dac4031573aa54550068a7039e5c2d3054cb50b
NoTry: true
Reviewed-on: https://webrtc-review.googlesource.com/64522
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22593}
2018-03-25 20:08:58 +00:00
Sebastian Jansson
b0ba558c96 Adding WindowedFilter class for BBR.
This is part of a series of CLs adding a network controller based on
the BBR congestion control method. The code is based on the QUIC BBR
implementation in Chromium.

Bug: webrtc:8415
Change-Id: I4478e8d5e2abd361b0d22de00ebe04bde9ef18f6
Reviewed-on: https://webrtc-review.googlesource.com/63681
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22592}
2018-03-25 15:20:28 +00:00
Sebastian Jansson
0bf0c3d7aa Fix of ReceiveTimeCalculator field trial parsing.
Replacing "/" with "," as separator. "/" is not allowed as a character
in field trial strings.

Bug: webrtc:9054
Change-Id: I505da51096e3b8b357febfb9642471e3327e98e4
Reviewed-on: https://webrtc-review.googlesource.com/64444
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22591}
2018-03-24 12:36:17 +00:00
Magnus Jedvert
61fce40f7a Android: Fix compilation of moved aaudio
Setting rtc_enable_android_aaudio currently leads to build problems.
This CL fixes that.

Bug: webrtc:7452
Change-Id: I6460a97fbff795b8df5ef8a585c2880fc7d4331b
Reviewed-on: https://webrtc-review.googlesource.com/64402
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22590}
2018-03-24 11:57:47 +00:00
Sebastian Jansson
883f470d60 Adding DataTransferTracker class for BBR.
This class is completely new and tracks data transfer in a slightly
different way compared to the BBR implementation in QUIC. The
fundamental change is that receive time is used rather than packet
index to identify the packets over which data rates should be
calculated.

This is part of a series of CLs adding a network controller based on
the BBR congestion control method. The code is based on the QUIC BBR
implementation in Chromium.

Bug: webrtc:8415
Change-Id: I9d1f12634073ac89c4d542f965e3677a89a1526c
Reviewed-on: https://webrtc-review.googlesource.com/63680
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22589}
2018-03-24 11:45:38 +00:00
Qingsi Wang
2bd41f9e0e Fix a bug caused by an early return when a TURN port receives a role
conflict.


A role conflict received from an unknown address (peer reflexive
candidate) results in an early return before signaling the unknown
address to P2PTransportChannel. Without this signal, there is no
candidate pair or TURN entry created, and sending the error response
when handling the role conflict fails.

Bug: webrtc:9034
Change-Id: I0f1b232a574449e98025618d93aac8a91b30e14b
Reviewed-on: https://webrtc-review.googlesource.com/63840
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22588}
2018-03-23 22:42:15 +00:00
Karl Wiberg
2b85792b01 Move rw_lock_wrapper.h to rtc_base/synchronization/
This moves it from an API directory (system_wrappers/include/) to a
non-API directory, which is exactly what we want for utilities like
this.

BUG=webrtc:8445
NOPRESUBMIT=true

Change-Id: Ie2879aca5fc1667e4222499d2a8fc2bba9ae2425
Reviewed-on: https://webrtc-review.googlesource.com/21328
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22587}
2018-03-23 19:47:08 +00:00
Taylor Brandstetter
5e55fe845e Adding flag to enable/disable use of SRTP_AES128_CM_SHA1_32 crypto suite.
This flag (added to CryptoOptions) will allow applications to opt-in to
use of this suite, before it's disabled by default later. See bug for
more details.

TBR=magjed@webrtc.org

Bug: webrtc:7670
Change-Id: I800bedd4b26d807b6b7ac66b505d419c3323e454
Reviewed-on: https://webrtc-review.googlesource.com/64390
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22586}
2018-03-23 19:26:55 +00:00
Ivo Creusen
767a2ced73 Fix for crash when reading from audio file in NetEq.
The neteq_rtpplay tool can crash when the replacement audio file is too short. The desired behavior is that the audio file is looped as much as necessary.

Bug: webrtc:9061
Change-Id: Iefba4c47271584845662a415598bf2197dba0fae
Reviewed-on: https://webrtc-review.googlesource.com/64460
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22585}
2018-03-23 18:29:05 +00:00
Niels Möller
bc01047ece Simplify RtpVideoStreamReceiver::NotifyReceiverOfFecPacket.
This also has the benefit of deleting one unneeded call to
RTPPayloadRegistry::last_received_media_payload_type.

To make this work, also extend NackModule with a OnReceivedPacket
method taking only the sequence number and the is_keyframe flag,
rather than a complete VCMPacket.

Bug: webrtc:8995
Change-Id: Ice379581166e7b1609ec719e944a5a543d69acc1
Reviewed-on: https://webrtc-review.googlesource.com/64120
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22584}
2018-03-23 14:34:48 +00:00