22107 Commits

Author SHA1 Message Date
Magnus Jedvert
28111d7fa0 Android: Generalize and make TextureBufferImpl public
This CL generalizes TextureBufferImpl so it's useful from other contexts than
from a SurfaceTextureHelper, and fixes a bug in cropAndScale(). It also exposes
the class in the api so that clients don't have to duplicate the logic.

Bug: None
Change-Id: Ib82aa8bee025ec14de74a7be9d91fd4e5298a248
Reviewed-on: https://webrtc-review.googlesource.com/69819
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22875}
2018-04-16 12:16:48 +00:00
Sebastian Jansson
e31be15d47 Moves data rate related operations to data_rate.h
This reduces the number of files.

Bug: None
Change-Id: Ia32b7b7cc3260fbecc2b9a3c75723dd4a76c6d5b
Reviewed-on: https://webrtc-review.googlesource.com/69816
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22874}
2018-04-16 11:24:08 +00:00
Alessio Bazzica
c054e78f4e Send runtime settings to the Audio Processing Module (APM)
This CL includes the following changes:
- APM runtime setting (ID + float payload) and unit tests
- Swap queue of APM runtime settings used in AudioProcessingImpl
- runtime settings handler that forwards the settings to APM
  sub-modules when a message is retrieved from the queue
- Unit test placeholder to check that the pre-gain update message
  is correctly delivered

Bug: webrtc:9138
Change-Id: Id22704af15fde2b87a4431f5ce64ad1aeafc5280
Reviewed-on: https://webrtc-review.googlesource.com/69320
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22873}
2018-04-16 11:11:27 +00:00
Anders Carlsson
5b07c24056 iOS H264 encoder: Make initial compression session respect pixel format.
Bug: webrtc:9150
Change-Id: Ib331391f585c3d94190bb67c38e2d59b22834b25
Reviewed-on: https://webrtc-review.googlesource.com/69812
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22872}
2018-04-16 10:03:48 +00:00
Mirta Dvornicic
b1f063db32 Handle Receiver Reference Time Report from multiple receivers.
Bug: webrtc:9122
Change-Id: I996f02da26b11a4829fda740fdd452470daf4d24
Reviewed-on: https://webrtc-review.googlesource.com/66781
Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22871}
2018-04-16 09:54:07 +00:00
Autoroller
68edac7d30 Roll chromium_revision 795195df20..9b98a25a5d (550567:550943)
Change log: 795195df20..9b98a25a5d
Full diff: 795195df20..9b98a25a5d

Changed dependencies:
* src/base: b08dfd6649..544c2fc0f3
* src/build: 77266570f1..7fbdf02825
* src/ios: 5ff9eae85d..0b20395322
* src/testing: e89e74a690..b572dd4a5a
* src/third_party: 2f34734f36..b8516a9297
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/67d01a2107..ac39bc3791
* src/third_party/depot_tools: 53a115e67e..adc953f927
* src/tools: 5392ce1a3c..216ecf02f0
DEPS diff: 795195df20..9b98a25a5d/DEPS

Clang version changed 328716:329921
Details: 795195df20..9b98a25a5d/tools/clang/scripts/update.py

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

Change-Id: Ic535f39280c587155d0009b9eefe53ebd71bc813
Reviewed-on: https://webrtc-review.googlesource.com/70132
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@google.com>
Cr-Commit-Position: refs/heads/master@{#22870}
2018-04-16 09:05:38 +00:00
Sergey Silkin
bc20fe1221 Rename spatial/temporal index variables and fields in videoprocessor.
This fixes inconsistency in names of variables and fields which
represent spatial/temporal index of layer:
simulcast_svc_idx -> spatial_idx
spatial_layer_idx -> spatial_idx
temporal_layer_idx -> temporal_idx

Also, this adds printing of spatial/temporal index and target bitrate
to RD report.

Bug: none
Change-Id: Ic4dfdadc57a1577bb3d35d1782a152a9dbef0280
Reviewed-on: https://webrtc-review.googlesource.com/69981
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22869}
2018-04-16 08:09:27 +00:00
Mirko Bonadei
eb99d84341 Updating WATCHLISTS.
This file was still reflecting the old structure of the repository.
This CL updates all the paths and removes configs to track deleted
directories.

Bug: webrtc:9152
Change-Id: Iaed184d9e7100361676015d7c6ddbd04439e0a45
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/69818
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@google.com>
Cr-Commit-Position: refs/heads/master@{#22868}
2018-04-16 07:19:17 +00:00
Zhi Huang
365381fdf1 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

The JsepTransport2 is renamed to JsepTransport.

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: Ibd880e7b744bd912336a691309950bc18e42cf62
Reviewed-on: https://webrtc-review.googlesource.com/65786
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22867}
2018-04-14 00:57:11 +00:00
braveyao
c6416fbe16 [desktopCapture] add some logs into trace event
While investigating some screen-capture-track-end-in-meeting issues, the
relevant rtc error logs are not uploaded to server as other webrtc
modules do, which cause great hardness to identify the reason.
This cl is to use existing trace event methods to store error logs of
desktop capturers.

Bug: chromium:831756
Change-Id: Id0c1b439f9b63916fb9417cf4e6f2b8f3c556fcd
Reviewed-on: https://webrtc-review.googlesource.com/69783
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22866}
2018-04-13 21:15:59 +00:00
Steve Anton
c4384ea138 Remove PORTALLOCATOR_ENABLE_SHARED_UFRAG
This flag is unused.

Bug: None
Change-Id: I1ad52feca1db8e669f4e7c7c5b45a4cb245c1c55
Reviewed-on: https://webrtc-review.googlesource.com/69780
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22865}
2018-04-13 19:16:48 +00:00
Steve Anton
3acffc3b16 Remove SdpSemantics::kDefault
This adds confusion to the native API and is only needed for
Chromium UMA metrics, so the appropriate metrics have been moved
upstream and kDefault option removed.

Bug: chromium:811683
Change-Id: I666d7f7793765b8d6edcd99416c8b6c957766f00
Reviewed-on: https://webrtc-review.googlesource.com/59261
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22864}
2018-04-13 17:03:08 +00:00
Henrik Boström
5d8f8fa0b6 Revert "Adding test for adding ICE candidate before applying answer."
This reverts commit dd59d7049158a25f97ab1c7d381bfb4f8ed127c7.

Reason for revert: Speculatively reverting this due to chromium test.

The AutoRoller has been turned off for a couple of days due to the M67 branch cut. Did this cause a regression that made it into M67 or are the tests broken?

Failed roll:
https://chromium-review.googlesource.com/c/chromium/src/+/1011676
Example run:
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/mac_chromium_rel_ng/24406
Expected diff:
https://isolateserver.appspot.com/browse?namespace=default-gzip&digest=77d652517595443eea13f6ba9aaff67728305213&as=RTCPeerConnection-addIceCandidate-diff.txt

Original change's description:
> Adding test for adding ICE candidate before applying answer.
> 
> This was working before, but somewhat by accident (because an error
> wasn't being surfaced).
> 
> This CL also starts surfacing that error, from
> JsepTransportController::AddRemoteCandidates to PeerConnection.
> 
> Bug: None
> Change-Id: Ib48c9c00ea2a5baa5f7e3210c5dc7a339498b2d0
> Reviewed-on: https://webrtc-review.googlesource.com/69015
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22830}

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

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: None
Change-Id: I78a1df5d1e38569d02565bf343881420cc171347
Reviewed-on: https://webrtc-review.googlesource.com/69860
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22863}
2018-04-13 16:22:38 +00:00
Sergey Silkin
fafeac3517 Use codec's bitrate limits if SVC is off.
Adding SVC rate allocator and layering configurator caused regression
for VP9 non-SVC senders. SVC bitrate limits, which were supposed to
be used only when spatial layering is enabled, are applied when
encoding single spatial layer. E.g. for VP9 360p sender maximum bitrate
is limited to 500kbps.

This fixes the regression. If sender is configured to send VP9 single
layer then codec's bitrate limits are applied to this layer.

Bug: webrtc:9151, chromium:831093
Change-Id: Ia1ae4087155ad7917a3443304a21532f1e68ea65
Reviewed-on: https://webrtc-review.googlesource.com/69813
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22862}
2018-04-13 16:11:18 +00:00
Sebastian Jansson
30bd4038cf Splits network units into separate headers.
This CL moves the network units files into a separate folder with a
separate BUILD file. It also splits the units into separate files.
This prepares for moving all or some of the units to somewhere that
can be accessed by more components.

Bug: None
Change-Id: I4ebbc19088b024ba920b0b3c64e5f57431f4f955
Reviewed-on: https://webrtc-review.googlesource.com/68660
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22861}
2018-04-13 13:24:28 +00:00
Kári Tristan Helgason
8cbb1c9162 Make Videoprocessor integration test stringly typed.
This allows use of arbitrarily-named codecs.

Bug: None
Change-Id: If7ecbfe3ae8f08f8ebfb224219ef9192a4a0b884
Reviewed-on: https://webrtc-review.googlesource.com/69681
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22860}
2018-04-13 13:17:48 +00:00
Niels Möller
19a68d405d Use VP8EncoderSimulcastProxy in VideoQualityTest.
This simplifies configuration, and it is a preparation for replaceing
encoder instance with an encoder factory in
VideoSendStream::Config::EncoderSettings.

Bug: webrtc:8830
Change-Id: Iaf4f6ad9e7cfaa76d8600c4fa68f393e2f3ea331
Reviewed-on: https://webrtc-review.googlesource.com/69809
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22859}
2018-04-13 12:55:29 +00:00
Sebastian Jansson
4e140da62f Log SendSideCongestionController experiment
The SendSideCongestionController version is toggled by an experiment in
RtpTransportControllerSend. This CL adds a log statement of which
version is used, to make debugging easier.

Bug: webrtc:8415
Change-Id: I6201cf5f03e097cc07c6ae120dcff075c046c414
Reviewed-on: https://webrtc-review.googlesource.com/69808
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22858}
2018-04-13 12:33:48 +00:00
Sebastian Jansson
a73538828f Fixes potential crash in GoogCcNetworkController
UpdatePacingRates required that a bandwidth estimate was available and
would otherwise crash. This CL ensures that there is an initial bandwidth
estimate available from the beginning.

Bug: webrtc:8415
Change-Id: I20c3b444eac42326a78cfebee70b4c1aa370c867
Reviewed-on: https://webrtc-review.googlesource.com/69802
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22857}
2018-04-13 12:24:18 +00:00
Sebastian Jansson
7d3efacb61 Disable toggling of controller in SSCC.
This disables toggling between transport feedback based  controller and
the fall back controller in SendSideCongestionController. The toggling
seems to cause issues with the probing in certain circumstances. Since
it's feasible to run experiments without the toggling, disable it for now.

Bug: webrtc:8415
Change-Id: Ia4a827e95d730d651eaf3facbee7e9a5b0cb2562
Reviewed-on: https://webrtc-review.googlesource.com/69803
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22856}
2018-04-13 11:54:38 +00:00
Kári Tristan Helgason
c1161eb5e3 Add test case for renderer reconstruction.
Bug: b/77825904
Change-Id: I961ec5c2f7ea4bd85c40b716510ae38d261d0b57
Reviewed-on: https://webrtc-review.googlesource.com/69807
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22855}
2018-04-13 11:51:43 +00:00
Paulina Hensman
d91f7dfa14 Remove duplicate line in AppRTC PeerConnectionClient
Bug: webrtc:7452
Change-Id: I03c93970979ca04f81b09773c3d15b1e0dd42bc6
Reviewed-on: https://webrtc-review.googlesource.com/69540
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22854}
2018-04-13 11:50:38 +00:00
Kári Tristan Helgason
983042b84a Re-enable test on mac now that issue is fixed.
Bug: webrtc:5231
Change-Id: I92bc4838c7c17f512caca994232916b9144e37c4
Reviewed-on: https://webrtc-review.googlesource.com/68522
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22853}
2018-04-13 11:29:28 +00:00
Sebastian Jansson
682c6498a2 Removes timeout warnings from pacer before first packet.
The paced sender did not update the time out clock before the first
packet was send in paused state. This caused it to incorrectly log
warnings about elapsed time. This CL fixes this.

Bug: None
Change-Id: I240d169464a708c12eb580d57bc385330b8dd6b1
Reviewed-on: https://webrtc-review.googlesource.com/69561
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22852}
2018-04-13 10:51:03 +00:00
Sebastian Jansson
70488de694 Check for controller in SSCC when route changed.
Fixes potential crash in SendSideCongestionController when route is
changed before network is available.

Bug: webrtc:8415
Change-Id: I781f0e342e5bb42fedbf96c9c5c6d2c199ab3192
Reviewed-on: https://webrtc-review.googlesource.com/69801
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22851}
2018-04-13 10:49:58 +00:00
Autoroller
548b771a80 Roll chromium_revision 3324b05ba6..795195df20 (550462:550567)
Change log: 3324b05ba6..795195df20
Full diff: 3324b05ba6..795195df20

Changed dependencies:
* src/base: e58e76b1c3..b08dfd6649
* src/build: 42f01e14e2..77266570f1
* src/ios: 83235e8077..5ff9eae85d
* src/testing: 07a38f83e9..e89e74a690
* src/third_party: 451409c9c5..2f34734f36
* src/third_party/depot_tools: b1c21a5af2..53a115e67e
* src/tools: 18649cc82c..5392ce1a3c
DEPS diff: 3324b05ba6..795195df20/DEPS

No update to Clang.

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

Change-Id: I41e1d69477d31f93778dc50c91521738f191113f
Reviewed-on: https://webrtc-review.googlesource.com/69821
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22850}
2018-04-13 10:33:08 +00:00
Alex Loiko
8a3eaddc95 Pre-amplification in the audio processing module.
Added a new sub-module 'GainApplier'. The build target is
'modules/audio_processing/agc2:gain_applier'. A small refactoring
makes the GainApplier used in adaptive-digital AGC2.

The AGC2 now multiplies samples with a gain in 3 places. It's the
GainApplier, the GainCurveApplier, and the FixedGainController. The
GainApplier is used in AdaptiveDigitalGainApplier and will be used as
a pre-amplifier.

Bug: webrtc:9138
Change-Id: Ibc4c0ea109c6757f159d4adb6e3d8614179c9bc6
Reviewed-on: https://webrtc-review.googlesource.com/69321
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22849}
2018-04-13 10:19:58 +00:00
Alessio Bazzica
aaa85ae565 Reland "Floating-point exception observer for unit tests"
This reverts commit e3d522dd6b52025191bacfab241f130e9870941f.

Reason for revert: Disabling test failing in downstream projects.

Original change's description:
> Revert "Floating-point exception observer for unit tests"
>
> This reverts commit 3fb3939896f6270d48aff34eee2946bd7661bd63.
>
> Reason for revert: Downstream projects failures.
>
> Original change's description:
> > Floating-point exception observer for unit tests
> >
> > This CL adds a simple tool that let a unit test fail if a floating
> > point exception occurs. It is possible to focus on specific exceptions.
> > Note that FloatingPointExceptionObserver is only effective in debug
> > mode. For this reason, the related unit tests only run in debug mode.
> > Plus, due to some platform-specific limitations, not all the floating
> > point exceptions are available on Android.
> >
> > Bug: webrtc:8948
> > Change-Id: I0956e27f2f3aa68771dd647169fba7968ccbd771
> > Reviewed-on: https://webrtc-review.googlesource.com/58097
> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22768}
>
> TBR=phoglund@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org
>
> Change-Id: I0fd3d114ab4a348fd46339e98273e19c1ac1c6dc
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8948
> Reviewed-on: https://webrtc-review.googlesource.com/67380
> Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22769}

TBR=phoglund@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:8948
Change-Id: I7584d941b227277a271323b47bc70945af999758
Reviewed-on: https://webrtc-review.googlesource.com/69060
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22848}
2018-04-13 08:08:28 +00:00
Autoroller
f9e65a8f5b Roll chromium_revision accf099ab3..3324b05ba6 (550347:550462)
Change log: accf099ab3..3324b05ba6
Full diff: accf099ab3..3324b05ba6

Changed dependencies:
* src/base: 906a9c8a6b..e58e76b1c3
* src/build: c960a4a495..42f01e14e2
* src/ios: 619bbbc1a1..83235e8077
* src/third_party: a9550073b8..451409c9c5
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/19b3dfed02..67d01a2107
* src/third_party/ffmpeg: 5af686b3cf..c6aed052ab
* src/third_party/googletest/src: 7e5f90d378..b640d8743d
* src/third_party/icu: d888fd2a1b..aff99f5c22
* src/tools: 2af90a04f8..18649cc82c
DEPS diff: accf099ab3..3324b05ba6/DEPS

No update to Clang.

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

Change-Id: Id542f4aea38bca2094aaffb681056d44013f542c
Reviewed-on: https://webrtc-review.googlesource.com/69786
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22847}
2018-04-13 02:14:28 +00:00
Julien Isorce
bb005b6b96 Make ScreenCapturerMac more robust when using IOSurface
The issue is visible when reconfiguring the screen arrangement while
sharing the displays. Can sometimes be seen right after starting the
screen sharing.

Indeed CaptureFrame can be called at any time so TakeLatestFrameForDisplay
should always return a valid frame and the call should not empty the
internal container.

Also add missing teardown in the provider on failure case.

Bug: webrtc:8652
Change-Id: Ice151c1da92b9ad2b86ca9368d30d9d21114e53e
Reviewed-on: https://webrtc-review.googlesource.com/69420
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#22846}
2018-04-12 23:04:58 +00:00
Fredrik Solenberg
bbf21a3fd6 Remove dependencies on modules:module_api from AudioProcessing.
- Directly include api/audio/audio_frame.h everywhere AudioFrame is used.
- This *will* remove transient dependencies on libjpeg and a bunch of other things from the e.g. APM.
- audio_frame.h still included from module_common_types.h for backwards compatibility with clients.

Bug: webrtc:9139, webrtc:7504
Change-Id: Id96f9268c01667fbcc29a01f5c1dd25a37836897
Reviewed-on: https://webrtc-review.googlesource.com/62464
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22845}
2018-04-12 22:05:27 +00:00
Taylor Brandstetter
0ab56511f1 Fix handling of empty BUNDLE groups.
This CL fixes issues when applying a description with an empty BUNDLE
group (previously it would fail, after recent refactoring it started
crashing).

This CL also will cause an empty BUNDLE group to be generated when it
should be. Namely, when responding to an offer that had a BUNDLE group,
rejecting everything in it.

Bug: chromium:831996
Change-Id: I4e705a328daef4e81f8f1ace6aa73ddfa13c0107
Reviewed-on: https://webrtc-review.googlesource.com/69720
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22844}
2018-04-12 22:03:18 +00:00
Autoroller
4ab6c9d62c Roll chromium_revision 5651e5838c..accf099ab3 (550241:550347)
Change log: 5651e5838c..accf099ab3
Full diff: 5651e5838c..accf099ab3

Changed dependencies:
* src/base: 6cb5653246..906a9c8a6b
* src/build: 38fc0f5d07..c960a4a495
* src/ios: 699957590e..619bbbc1a1
* src/testing: 648685ce42..07a38f83e9
* src/third_party: 6a43d74c6b..a9550073b8
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/6009637013..19b3dfed02
* src/third_party/depot_tools: 7e9e2c82bd..b1c21a5af2
* src/third_party/ffmpeg: 272be0ac4c..5af686b3cf
* src/third_party/libvpx/source/libvpx: d636fe53af..be5df60801
* src/tools: 73dd81fedc..2af90a04f8
DEPS diff: 5651e5838c..accf099ab3/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: I13ebc70ddf7b018abda8f4e8b1c0ef77d59044db
Reviewed-on: https://webrtc-review.googlesource.com/69760
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22843}
2018-04-12 21:45:27 +00:00
braveyao
8944f6a3f5 [desktopCaptuer Win] exclude windows not on current virtual desktop
Since Windows 10, Windows starts to support virtual desktops. The
problem is when one virtual desktop is not the current one, we can still
enumerate the windows on it, which are still marked as visible by OS.
This causes troubles to decide if a window is on top to be cropped out.

This cl is to utilize a COM API, IsWindowOnCurrentVirtualDesktop of
VirtualDesktopManager, to make sure only the windows on current desktop
will be enumerated.

Bug: chromium:796112
Change-Id: I6e0546e90fbdb37365a8d98694ded0e30791628e
Reviewed-on: https://webrtc-review.googlesource.com/65882
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22842}
2018-04-12 19:22:15 +00:00
Autoroller
44bf6a909b Roll chromium_revision f6c12979e9..5651e5838c (550137:550241)
Change log: f6c12979e9..5651e5838c
Full diff: f6c12979e9..5651e5838c

Changed dependencies:
* src/base: 12243e8210..6cb5653246
* src/build: 196b67a10a..38fc0f5d07
* src/ios: be764a62f0..699957590e
* src/testing: cea26d8b5b..648685ce42
* src/third_party: 0b2cd4163a..6a43d74c6b
* src/tools: aa19133717..73dd81fedc
DEPS diff: f6c12979e9..5651e5838c/DEPS

No update to Clang.

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

Change-Id: I595127f3fe4ac0f412933dc724137fb0d94af989
Reviewed-on: https://webrtc-review.googlesource.com/69702
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22841}
2018-04-12 17:23:04 +00:00
Kári Tristan Helgason
c3f8c759c4 Add ability for inject custom codec factories in VP integration test.
This makes it easier to add new test cases without modifying the actual test class.

Bug: None
Change-Id: I48e4f14e26cd6610678ffb07ce9fd56e6bc1ac4e
Reviewed-on: https://webrtc-review.googlesource.com/69600
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22840}
2018-04-12 15:45:36 +00:00
Fredrik Solenberg
98a91ad454 Remove obsolete types from common_types.h
- #define WEBRTC_DLLEXPORT
- class RewindableStream, InStream, OutStream
- enum FileFormats, PayloadFrequencies, VadModes

Bug: webrtc:7626
Change-Id: Idcbb241f3b48204ca9ac760987197f0458157527
Reviewed-on: https://webrtc-review.googlesource.com/69300
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22839}
2018-04-12 12:23:37 +00:00
Autoroller
09abeb9d11 Roll chromium_revision 0355b2473d..f6c12979e9 (550001:550137)
Change log: 0355b2473d..f6c12979e9
Full diff: 0355b2473d..f6c12979e9

Changed dependencies:
* src/base: 1fef2bd08d..12243e8210
* src/build: bf6af18d01..196b67a10a
* src/buildtools: e8aa02ea83..8febfea9bc
* src/ios: 417b08bf98..be764a62f0
* src/testing: c9e1c5875c..cea26d8b5b
* src/third_party: e7bd2b942e..0b2cd4163a
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/a227198533..6009637013
* src/third_party/depot_tools: 5888d6f676..7e9e2c82bd
* src/tools: 506256b6a0..aa19133717
DEPS diff: 0355b2473d..f6c12979e9/DEPS

No update to Clang.

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

Change-Id: Icdd7a63b957890c787a97d16d739b33e1f78ec8e
Reviewed-on: https://webrtc-review.googlesource.com/69580
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22838}
2018-04-12 11:35:45 +00:00
Alex Narest
2734a066c2 Fix neteq_rtpplay crash in case new concealment event does not have voice concealed smaples
Bug: webrtc:9114
Change-Id: I97a55a780384e6a710fdeb286124eea642000dc8
Reviewed-on: https://webrtc-review.googlesource.com/69240
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Alex Narest <alexnarest@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22837}
2018-04-12 11:33:05 +00:00
Paulina Hensman
a2a9875dc2 Add unit tests for Android audio device module
The tests are a combination of the old audio_device_unittest.cc and
audio_manager_unittest.cc, with the exception of a few that were no
longer relevant.

RunPlayoutAndRecordingInFullDuplex remains disabled according to its
comment, but has been verified to pass on at least one device.
MeasureLoopbackLatency also remains disabled, but has not been tested due
to lack of necessary hardware.

Bug: webrtc:7452
Change-Id: Ie361bc8f5e1990729d7b4699faf2a73abe3cbe8d
Reviewed-on: https://webrtc-review.googlesource.com/69340
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22836}
2018-04-12 09:27:45 +00:00
Magnus Jedvert
2ed62b3c9b Android: Allow construction of GlTextureFrameBuffer from non-OpenGL thread
This CL makes it possible to create a GlTextureFrameBuffer from any
thread. The actual GL resources will be allocated the first time
setSize() is called. The purpose is to be able to use 'final' variables
more often for this class and avoid @Nullable annotations.

Bug: None
Change-Id: I350304bcd33fd674990254df37a615995972f322
Reviewed-on: https://webrtc-review.googlesource.com/69241
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22835}
2018-04-12 07:19:46 +00:00
Qingsi Wang
6e641e64b2 Signal detailed packet info for each packet sent.
Per-packet info is now signaled in SentPacket to provide useful stats
for bandwidth consumption and overhead analysis in the network stack.

Bug: webrtc:9103
Change-Id: I2b8f6491567d0fa54cc559fc5a96d7aac7d9565e
Reviewed-on: https://webrtc-review.googlesource.com/66281
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22834}
2018-04-12 04:46:06 +00:00
Autoroller
bc49b10a69 Roll chromium_revision d458cc5819..0355b2473d (549897:550001)
Change log: d458cc5819..0355b2473d
Full diff: d458cc5819..0355b2473d

Changed dependencies:
* src/base: fa2d46a6ad..1fef2bd08d
* src/build: 066c45bc46..bf6af18d01
* src/ios: 3fb75f251e..417b08bf98
* src/testing: 445ce8304a..c9e1c5875c
* src/third_party: e4e90fc280..e7bd2b942e
* src/tools: 6889094f2c..506256b6a0
DEPS diff: d458cc5819..0355b2473d/DEPS

No update to Clang.

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

Change-Id: I679538e5e482ac1fb3479468f6b5140fa6e38266
Reviewed-on: https://webrtc-review.googlesource.com/69461
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22833}
2018-04-12 03:45:56 +00:00
Taylor Brandstetter
60c8dc8470 Adding regression test for rejecting and un-rejecting an m= section.
This was previously not working because the answerer wasn't generating
ICE credentials when it should have been.

This was fixed inadvertently by:
https://webrtc-review.googlesource.com/c/src/+/46380

But we should really also have a PeerConnection-level regression test
for this.

Bug: webrtc:6023
Change-Id: I3da900edcc8db8034ed61a7bb981d9c0e616254e
Reviewed-on: https://webrtc-review.googlesource.com/69403
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22832}
2018-04-11 23:29:36 +00:00
Seth Hampson
7435b84b30 Removing StramParams.type & StreamParams.display.
Bug: webrtc:9042
Change-Id: I5d83c9565d2a31f36a941625b52bf85c2f79f59b
Reviewed-on: https://webrtc-review.googlesource.com/66283
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22831}
2018-04-11 20:23:26 +00:00
Taylor Brandstetter
dd59d70491 Adding test for adding ICE candidate before applying answer.
This was working before, but somewhat by accident (because an error
wasn't being surfaced).

This CL also starts surfacing that error, from
JsepTransportController::AddRemoteCandidates to PeerConnection.

Bug: None
Change-Id: Ib48c9c00ea2a5baa5f7e3210c5dc7a339498b2d0
Reviewed-on: https://webrtc-review.googlesource.com/69015
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22830}
2018-04-11 18:59:26 +00:00
Steve Anton
ba42e99f18 Report an error when trying to set complex Plan B SDP on Unified Plan
This changes the PeerConnection when in Unified Plan mode to reject
SDP applied with SetLocalDescription or SetRemoteDescription if the
SDP has multiple "Plan B tracks" (a=ssrc lines) in a media section.
The error is to inform developers that the given SDP will not be
interpreted as they might expect.

Bug: None
Change-Id: I7a0e11282fbf63dac06038cd22a66683517a87d0
Reviewed-on: https://webrtc-review.googlesource.com/68764
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22829}
2018-04-11 18:16:26 +00:00
JT Teh
d5601329aa Revert "Fix rendering on an iPhone X's tall screen."
This reverts commit 4feb2044db4b3563323c24e2372885cbf7708c73.

Reason for revert: Landscape video was not showing as aspect fit as before. .

Original change's description:
> Fix rendering on an iPhone X's tall screen.
>
> Bug: webrtc:8884
> Change-Id: I850e4ea1919837e15a78c90968a4879a1ccbd22c
> Reviewed-on: https://webrtc-review.googlesource.com/52761
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22011}

TBR=magjed@webrtc.org,kthelgason@webrtc.org,jtteh@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:8884
Change-Id: I17bcdaf945d74540538162934cd3265240cc9302
Reviewed-on: https://webrtc-review.googlesource.com/68841
Commit-Queue: JT Teh <jtteh@webrtc.org>
Reviewed-by: JT Teh <jtteh@webrtc.org>
Reviewed-by: Zeke Chin <tkchin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22828}
2018-04-11 17:07:46 +00:00
Autoroller
a5f0ba96e6 Roll chromium_revision 247740640c..d458cc5819 (549794:549897)
Change log: 247740640c..d458cc5819
Full diff: 247740640c..d458cc5819

Changed dependencies:
* src/base: 6de40d7900..fa2d46a6ad
* src/build: 73e352e758..066c45bc46
* src/ios: f50ab3e247..3fb75f251e
* src/testing: f331d5bbce..445ce8304a
* src/third_party: 7d5d353b1a..e4e90fc280
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2c59f678c7..a227198533
* src/tools: 86e4c33ff0..6889094f2c
DEPS diff: 247740640c..d458cc5819/DEPS

No update to Clang.

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

Change-Id: Iba324107f1460c8fd5bb9730eef1144be96c6602
Reviewed-on: https://webrtc-review.googlesource.com/69283
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22827}
2018-04-11 16:46:27 +00:00
Erik Språng
e624d078bc Always update libvpx configuration if bitrate has changed.
OnRatesUpdated() is called every time the bitrate estimate, or once per
second. However, since we don't want to reconfigure libvpx too often,
just in case it interferes with the rate controller, so
ScreenshareLayers contains a boolean |bitrate_update_| which indicate
if the configuration should be updated on a call to
UpdateConfiguration().

However, it two rate updates happened between two frames, the first of
which changes the rates and second one does not, |bitrate_update_| will
be reset to false and the encoder won't get the desired config.

This CL makes sure we update the configuration iff the rate has changed
at any time since the last call to UpdateConfiguration().

Bug: webrtc:9012
Change-Id: I62af36cffe20ecb7d3f403b3eb11f23a9692d719
Reviewed-on: https://webrtc-review.googlesource.com/69040
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22826}
2018-04-11 15:27:56 +00:00