22292 Commits

Author SHA1 Message Date
Autoroller
e80689fcab Roll chromium_revision 1589d89737..58de35c184 (554416:554518)
Change log: 1589d89737..58de35c184
Full diff: 1589d89737..58de35c184

Changed dependencies:
* src/base: 91b65a4f4a..a6a8333865
* src/build: 298c672395..82daaa128f
* src/ios: 71e73ad48c..b376ecb331
* src/testing: 7bba5e0465..0fc3c466c8
* src/third_party: 1ea10c92f1..58d90af62b
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/9f0e7cb314..cece32610b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/82069c8b6e..6761f26bd9
* src/tools: 96607d9b7c..5182e4e42e
DEPS diff: 1589d89737..58de35c184/DEPS

No update to Clang.

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

Change-Id: I3d603229193656ac536ae250cd43c2fb16a64eeb
Reviewed-on: https://webrtc-review.googlesource.com/73283
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23060}
2018-04-27 22:18:43 +00:00
Per Åhgren
658ad8816b Removed the updating of the padding data buffer in the AEC3 FFT
This CL removes the updating of the buffered data used to to pad the
64 sample blocks to 128 samples FFTs. As that padding was used
incorrectly in one place this resolves an important issue.


Bug: webrtc:9159,chromium:833801,webrtc:9206
Change-Id: Ie6830878ebec6130b61d4e7e3169357f2e253073
Reviewed-on: https://webrtc-review.googlesource.com/73240
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23059}
2018-04-27 19:26:03 +00:00
Autoroller
033050c50f Roll chromium_revision 80461bb5df..1589d89737 (554260:554416)
Change log: 80461bb5df..1589d89737
Full diff: 80461bb5df..1589d89737

Changed dependencies:
* src/base: aa46e2af68..91b65a4f4a
* src/build: a629436deb..298c672395
* src/buildtools: ab7b6a7b35..b7d53a9302
* src/ios: b200e2c7c3..71e73ad48c
* src/testing: c7b8ca1c58..7bba5e0465
* src/third_party: 92601ff244..1ea10c92f1
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/846cec5c4d..82069c8b6e
* src/third_party/depot_tools: 97ce05851c..179dd1e016
* src/tools: 9f1a4134c7..96607d9b7c
DEPS diff: 80461bb5df..1589d89737/DEPS

No update to Clang.

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

Change-Id: I48ff949efcf0cd5f68ea3fa55558c6a287e71c21
Reviewed-on: https://webrtc-review.googlesource.com/73280
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23058}
2018-04-27 18:47:03 +00:00
Per Åhgren
169c7fd521 Use windowed, data padded, FFTs when computing the AEC3 suppressor gain
This CL changes the way the suppressor gain is computed in AEC3 in that
the FFTs used are padded with data and windowed with a Hanning-style
window.
This gives better FFT accuracy, an behavior matching the suppressor
gain application, and also results in one less FFT operation.

Bug: webrtc:9204,chromium:837563
Change-Id: I612676c389cb76a3130966a9b596ff3f44d21863
Reviewed-on: https://webrtc-review.googlesource.com/73141
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23057}
2018-04-27 14:47:56 +00:00
Bjorn Terelius
c4ca1d3f37 Reland "Create new API for RtcEventLogParser."
The new API stores events gathered by event type. For example, it is
possible to ask for a list of all incoming RTCP messages or all audio
playout events.

The new API is experimental and may change over next few weeks. Once
it has stabilized and all unit tests and existing tools have been
ported to the new API, the old one will be removed.

This CL also updates the event_log_visualizer tool to use the new
parser API. This is not a funcional change except for:
- Incoming and outgoing audio level are now drawn in two separate plots.
- Incoming and outgoing timstamps are now drawn in two separate plots.
- RTCP count is no longer split into Video and Audio. It also counts
  all RTCP packets rather than only specific message types.
- Slight timing difference in sendside BWE simulation due to only
  iterating over transport feedbacks and not over all RTCP packets.
  This timing changes are not visible in the plots.


Media type for RTCP messages might not be identified correctly by
rtc_event_log2text anymore. On the other hand, assigning a specific
media type to an RTCP packet was a bit hacky to begin with.

Bug: webrtc:8111
Change-Id: Ib244338c86a2c1a010c668a7aba440482023b512
Reviewed-on: https://webrtc-review.googlesource.com/73140
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23056}
2018-04-27 14:46:51 +00:00
Yongje Lee
ebd9abc1a2 Use IFA_LOCAL instead of IFA_ADDRESS over IPv4 network on ANDROID
IFA_ADDRESS gives DESTINATION address in case of point-to-point
connection, which is not able to create ports for candidate gathering.
Use IFA_LOCAL to avoid this problem.

Bug: webrtc:9189
Change-Id: Ifcb1955b1b4011dc69c93d99b4e223b370dc16eb
Reviewed-on: https://webrtc-review.googlesource.com/69620
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23055}
2018-04-27 14:16:01 +00:00
Yura Yaroshevich
ad3971f40f Allow x86 when build WebRTC.framework for iOS
Bug: webrtc:9203
Change-Id: Id331b14fc1a0695a561f52acd767645caa7f3b49
Reviewed-on: https://webrtc-review.googlesource.com/72940
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23054}
2018-04-27 13:05:31 +00:00
Alex Loiko
95141d91d8 Set a positive initial gain in the Adaptive Digital GC.
If the adaptive gain is too low, we raise it slowly and only during
speech.

The CL gives better behavior at the start of a call. If the gain is too
high, the fixed-digital limits it. The gain is also quickly reduced by
the AdaptiveGainApplier.

Bug: webrtc:7494
Change-Id: I683f1e3e463cddec2d91f6c7f15c73e744430034
Reviewed-on: https://webrtc-review.googlesource.com/71484
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23053}
2018-04-27 09:05:25 +00:00
Niels Möller
d4043f69ae Replace runtime thread checks by compile-time checks.
For all private methods of BitrateAllocator.

Bug: None
Change-Id: I9943d3ee4cdfe00a842e7c2258f57d88b96c4dda
Reviewed-on: https://webrtc-review.googlesource.com/72860
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23052}
2018-04-27 07:51:55 +00:00
Gustaf Ullberg
216af841ad Add debug data dumping to the AEC3 suppressor
Bug: webrtc:8671
Change-Id: Ia4f96fc247335bdf19620446559c21f16abd6682
Reviewed-on: https://webrtc-review.googlesource.com/72700
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23051}
2018-04-27 07:45:45 +00:00
Magnus Jedvert
5ebb82ba9c Android: Remove video recording functionality from the camera classes
There was an attempt to add MediaRecording functionality to the camera
classes, but it was never finished and never worked properly. This CL
removes the code for it. In the future, if offline video recording is
needed we should add it as a VideoSink instead of inside the camera
classes.

Bug: webrtc:9144
Change-Id: I74b70d4b128aa212d84e70da01e5e19133c5af24
Reviewed-on: https://webrtc-review.googlesource.com/69642
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23050}
2018-04-27 07:38:05 +00:00
Sergey Silkin
6a8f30e5a3 Add control for inter-layer prediction mode.
This allows to control inter-layer prediction at encoding VP9 SVC.
There are three options:
1. Disabled.
2. Enabled for all pictures.
3. Enabled for key pictures, disabled for others.

Inter-layer prediction is enabled for all pictures by default.

Bug: none
Change-Id: I49fe43d8744c92bec349d815100ba158519f0664
Reviewed-on: https://webrtc-review.googlesource.com/71500
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23049}
2018-04-27 06:20:15 +00:00
braveyao
ad7f6e5ccf [desktopCapture Mac] Continue screen capture at graphic cards switching
The MBP having both discrete and integrated graphic cards will do
automate graphics switching by default. When it switches from discrete to
integrated one, the current display ID of the built-in display will
change and this will cause screen capture stops.
So make screen capture of built-in display continuing even if its display
ID is changed.

Bug: chromium:836979
Change-Id: If4f2d04d99a2690ccd6f894d94e6f8ff58ba2ec8
Reviewed-on: https://webrtc-review.googlesource.com/72603
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23048}
2018-04-27 04:07:05 +00:00
Autoroller
65e9439f38 Roll chromium_revision fb0734bbb7..80461bb5df (553995:554260)
Change log: fb0734bbb7..80461bb5df
Full diff: fb0734bbb7..80461bb5df

Changed dependencies:
* src/base: 3d769d3b59..aa46e2af68
* src/build: 403c903190..a629436deb
* src/ios: acfe41aa08..b200e2c7c3
* src/testing: efdf54c18f..c7b8ca1c58
* src/third_party: 9537e2acb2..92601ff244
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/dc970d3e1f..846cec5c4d
* src/third_party/depot_tools: 3b9bb81317..97ce05851c
* src/third_party/ffmpeg: 3eebd9796f..156e91a4f3
* src/third_party/googletest/src: 4bd8c4638a..a6f06bf2fd
* src/tools: f2823f163c..9f1a4134c7
DEPS diff: fb0734bbb7..80461bb5df/DEPS

No update to Clang.

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

Change-Id: Ia9ce46ca7c91083f5ada981e6cab15e18480b608
Reviewed-on: https://webrtc-review.googlesource.com/73005
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23047}
2018-04-27 02:20:25 +00:00
Steve Anton
25cfeb9ef1 Fix possible race between the stats collector and transport controller
Previously, it would be possible for the RTCStatsCollector to start
an async network task to gather stats that would be run after the
PeerConnection was closed when the transport controller was set to
null.

Bug: chromium:829238
Change-Id: I22fb4ce603caf2614814780b95b62127cee28284
Reviewed-on: https://webrtc-review.googlesource.com/72525
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23046}
2018-04-26 19:35:24 +00:00
Benjamin Wright
e782abab19 Revert "TCP TURN Integration Test"
This reverts commit edbd389ecc7388973b55e6e3787ed6a95254dc99.

Reason for revert: Breaking integration on Linux.

Original change's description:
> TCP TURN Integration Test
> 
> This changeset adds a new integration test to do basic validation that TCP
> TURN functionality works in WebRTC. It simply sets up a TestTurnServer
> configured to relay over TCP and then allows the clients to connect to this
> server over TCP.
> 
> Bug: webrtc:7668
> Change-Id: Id9f3b4e22f40ace7c7eeddf103b5d954a0872777
> Reviewed-on: https://webrtc-review.googlesource.com/70568
> Commit-Queue: Benjamin Wright <benwright@webrtc.org>
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23044}

TBR=deadbeef@webrtc.org,stefan@webrtc.org,pthatcher@webrtc.org,benwright@webrtc.org

Change-Id: Icdf8747d7a1a7bd2a1a29f1536821a0eacb7764e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7668
Reviewed-on: https://webrtc-review.googlesource.com/72961
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23045}
2018-04-26 18:43:49 +00:00
Benjamin Wright
edbd389ecc TCP TURN Integration Test
This changeset adds a new integration test to do basic validation that TCP
TURN functionality works in WebRTC. It simply sets up a TestTurnServer
configured to relay over TCP and then allows the clients to connect to this
server over TCP.

Bug: webrtc:7668
Change-Id: Id9f3b4e22f40ace7c7eeddf103b5d954a0872777
Reviewed-on: https://webrtc-review.googlesource.com/70568
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23044}
2018-04-26 17:33:27 +00:00
Bjorn Mellem
3a9c46d5ff Extend packet_id to 64 bits in SentPacket and PacketOptions to support QUIC
packet numbers.

Bug: webrtc:9103
Change-Id: Iff85a9523b2890254c295d1e88b93c2e80ff8e17
Reviewed-on: https://webrtc-review.googlesource.com/72261
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23043}
2018-04-26 16:33:57 +00:00
Per Åhgren
280a31fc30 Revert "Making the delay estimator more robust to noisy nearends and low echoes"
This reverts commit b04e5cae08b8a7bc27041c1606547f807aaa2fc1.

Reason for revert: The reason for the revert is that some scenarios were detected where this caused the delay estimation to occur too slowly.

Original change's description:
> Making the delay estimator more robust to noisy nearends and low echoes
> 
> This CL reduces the delay estimator step size to make it react better in
> scenarios where the environment is noisy, or the echo level is fairly
> low.
> 
> Bug: webrtc:9177,chromium:835281
> Change-Id: I482d898c91eddc497e1284ee500d26df21a0574a
> Reviewed-on: https://webrtc-review.googlesource.com/71486
> Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22990}

TBR=gustaf@webrtc.org,peah@webrtc.org

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

Bug: webrtc:9177, chromium:835281
Change-Id: I33e09ebfed8ad8330419e554f482c956608befce
Reviewed-on: https://webrtc-review.googlesource.com/72843
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23042}
2018-04-26 16:32:07 +00:00
Rasmus Brandt
efbdcb0008 Clarify comment in simulcast.cc.
NOTRY=True
TBR=magjed@webrtc.org

Bug: None
Change-Id: I5355919edacbd6e220e8f511abec7e5d058d5e85
Reviewed-on: https://webrtc-review.googlesource.com/72901
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23041}
2018-04-26 15:56:37 +00:00
Sergey Silkin
bc0f0d3ded Rename end_of_superframe to end_of_picture.
For consistency with the VP9 RTP spec which uses term "picture" for set
of frames which belong to the same time instance.

Bug: none
Change-Id: I30e92d5debb008feb58f770b63fe10c2e0029267
Reviewed-on: https://webrtc-review.googlesource.com/72180
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23040}
2018-04-26 15:47:17 +00:00
Gustaf Ullberg
0cb4a25e43 Apply upper gain limit after coherence gains in AEC3
This CL makes sure that the coherence-based gains are affected by the
upper gain limit during call start-up and after resets.

Bug: webrtc:9159,chromium:833801
Change-Id: I93fdd173b6e11ea861d0e01e12c048ec0a91db70
Reviewed-on: https://webrtc-review.googlesource.com/72841
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23039}
2018-04-26 15:43:27 +00:00
Oleh Prypin
a12bdbfe6e Roll chromium_revision 3a1317cc43..fb0734bbb7 (553262:553995) except third_party/ffmpeg
Change log: 3a1317cc43..fb0734bbb7
Full diff: 3a1317cc43..fb0734bbb7

Changed dependencies:
* src/base: 883d93659a..3d769d3b59
* src/build: 6254389a64..403c903190
* src/ios: 22391f0cd6..acfe41aa08
* src/testing: cb1b08132b..efdf54c18f
* src/third_party: 785471e259..9537e2acb2
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0d6f848667..dc970d3e1f
* src/third_party/depot_tools: 2c9a04604f..3b9bb81317
* src/third_party/errorprone/lib: e352be7c87..980d49e839
* src/third_party/ffmpeg: c6aed052ab..16ee25d205
* src/third_party/freetype/src: 26ad1acbcb..2157d8fa6f
* src/third_party/icu: aff99f5c22..e4194dc7bb
* src/tools: 2a8093a35f..f2823f163c
DEPS diff: 3a1317cc43..fb0734bbb7/DEPS

Clang version changed 329921:330570
Details: 3a1317cc43..fb0734bbb7/tools/clang/scripts/update.py

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

Change-Id: Ic8bf8c2710002878fb32cea165af1cf53e1cfa48
Reviewed-on: https://webrtc-review.googlesource.com/72842
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23038}
2018-04-26 15:38:07 +00:00
Bjorn Terelius
73df8837db Make rtc_event_log_parser visible to other targets.
TBR=kwiberg@webrtc.org

Bug: webrtc:8111
Change-Id: I1162403c75531bbbb258458319fd6ca7f654ac1d
Reviewed-on: https://webrtc-review.googlesource.com/72820
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23037}
2018-04-26 15:34:57 +00:00
Niels Möller
c199fae89f Deprecate RTCRtpFragmentationHeader argument for objc decoders.
Bug: webrtc:6471
Change-Id: Id542360c470ed0ea13b7e963f11bcd50d52c1d43
Reviewed-on: https://webrtc-review.googlesource.com/72442
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23036}
2018-04-26 15:28:17 +00:00
Oleh Prypin
530a55fc86 Correctly specify Xcode version for trybots (same as for postsubmit)
TBR: phoglund@webrtc.org
Bug: webrtc:9201
Change-Id: I477be03e9c6af416444a707718d9092ac35d9b3d
Reviewed-on: https://webrtc-review.googlesource.com/72880
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23035}
2018-04-26 15:08:47 +00:00
Yura Yaroshevich
0f77feae6d Init max supported H.264 profile at runtime on iOS
Bug: webrtc:9134, webrtc:7992
Change-Id: Id24c570bf3296298901f61ee817a3d7c3f8c6347
Reviewed-on: https://webrtc-review.googlesource.com/71560
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23034}
2018-04-26 15:01:07 +00:00
Mirko Bonadei
f364cd7541 Revert "Adding gclient_gn_args_file to WebRTC DEPS."
This reverts commit f0e88d4601a7cdbb97359dae18bb1f01ee18e99f.

Reason for revert: This should not be needed after:
https://chromium-review.googlesource.com/1028571

Original change's description:
> Adding gclient_gn_args_file to WebRTC DEPS.
>
> In order to unblock the Chromium Roll into WebRTC this CL tells gclient
> to generate build/config/gclient_args.gni with the value of
> checkout_android.
>
> Bug: None
> Change-Id: Iaca047ab5886545d0c9f3228099d8e8a914842e4
> Reviewed-on: https://webrtc-review.googlesource.com/72040
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22996}

No-Try: True
Bug: chromium:836344
Change-Id: Ief0ca65b63e80bcb1d379f667d1e55e7d665d546
Reviewed-on: https://webrtc-review.googlesource.com/72680
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23033}
2018-04-26 14:52:15 +00:00
Oleh Prypin
775d07e277 Avoid ObjectToString warning
sdk/android/src/java/org/webrtc/HardwareVideoDecoder.java:210: warning: [ObjectToString] android.media.MediaCodec is final and does not override Object.toString, converting it to a string will print its identity (e.g. `android.media.MediaCodec@ 4488aabb`) instead of useful information.
      Logging.d(TAG, "decode uninitalized, codec: " + codec + ", callback: " + callback);

Bug: None
No-Try: True
Change-Id: Ief08f8f7fcbd16091cac4d4f0b4d30e82f5b1bd3
Reviewed-on: https://webrtc-review.googlesource.com/72840
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23032}
2018-04-26 14:33:10 +00:00
Yura Yaroshevich
6136314cff Fixed typo in max macroblock frame size.
Bug: webrtc:9134
Change-Id: I218342f608912a9fe0ded374e26274b0c9f6d678
Reviewed-on: https://webrtc-review.googlesource.com/71520
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23031}
2018-04-26 14:32:05 +00:00
Karl Wiberg
6f3d01c829 "Fix" signed integer overflow in old code
It's safe to ignore this overflow since it only affects audio data,
not indices or anything like that.

Bug: chromium:835637
Change-Id: I60162e4627b08d5e3ba3a21fdae8087f098c7e46
Reviewed-on: https://webrtc-review.googlesource.com/72701
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23030}
2018-04-26 13:38:57 +00:00
Mirko Bonadei
29a8d10138 Fixing unnecessary copy (-Wreturn-std-move).
The suppression has been removed in
https://webrtc-review.googlesource.com/c/src/+/72420.

Bug: None
TBR: magjed@webrtc.org
No-Try: True
Change-Id: I0cd4bdd4906fc23f189d7232781d15a248334a13
Reviewed-on: https://webrtc-review.googlesource.com/72483
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23029}
2018-04-26 09:43:05 +00:00
JT Teh
c1f083d143 Add notifiers for when the audio session will be activated/deactivated, did activate/deactivate and failed to activate/deactivate.
Bug: webrtc:9191
Change-Id: I68a71701dd4c3660331080495b5be4408493aa86
Reviewed-on: https://webrtc-review.googlesource.com/72262
Commit-Queue: JT Teh <jtteh@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23028}
2018-04-25 16:50:43 +00:00
Jesús de Vicente Peña
dc872b6be1 AEC3: Audibility: improvements on the initial noise estimation
Bug: webrtc:9193,chromium:836790
Change-Id: I589082a18a4a5d1ba5abc170b6cf49d1f545b6cc
Reviewed-on: https://webrtc-review.googlesource.com/72480
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23027}
2018-04-25 16:19:43 +00:00
Björn Terelius
ff61273c01 Revert "Create new API for RtcEventLogParser."
This reverts commit 9e336ec0b8a77c3461d13677cff3563c11c88daa.

Reason for revert: Code can accidentally include the deprecated parser but link with the new one, or vice versa. Reverting to fix naming.

Original change's description:
> Create new API for RtcEventLogParser.
> 
> The new API stores events gathered by event type. For example, it is
> possible to ask fo a list of all incoming RTCP messages or all audio
> playout events.
> 
> The new API is experimental and may change over next few weeks. Once
> it has stabilized and all unit tests and existing tools have been
> ported to the new API, the old one will be removed.
> 
> This CL also updates the event_log_visualizer tool to use the new
> parser API. This is not a funcional change except for:
> - Incoming and outgoing audio level are now drawn in two separate plots.
> - Incoming and outgoing timstamps are now drawn in two separate plots.
> - RTCP count is no longer split into Video and Audio. It also counts
>   all RTCP packets rather than only specific message types.
> - Slight timing difference in sendside BWE simulation due to only
>   iterating over transport feedbacks and not over all RTCP packets.
>   This timing changes are not visible in the plots.
> 
> 
> Media type for RTCP messages might not be identified correctly by
> rtc_event_log2text anymore. On the other hand, assigning a specific
> media type to an RTCP packet was a bit hacky to begin with.
> 
> Bug: webrtc:8111
> Change-Id: I8e7168302beb69b2e163a097a2a142b86dd4a26b
> Reviewed-on: https://webrtc-review.googlesource.com/60865
> Reviewed-by: Minyue Li <minyue@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23015}

TBR=terelius@webrtc.org,srte@webrtc.org,minyue@webrtc.org

Change-Id: Ib4bbcf0563423675a3cc1dce59ebf665e0c5dae9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8111
Reviewed-on: https://webrtc-review.googlesource.com/72500
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23026}
2018-04-25 14:23:14 +00:00
Niels Möller
65fb4049c1 Don't expose resilience mode in VP8 and VP9 configuration.
This deletes the resilienceOn flag in VideoCodecVP8 and VideoCodecVP9.
Instead, the implementations of VP8 and VP9 set resilience mode
internally, based on the configuration of temporal and spatial layers.

The nack_enabled argument to VideoCodecInitializer::SetupCodec becomes
unused with this cl. In a followup, it will be deleted, together with
the corresponding argument to VideoStreamEncoder methods.

An applications which really wants to configure resilience differently
can do that by injecting an EncoderFactory with encoders behaving
as desired.

Bug: webrtc:8830
Change-Id: I9990faf07d3e95c0fb4a56fcc9a56c2005b4a6fa
Reviewed-on: https://webrtc-review.googlesource.com/71380
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23025}
2018-04-25 13:54:33 +00:00
Jesús de Vicente Peña
d5cb477576 AEC3: Audibility improvements
This CL is created from a work initiated at https://webrtc-review.googlesource.com/c/src/+/61160

The purpose of this work is to improve the performance of the echo canceler (AEC3) when the farend signal contains stationary noises:
- An stationarity estimator of the farend signal has been added for detecting the portions of the farend signal that are pure noise.
- When the echo canceler deals with a portion of the signal that contains basically noise, the echo suppressor is able to back-off and avoid the fading of the nearend speech.

Change-Id: Id4b87fc59f4765bf1fca36d1cab39a49aabe104a
Bug: webrtc:9193,chromium:836790
Reviewed-on: https://webrtc-review.googlesource.com/64141
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23024}
2018-04-25 13:52:03 +00:00
Niels Möller
74e5f804e4 Make BitrateAllocator::transmission_max_bitrate_multiplier_ const.
To make this work, also make the private method
GetTransmissionMaxBitrateMultiplier static.

Bug: None
Change-Id: I1777602b89d404ecbc9956acf9a9c7f852d69911
Reviewed-on: https://webrtc-review.googlesource.com/72440
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23023}
2018-04-25 13:28:13 +00:00
Gustaf Ullberg
5bb98971ce Remove attenuation of narrow banded peaks
The code that attenuates narrow banded echo peaks in low frequencies
is removed as it affects transparency negatively.

Bug: webrtc:9192,chromium:836729
Change-Id: Ib90ce6a3db0a75e8d69bdca432e1f8f8bfbbd988
Reviewed-on: https://webrtc-review.googlesource.com/72380
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23022}
2018-04-25 11:51:23 +00:00
Anders Carlsson
1f433e46db Mark built-in software video codecs as poisonous.
The goal is to make these injectable, and only VP8 and VP9 specific
targets should depend on them.

Bug: webrtc:7925
Change-Id: Ie9239a54d197fe70c93de0582797211fef6997a2
Reviewed-on: https://webrtc-review.googlesource.com/72082
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23021}
2018-04-25 11:34:33 +00:00
Rasmus Brandt
cd7da92012 Add MediaCodec VP tests for uncommon resolutions.
Bug: None
Change-Id: Ibfc35af3635c3b3a50027c4cd828f78e7a438dcd
Reviewed-on: https://webrtc-review.googlesource.com/72342
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23020}
2018-04-25 11:31:13 +00:00
Elad Alon
89aad9e168 Remove the limit on concurrent RtcEventLogImpl instances
The limit was introduced to avoid spawning too many threads.
It had the downside that the peer connections which have an
associated RtcEventLogImpl instance, are not necessarily those
which we wish to log.
After this CL, it becomes the responsibility of the application
hosting WebRTC to limit the number of peer connections to a
number which it can support, including thread resources.

Bug: webrtc:9046
Change-Id: I7444a6020dd51583c666285655af986def53faa4
Reviewed-on: https://webrtc-review.googlesource.com/70661
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Dino Radaković <dinor@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23019}
2018-04-25 10:33:43 +00:00
Sebastian Jansson
512bdce714 Using microseconds in FakeNetworkPipe.
This CL changes the usages of milliseconds as a unit in FakeNetworkPipe
to microseconds. This matches the time unit of the PacketTime struct and
increases the precision of the simulation. The time resolution in
FakeNetworkPipe::Config is kept unchanged to keep the values more human
readable.

This CL prepares refactoring in upcoming CLs.

Bug: webrtc:9054
Change-Id: I103f7a0afa41381f676ea07fcc8c083532e61f1d
Reviewed-on: https://webrtc-review.googlesource.com/64140
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23018}
2018-04-25 10:32:23 +00:00
Sebastian Jansson
09408115cd Moving demux from FakeNetworkPipe to DirectTransport.
This CL moves the responsibility for demuxing from FakeNetworkPipe
to DirectTransport. This makes the interface for FakeNetworkPipe more
consistent. It exposes fewer different interfaces for different usages.

It also means that any time degradations applied to the packets due in
FakeNetworkPipe in tests will now be propagated to Call in a more
realistic manner. Previously the time was set to uninitialized which
meant that Call filled in values based on the system clock.

Bug: webrtc:9054
Change-Id: Ie534062f5ae9ad992c06b19e43804138a35702f0
Reviewed-on: https://webrtc-review.googlesource.com/64260
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23017}
2018-04-25 10:13:03 +00:00
Rasmus Brandt
abc821cd31 Allow multiple calls to ProcessFramesAndMaybeVerify with frame writers enabled.
Bug: None
Change-Id: Ic6e52401ec2db3d0bcaca3605c28763123a4eeb8
Reviewed-on: https://webrtc-review.googlesource.com/72343
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23016}
2018-04-25 09:46:13 +00:00
Bjorn Terelius
9e336ec0b8 Create new API for RtcEventLogParser.
The new API stores events gathered by event type. For example, it is
possible to ask fo a list of all incoming RTCP messages or all audio
playout events.

The new API is experimental and may change over next few weeks. Once
it has stabilized and all unit tests and existing tools have been
ported to the new API, the old one will be removed.

This CL also updates the event_log_visualizer tool to use the new
parser API. This is not a funcional change except for:
- Incoming and outgoing audio level are now drawn in two separate plots.
- Incoming and outgoing timstamps are now drawn in two separate plots.
- RTCP count is no longer split into Video and Audio. It also counts
  all RTCP packets rather than only specific message types.
- Slight timing difference in sendside BWE simulation due to only
  iterating over transport feedbacks and not over all RTCP packets.
  This timing changes are not visible in the plots.


Media type for RTCP messages might not be identified correctly by
rtc_event_log2text anymore. On the other hand, assigning a specific
media type to an RTCP packet was a bit hacky to begin with.

Bug: webrtc:8111
Change-Id: I8e7168302beb69b2e163a097a2a142b86dd4a26b
Reviewed-on: https://webrtc-review.googlesource.com/60865
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23015}
2018-04-25 09:37:03 +00:00
Åsa Persson
a945aee72e Make quality scaler downscale faster.
Include dropped frames by the encoder in the frame drop percentage.

To react faster at low framerates:
- Use ExpFilter instead of MovingAverage to filter QP values.
- Reduce sampling interval while waiting for minimum number of needed frames (when not in fast rampup mode).

A separate slower ExpFilter is used for upscaling.

Bug: webrtc:9169
Change-Id: If7ff6c3bd4201fda2da67125889838fe96ce7061
Reviewed-on: https://webrtc-review.googlesource.com/70761
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23014}
2018-04-25 09:08:21 +00:00
Steve Anton
c79268f15a Add IsClosed checks to various PeerConnection methods
This brings the implementations in line with the WebRTC
specification.

Bug: chromium:829238
Change-Id: I7ef64e7b6ccf0e9f60f017443565494239ff19cc
Reviewed-on: https://webrtc-review.googlesource.com/71961
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23013}
2018-04-24 23:07:21 +00:00
Autoroller
323a8e824b Roll chromium_revision a5ade7264f..3a1317cc43 (553159:553262)
Change log: a5ade7264f..3a1317cc43
Full diff: a5ade7264f..3a1317cc43

Changed dependencies:
* src/base: a884426f54..883d93659a
* src/build: 1887e65ae9..6254389a64
* src/ios: dea7ad03a1..22391f0cd6
* src/testing: 77888ec924..cb1b08132b
* src/third_party: 61728bec79..785471e259
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/921cf8305c..0d6f848667
* src/tools: 25941686ba..2a8093a35f
DEPS diff: a5ade7264f..3a1317cc43/DEPS

No update to Clang.

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

Change-Id: I22a719d4cc98c25e46413806ee3809294555785c
Reviewed-on: https://webrtc-review.googlesource.com/72201
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23012}
2018-04-24 21:22:31 +00:00
Mirko Bonadei
2ff7b6adf0 Revert "Make VideoStreamEncoder::ReconfigureEncoder always call ConfigureQualityScaler."
This reverts commit f394f65b7195a5f9f71c9f0dec3bb68300590b5b.

Reason for revert: Breaks downstream project.

Original change's description:
> Make VideoStreamEncoder::ReconfigureEncoder always call ConfigureQualityScaler.
> 
> In addition restore call to ConfigureQualityScaler in SetSource, which
> is needed if degradation preferences change mid-stream.
> 
> Fixes a regressions from https://webrtc-review.googlesource.com/70740,
> The encoder's GetScalingSettings may depend on arguments to
> InitEncode, so configuring the quality scaler only at encoder creation
> time isn't enough.
> 
> Bug: webrtc:8830
> Change-Id: I48f66cde219c56272f44441fdb26ec64c6002068
> Reviewed-on: https://webrtc-review.googlesource.com/72000
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22993}

TBR=nisse@webrtc.org,asapersson@webrtc.org

Change-Id: I8c1c12fb53a1bfd6d03c54b93dac6033b7cce081
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8830
Reviewed-on: https://webrtc-review.googlesource.com/72220
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23011}
2018-04-24 20:26:22 +00:00