Commit Graph

22726 Commits

Author SHA1 Message Date
28deb90728 Reland "Start supporting H264 packetization mode 0."
This is a reland of 3409cfa378e75c0c08d900e0848147929249a62b

Needed to change RtpVideoStreamReceiver to stop deregistering a payload
type if two payload types refer to the same codec (which now happens,
with the packetization mode 0/1 payload types). It's not clear why this
was being done in the first place.

Original change's description:
> Start supporting H264 packetization mode 0.
>
> The work was already done to support it, but it wasn't being negotiated
> in SDP.
>
> This means we'll now see 8 H264 payload types instead of 4; one for each
> combination of BP/CBP profiles, packetization modes 0/1, and RTX/non-RTX.
> This could be problematic in the future, since we're starting to run
> out of dynamic payload types (using 25 of 32).
>
> Bug: chromium:600254
> Change-Id: Ief2340db77c796f12980445b547b87e939170fae
> Reviewed-on: https://webrtc-review.googlesource.com/77264
> Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23372}

Bug: chromium:600254
Change-Id: Ice1acc05acd1543d9b46e918de2bba0694d86259
Reviewed-on: https://webrtc-review.googlesource.com/78399
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23494}
2018-06-01 18:03:06 +00:00
6fd5b05ff9 Roll chromium_revision 29e2805f88..3a0333ff4e (563524:563625)
Change log: 29e2805f88..3a0333ff4e
Full diff: 29e2805f88..3a0333ff4e

Roll chromium third_party a9abf5454d..e217b4a377
Change log: a9abf5454d..e217b4a377

Changed dependencies:
* src/build: cfbac23b43..47364de094
* src/ios: bc3c97a547..594fb419d0
* src/testing: fcbd74d196..1dff9eb832
* src/third_party/depot_tools: 0ae14e9aad..621fe6f9b5
* src/tools: 44536dd995..4aad568526
DEPS diff: 29e2805f88..3a0333ff4e/DEPS

No update to Clang.

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

Change-Id: Iba9fca9b6928d2bbbd36af60e9df06f5354fad2a
Reviewed-on: https://webrtc-review.googlesource.com/80503
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23493}
2018-06-01 15:07:13 +00:00
56df67bf96 Fix: Leak of a CVPixelBufferRef in RTCVideoEncoderH264.
Bug: webrtc:9347
Change-Id: I6e7497dac01b778964088ec24687ef5c495ae6e7
Reviewed-on: https://webrtc-review.googlesource.com/80461
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23492}
2018-06-01 13:42:53 +00:00
f8518889ba Adds flags for configuring log output from full stack tests.
Bug: webrtc:8415
Change-Id: I3031974dc3580386de677a7b4d120876d8b89e5a
Reviewed-on: https://webrtc-review.googlesource.com/80240
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23491}
2018-06-01 12:23:01 +00:00
e97b5493a5 Fixes leak of AudioDeviceID array due to early return in AudioDeviceMac::GetNumberDevices()
Bug: webrtc:9348
Change-Id: I67a534ec8225180aa67018f7c11f1983262af585
Reviewed-on: https://webrtc-review.googlesource.com/80480
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23490}
2018-06-01 11:53:51 +00:00
392f8d0fa9 Add JoinFilename to testsupport code, replacing use of rtc::Pathname.
This is a partial revert of https://codereview.webrtc.org/2533213005,
deleting rtc::File methods accepting an rtc::Pathname argument.

Bug: webrtc:6424
Change-Id: Ib16bdc7294dbddfa12ba9ae206c024ff97e529a4
Reviewed-on: https://webrtc-review.googlesource.com/80180
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23489}
2018-06-01 11:36:51 +00:00
79ce820a13 Obj-C SDK for parsing and generating H264 ProfileLevelIds.
Expose this functionality in the Obj-C SDK to make it nicer to use for
Obj-C clients.

Bug: None
Change-Id: I5cb511af8799ac0fda15153d16f2550b848b93b2
Reviewed-on: https://webrtc-review.googlesource.com/80481
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23488}
2018-06-01 11:23:31 +00:00
f1c470e9fb Remove the audio codec factory methods that don't take AudioCodecPairId
Bug: webrtc:9062
Change-Id: I929097f45986335633ccf01462348c9d24202424
Reviewed-on: https://webrtc-review.googlesource.com/74441
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23487}
2018-06-01 11:04:07 +00:00
c4b7f037b7 AEC3: Adjust active render limits for downsampling factor 8
The signal used for delay estimation at downsampling factor 8 is bandpass
filtered and contains less energy than for other downsampling factors.
This CL adjusts the energy threshold used for determining if there is enough
farend activity to update the matched filters in the delay estimator.
Only downsampling factor 8 is affected.

Bug: webrtc:9288,chromium:846615
Change-Id: I6f38f5609a31e7a08e60571ac75ea75c9962e026
Reviewed-on: https://webrtc-review.googlesource.com/80443
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23486}
2018-06-01 10:07:16 +00:00
0c87e293c9 Update packet_buffer_fuzzer to fuzz full packets.
Bug: webrtc:7728
Change-Id: I9d33404470c2ecf8d6f91c57c9dc9fd4dd821a18
Reviewed-on: https://webrtc-review.googlesource.com/77424
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23485}
2018-06-01 10:00:36 +00:00
f2fae875d5 Add min pushback target bitrate as a parameter that can be set in field trial string.
Bug: None
Change-Id: I9922abadba8164d19e06026fe363efdd337f068e
Reviewed-on: https://webrtc-review.googlesource.com/80122
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23484}
2018-06-01 09:58:36 +00:00
aa35aeaa66 Write to file on a dedicated thread in VideoFileRenderer.
The disk cannot always keep up to with the frames produced. To solve
this, write to disk on a dedicated thread so we don't block rendering.

Bug: b/80409365
Change-Id: If9ef3eb6948d81deebb987420599fef446b082d6
Reviewed-on: https://webrtc-review.googlesource.com/79800
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23483}
2018-06-01 08:43:02 +00:00
d45b345700 Set max_consec_drop to INT_MAX.
Set recently added max_consec_drop parameter to INT_MAX to keep behavior
of frame dropping logic unchanged.

Bug: none
Change-Id: Ie1d4b428cabc7182ed325c7de4ba8a42cdc826b1
Reviewed-on: https://webrtc-review.googlesource.com/79148
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Marco Paniconi <marpan@google.com>
Cr-Commit-Position: refs/heads/master@{#23482}
2018-06-01 08:30:02 +00:00
b2cf9d38bd Roll chromium_revision 2fd473c996..29e2805f88 (563409:563524)
Change log: 2fd473c996..29e2805f88
Full diff: 2fd473c996..29e2805f88

Roll chromium third_party e2bfdbbfff..a9abf5454d
Change log: e2bfdbbfff..a9abf5454d

Changed dependencies:
* src/base: ce52a9f0b9..a20362e3ab
* src/build: 48f65d6723..cfbac23b43
* src/ios: b3f47c7ac2..bc3c97a547
* src/testing: 54d32643cd..fcbd74d196
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/c36ea24906..b48f5b4915
* src/third_party/depot_tools: cf4aced37e..0ae14e9aad
* src/tools: 79357ec26d..44536dd995
DEPS diff: 2fd473c996..29e2805f88/DEPS

No update to Clang.

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

Change-Id: Ie8255f0ee7a53a58653ff46b8976a3a7310226d5
Reviewed-on: https://webrtc-review.googlesource.com/80342
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23481}
2018-06-01 04:14:06 +00:00
5234a49a07 Create PeerConnectionFactoryDependencies to prevent new function overloads.
To address this, this CL introduces a PeerConnectionFactoryDependencies
structure to encapsulate all mandatory and optional dependencies (where a
dependency is defined as non trivial executable code that an API user may want
to provide to the native API). This allows adding a new injectable dependency
by simply adding a new field to the struct, avoiding the hassle described above.

Bug: webrtc:7913
Change-Id: Ice58fa72e8c578b250084a1629499fabda66dabf
Reviewed-on: https://webrtc-review.googlesource.com/79720
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23480}
2018-05-31 23:41:12 +00:00
79880624e4 Roll chromium_revision 54223a6fbb..2fd473c996 (563301:563409)
Change log: 54223a6fbb..2fd473c996
Full diff: 54223a6fbb..2fd473c996

Roll chromium third_party 531403d485..e2bfdbbfff
Change log: 531403d485..e2bfdbbfff

Changed dependencies:
* src/base: aee8523c82..ce52a9f0b9
* src/build: 9ef396242c..48f65d6723
* src/ios: eae9692ad6..b3f47c7ac2
* src/testing: 8cad4435bf..54d32643cd
* src/tools: 488d15f699..79357ec26d
DEPS diff: 54223a6fbb..2fd473c996/DEPS

No update to Clang.

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

Change-Id: Ie2912a73df7c798a65ded9541a77d423f2e33743
Reviewed-on: https://webrtc-review.googlesource.com/80307
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23479}
2018-05-31 23:09:42 +00:00
cdd05f0cc1 Implement proper SCTP data channel closing procedure.
The proper closing procedure is:
1. Alice resets outgoing stream.
2. Bob receives incoming stream reset, resets his outgoing stream.
3. Alice receives incoming stream reset; channel closed!
4. Bob receives acknowledgement of reset; channel closed!

https://tools.ietf.org/html/draft-ietf-rtcweb-data-channel-13#section-6.7

However, up until now we've been sending both an incoming and outgoing reset
from the side initiating the closing procedure, and doing nothing on the remote
side.

This means that if you call "Close" and the remote endpoint is using an old
version of WebRTC, the channel's state will be stuck at "closing" since the
remote endpoint won't send a reset. Which is already what happens when Firefox
is talking to Chrome.

This CL also fixes an issue where the DataChannel's state prematurely went to
"closed" before the closing procedure was complete. Which could result in a
new DataChannel attempting to re-use the ID and failing.

TBR=magjed@webrtc.org

Bug: chromium:449934, webrtc:4453
Change-Id: Ic1ba813e46538c6c65868961aae6a9780d68a5e2
Reviewed-on: https://webrtc-review.googlesource.com/79061
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23478}
2018-05-31 21:01:53 +00:00
20e8cfb341 Fixing bug with PseudoTcp that corrupts data if initial packet is lost.
The issue occurred if a control segment is received after a non-control
segment received out-of-order, which only happens if:
* The initial "connect" segment is lost, and retransmitted later.
* Both sides send "connect"s simultaneously (rather than having
  designated server/client roles), such that the local side thinks a
  connection is established even before its "connect" has been
  acknowledged.
* Nagle algorithm disabled, allowing a data segment to be sent before
  the "connect" has been acknowledged.

This may seem like a pretty specific set of circumstances, but it can
happen with chromoting.

See the linked bug for more details.

Bug: webrtc:9208
Change-Id: I3cfe26e02158fcc5843f32d4e2ef7c511d58d9c9
Reviewed-on: https://webrtc-review.googlesource.com/78861
Reviewed-by: Sergey Ulanov <sergeyu@google.com>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23477}
2018-05-31 18:54:58 +00:00
311428fecb Remove unnecessary set_stream_ids call
Both AudioRtpSender and VideoRtpSender receive stream_ids in their
constructor, no need to call set_stream_ids again.

Bug: None
Change-Id: I6238a6d6e31076a0b3245c89e2825d8dee5166c0
Reviewed-on: https://webrtc-review.googlesource.com/80220
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23476}
2018-05-31 18:44:28 +00:00
cfecd9e8d3 Roll chromium_revision 812f7cad93..54223a6fbb (563201:563301)
Change log: 812f7cad93..54223a6fbb
Full diff: 812f7cad93..54223a6fbb

Roll chromium third_party d781e555b8..531403d485
Change log: d781e555b8..531403d485

Changed dependencies:
* src/base: afaab25fc6..aee8523c82
* src/build: a73dc046b2..9ef396242c
* src/ios: 8551efb642..eae9692ad6
* src/testing: 994edb72db..8cad4435bf
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/517100ca07..c36ea24906
* src/third_party/freetype/src: d45d4b97e6..0589f6e6ee
* src/tools: f25d7d08c1..488d15f699
DEPS diff: 812f7cad93..54223a6fbb/DEPS

No update to Clang.

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

Change-Id: I3c86dc5ca39d933124fa1a2e7c80c94783d6268d
Reviewed-on: https://webrtc-review.googlesource.com/80300
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23475}
2018-05-31 18:08:36 +00:00
7f1583c921 [desktopCapture Windows] ignore Chrome notification window on top
Chrome uses Windows native framework to show the notification of the
ongoing presenting. This notification window is enumerated as a
separated window which is on top most. If this window blocks the target
window, Chrome can't do the cropping and has to switch to GDI methods.
If GDI methods can't capture the target window, then capturing will fail
until the notification is dismissed.

It's hard to identify the notification window in EnumWindows() callback.
So far it works if we ignore window with no title and class name
prefixed with "Chrome_WidgetWin_" and with certain extended styles,
as so does in this CL.

Bug: chromium:847664
Change-Id: Iafabcb1f685adb91bf092475642151e1475cdf61
Reviewed-on: https://webrtc-review.googlesource.com/79742
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23474}
2018-05-31 17:07:16 +00:00
435187d18d AEC3: CascadedBiQuadFilter can run different filters in cascade
CascadedBiQuadFilter can run identical filters multiple times. This CL
allows the use of different filters in each step. This enables the use
of more elaborate filters. The filters are defined by zeros, poles and
gains.

The 'old' way of initializing CascadedBiQuadFilter with a transfer
function and number of filters is left intact.

Bug: webrtc:9288,chromium:846615
Change-Id: Ie4a5b98eba044415571cdcac087b20870a0b5d33
Reviewed-on: https://webrtc-review.googlesource.com/80060
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23473}
2018-05-31 13:45:15 +00:00
bae79db1f6 Roll chromium_revision 64b2aa35c9..812f7cad93 (563090:563201)
Change log: 64b2aa35c9..812f7cad93
Full diff: 64b2aa35c9..812f7cad93

Roll chromium third_party dec617523d..d781e555b8
Change log: dec617523d..d781e555b8

Changed dependencies:
* src/base: 214ceb8013..afaab25fc6
* src/build: a429f6047e..a73dc046b2
* src/ios: 5cbbe2cfea..8551efb642
* src/testing: 8b1137b1a5..994edb72db
* src/tools: 8c2b5be38a..f25d7d08c1
DEPS diff: 64b2aa35c9..812f7cad93/DEPS

No update to Clang.

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

Change-Id: Id09894b7b1d9a2f802b33a491ec77f47bcd081bc
Reviewed-on: https://webrtc-review.googlesource.com/80108
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23472}
2018-05-31 13:18:04 +00:00
8ebba7420c Add collection of usage signatures on PeerConnections
This generates a number that represent a set of bits that
indicates how a PeerConnection has been used over time.

Bug: chromium:718508
Change-Id: I6df177684c50bc825bc41ea97996574292084d41
Reviewed-on: https://webrtc-review.googlesource.com/79823
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23471}
2018-05-31 13:07:09 +00:00
879f5a34a5 Add test against crashes in VideoQualityObserver
If there were a lot of pauses in the receive video stream, it may've
caused a crash because of a null rtc::Optional dereferencing.

This is the test reproducing that behaviour.

Bug: webrtc:9338
Change-Id: I1cef72a88a54f762ef27665d372e4a1d1225e059
Reviewed-on: https://webrtc-review.googlesource.com/80161
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23470}
2018-05-31 12:32:37 +00:00
0cedc054a2 Refactor SimulcastTestUtility into SimulcastTestFixture{,Impl}
This will allow exposing the interface to downstream users that
want to test VP8 simulcast. No functional changes to the tests
themselves are expected.

Bug: webrtc:9281
Change-Id: I4128b8f35a4412c5b330cf55c8dc0e173d4570da
Reviewed-on: https://webrtc-review.googlesource.com/77361
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23469}
2018-05-31 11:48:17 +00:00
29921cf097 Revert "Use absl::optional instead or rtc::Optional"
This reverts commit 02a69190e81972f91ca83ccc137daab4320041f2.

Reason for revert: static initializers increase approval revoked.

Original change's description:
> Reland "Use absl::optional instead or rtc::Optional"
> 
> This reverts commit 28e6a164bf9d2a42545d058bd50d39e1767f7398.
> 
> Reason for revert: static initializers increase approved
> 
> Original change's description:
> > Revert "Use absl::optional instead or rtc::Optional"
> > 
> > This reverts commit 7ba9e92fa0dfb16579f4f6ecd746397bdfdd174d.
> > 
> > Reason for revert: Breaks Chromium static initialized regression test.
> > https://ci.chromium.org/p/chromium/builders/luci.chromium.try/android-marshmallow-arm64-rel/5068
> > 
> > Original change's description:
> > > Use absl::optional instead or rtc::Optional
> > > 
> > > BUG: webrtc:9078
> > > Change-Id: I69aedce324d86e8894b81210a2de17c5ef68fd11
> > > Reviewed-on: https://webrtc-review.googlesource.com/77082
> > > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> > > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#23440}
> > 
> > TBR=danilchap@webrtc.org,mbonadei@webrtc.org,kwiberg@webrtc.org
> > 
> > Change-Id: I09ae74bddc69d0b25c8dfbcacc4ec906b34ca748
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://webrtc-review.googlesource.com/79980
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#23449}
> 
> TBR=danilchap@webrtc.org,mbonadei@webrtc.org,kwiberg@webrtc.org
> 
> Change-Id: I39bcdaa35276c998383edf038802fcc2d42e49c7
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/80120
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23460}

TBR=danilchap@webrtc.org,mbonadei@webrtc.org,kwiberg@webrtc.org

Change-Id: Ie6be11b3cd651dc857dccaff1cbda2e1692e5585
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/80200
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23468}
2018-05-31 11:42:48 +00:00
3d8dbcb686 Adds loss rate filter in BBR controller.
Adds a simple loss rate filter to the BBR network congestion controller.
The loss rate is used to control error correction. Previously the value
was reported as zero which would disable error correction.

Bug: webrtc:8415
Change-Id: Icec8f25fcc9509432ea91eaec30b39a024f92b42
Reviewed-on: https://webrtc-review.googlesource.com/78263
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23467}
2018-05-31 11:10:07 +00:00
613591a5b8 Add min_bitrate_bps to RtpEncodingParameters.
This CL adds the field but does not implement any functionality using it.

Bug: webrtc:9341
Change-Id: I533fc7f8bc1e40207aa16b834e0d7daa60709614
Reviewed-on: https://webrtc-review.googlesource.com/78741
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23466}
2018-05-31 10:17:57 +00:00
802506c2e9 Add placeholder header file api/video_codecs/video_codec.h.
This is a preparation for moving declaration of the VideoCodec class
to this file. Applications using the legacy VideoCodec class should
start including this file instead of common_types.h.

Bug: webrtc:7660
Change-Id: I9fe1a2bffa7b0c17059fc4e3b7e351f5019f1d00
Reviewed-on: https://webrtc-review.googlesource.com/80150
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23465}
2018-05-31 09:36:57 +00:00
59b4e3ea8c Split IceCandidatePairEventType enum.
Disjoint subsets of the enum values are used for Ice candidate config
events and Ice candidate check events. This CL breaks out the config
part to a separate enum and by extension changes the icelogger interface
for config events.

Bug: webrtc:9336, webrtc:8111
Change-Id: I405b5c3981905c3c504b45afdddb3649469ed141
Reviewed-on: https://webrtc-review.googlesource.com/79943
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23464}
2018-05-31 08:42:10 +00:00
f0b83c5e87 Fixing null rtc::Optional dereference in VideoQualityObserver.
Was crashing if |is_paused_| is true for the first few frames,
resulting in |interframe_delays_| being given fewer samples than
|num_frames_decoded_|. So checking |num_frames_decoded_| wasn't
sufficient; really should just check if |interframe_delays_.Avg|
returns a nullopt or not.

Bug: webrtc:9338
Change-Id: Ie74e88f7ec5ecef85a07145b9576f54b2a089f63
Reviewed-on: https://webrtc-review.googlesource.com/80040
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23463}
2018-05-31 08:38:45 +00:00
750efbe5ce Delete definitions of NULL.
Bug: None
Change-Id: I7cd52ba40c9d1f35a583377c4e729875fbddc068
Reviewed-on: https://webrtc-review.googlesource.com/79941
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23462}
2018-05-31 07:55:15 +00:00
ccac98861f iOS SDK 10.0 compatability.
This CL adds support targeting iOS 10 as a min version.

Bug: None
Change-Id: I353a9884eb907e97387553fd73427fd7cb0dbfc2
Reviewed-on: https://webrtc-review.googlesource.com/79921
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23461}
2018-05-31 07:28:34 +00:00
02a69190e8 Reland "Use absl::optional instead or rtc::Optional"
This reverts commit 28e6a164bf9d2a42545d058bd50d39e1767f7398.

Reason for revert: static initializers increase approved

Original change's description:
> Revert "Use absl::optional instead or rtc::Optional"
> 
> This reverts commit 7ba9e92fa0dfb16579f4f6ecd746397bdfdd174d.
> 
> Reason for revert: Breaks Chromium static initialized regression test.
> https://ci.chromium.org/p/chromium/builders/luci.chromium.try/android-marshmallow-arm64-rel/5068
> 
> Original change's description:
> > Use absl::optional instead or rtc::Optional
> > 
> > BUG: webrtc:9078
> > Change-Id: I69aedce324d86e8894b81210a2de17c5ef68fd11
> > Reviewed-on: https://webrtc-review.googlesource.com/77082
> > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#23440}
> 
> TBR=danilchap@webrtc.org,mbonadei@webrtc.org,kwiberg@webrtc.org
> 
> Change-Id: I09ae74bddc69d0b25c8dfbcacc4ec906b34ca748
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/79980
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23449}

TBR=danilchap@webrtc.org,mbonadei@webrtc.org,kwiberg@webrtc.org

Change-Id: I39bcdaa35276c998383edf038802fcc2d42e49c7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/80120
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23460}
2018-05-31 06:39:35 +00:00
303f4a3127 Roll chromium_revision 372312ba2f..64b2aa35c9 (562984:563090)
Change log: 372312ba2f..64b2aa35c9
Full diff: 372312ba2f..64b2aa35c9

Roll chromium third_party 7492eba5e9..dec617523d
Change log: 7492eba5e9..dec617523d

Changed dependencies:
* src/base: 3b2962827a..214ceb8013
* src/build: c447cb6160..a429f6047e
* src/ios: fbe9f18a1b..5cbbe2cfea
* src/testing: 51411f0ada..8b1137b1a5
* src/third_party/freetype/src: 9e345c9117..d45d4b97e6
* src/tools: c81034c6c7..8c2b5be38a
DEPS diff: 372312ba2f..64b2aa35c9/DEPS

No update to Clang.

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

Change-Id: Iee2b2fe663a82c02d8a583ee8a9e4f3634dcdfa2
Reviewed-on: https://webrtc-review.googlesource.com/80082
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23459}
2018-05-31 01:06:24 +00:00
e7e0602a0d ObjC: Notify local video track
The macOS demo add camera preview in didReceiveLocalVideoTrack callback, but this callback is never called.

Bug: webrtc:9276
Change-Id: I60b9cc69672f3654d4e36de0e8140e0bbb957540
Reviewed-on: https://webrtc-review.googlesource.com/77950
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23458}
2018-05-30 22:36:14 +00:00
7941c8a6ba Roll chromium_revision ebe721b053..372312ba2f (562863:562984)
Change log: ebe721b053..372312ba2f
Full diff: ebe721b053..372312ba2f

Roll chromium third_party 2472e1de0b..7492eba5e9
Change log: 2472e1de0b..7492eba5e9

Changed dependencies:
* src/base: 5eedb1be80..3b2962827a
* src/ios: c665420168..fbe9f18a1b
* src/testing: bb8494609c..51411f0ada
* src/tools: 7531639d2d..c81034c6c7
DEPS diff: ebe721b053..372312ba2f/DEPS

No update to Clang.

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

Change-Id: I2a3167e7bc94b06eb1fc67cb2c6cc4bf57bafd17
Reviewed-on: https://webrtc-review.googlesource.com/80042
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23457}
2018-05-30 21:05:38 +00:00
196b02863d Roll chromium_revision 9d94097261..ebe721b053 (562745:562863)
Change log: 9d94097261..ebe721b053
Full diff: 9d94097261..ebe721b053

Roll chromium third_party 39f48fd965..2472e1de0b
Change log: 39f48fd965..2472e1de0b

Changed dependencies:
* src/base: c4070f6ece..5eedb1be80
* src/build: 10a93c2ce7..c447cb6160
* src/ios: cd975cd461..c665420168
* src/testing: e4b4651757..bb8494609c
* src/tools: 721430e00f..7531639d2d
DEPS diff: 9d94097261..ebe721b053/DEPS

No update to Clang.

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

Change-Id: I55dd2f5902ea7b5e16a8bc3a3869c29b1559ea4e
Reviewed-on: https://webrtc-review.googlesource.com/79962
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23456}
2018-05-30 17:15:04 +00:00
a4888f01a4 Revert "Metal rendering should account for cropping."
This reverts commit fc4a9c933326cac2eb048eb507e63021c75e705e.

Reason for revert: Remote video is not showing in a video call.

Original change's description:
> Metal rendering should account for cropping.
> 
> Also:
> - added a rotation override to allow ignoring frame rotation
> - fixed a couple of minor issues
> - made it possible to run the MTKView without the DisplayLink
> 
> Bug: webrtc:9301
> Change-Id: Ia83c152d9b6d45d56ceb80d287b5d3eacfaebddd
> Reviewed-on: https://webrtc-review.googlesource.com/78282
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23452}

TBR=andersc@webrtc.org,kthelgason@webrtc.org,peterhanspers@webrtc.org

Change-Id: Iddf7793368531d2d7268c1ec138bb3a9874a4ab7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9301
Reviewed-on: https://webrtc-review.googlesource.com/80020
Reviewed-by: JT Teh <jtteh@webrtc.org>
Commit-Queue: JT Teh <jtteh@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23455}
2018-05-30 16:45:42 +00:00
3f1d15b352 Remove deprecated mac capture code.
Bug: webrtc:6898, webrtc:6333, webrtc:7861
Change-Id: Ie33eaa47585012f98b59ccffc0c849c1d9da54da
Reviewed-on: https://webrtc-review.googlesource.com/79920
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23454}
2018-05-30 15:40:01 +00:00
533c7d0204 Add missing header file to WebRTC iOS SDK.
This header is missing from the public headers when building the
framework.

Bug: None
Change-Id: I7ce3a57d5fa34d344239dfddcc6e29aee35a2ded
Reviewed-on: https://webrtc-review.googlesource.com/79942
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23453}
2018-05-30 15:35:31 +00:00
fc4a9c9333 Metal rendering should account for cropping.
Also:
- added a rotation override to allow ignoring frame rotation
- fixed a couple of minor issues
- made it possible to run the MTKView without the DisplayLink

Bug: webrtc:9301
Change-Id: Ia83c152d9b6d45d56ceb80d287b5d3eacfaebddd
Reviewed-on: https://webrtc-review.googlesource.com/78282
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23452}
2018-05-30 14:59:22 +00:00
942b360d82 Add conversions to and from double for units.
Bug: webrtc:8415
Change-Id: I6b1f7afb163daa327e45c51f1a3fb7cafbb1444e
Reviewed-on: https://webrtc-review.googlesource.com/78183
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23451}
2018-05-30 14:34:02 +00:00
f859e55d9b Removing warning suppression flags from media.
Bug: webrtc:9251
Change-Id: Ifc795ca0968881e8e32ced25a04986874ba81020
Reviewed-on: https://webrtc-review.googlesource.com/78883
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23450}
2018-05-30 14:17:11 +00:00
28e6a164bf Revert "Use absl::optional instead or rtc::Optional"
This reverts commit 7ba9e92fa0dfb16579f4f6ecd746397bdfdd174d.

Reason for revert: Breaks Chromium static initialized regression test.
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/android-marshmallow-arm64-rel/5068

Original change's description:
> Use absl::optional instead or rtc::Optional
> 
> BUG: webrtc:9078
> Change-Id: I69aedce324d86e8894b81210a2de17c5ef68fd11
> Reviewed-on: https://webrtc-review.googlesource.com/77082
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23440}

TBR=danilchap@webrtc.org,mbonadei@webrtc.org,kwiberg@webrtc.org

Change-Id: I09ae74bddc69d0b25c8dfbcacc4ec906b34ca748
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/79980
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23449}
2018-05-30 14:02:40 +00:00
e64c0e5f2c Skip Mac-10.13.4 for iOS 10 tests, because the machines don't have the SDK
Bug: None
Change-Id: I2067bf7d99e658e1f4d60bff6ba3d2b709261306
Reviewed-on: https://webrtc-review.googlesource.com/79940
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23448}
2018-05-30 13:40:39 +00:00
ee20336f6e Drop entire superframe if any layer is overshooting.
Use new frame dropping mode - FULL_SUPERFRAME_DROP - in VP9 encoder and
configure it to drop entire superframe if any layer is overshooting.

Bug: none
Change-Id: Ie22ed5c175e530bcce365d40cba0d10cb608ad4f
Reviewed-on: https://webrtc-review.googlesource.com/79622
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23447}
2018-05-30 11:23:15 +00:00
df736d83ea Enable inter-layer prediction by default in test apps.
This sets the default inter-layer prediction mode in the test
applications equal to the default value used by WebRTC sender:
- 2 (enabled only for key frames) for normal video.
- 0 (enabled for all frames) for screen sharing.

Bug: none
Change-Id: I1b60d3b906838d2c6f1bef3bb7f7d881bb43534e
Reviewed-on: https://webrtc-review.googlesource.com/78620
Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23446}
2018-05-30 10:09:34 +00:00
293865cbef Cap AppRTCMobile framerate to 30 fps.
Bug: None
Change-Id: I7a8285970df251890d3092bdb6bcb411345af5bc
Reviewed-on: https://webrtc-review.googlesource.com/79660
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23445}
2018-05-30 09:53:24 +00:00