Commit Graph

27716 Commits

Author SHA1 Message Date
8e3cb53892 Remove activity_metric tool.
All the changes to these code are migration or codebase maintenance
changes, the tool seems unused so instead of migrating it to ABSL_FLAG
this CL removes the code.

As agreed on https://webrtc-review.googlesource.com/c/src/+/143967/1#message-067b02363890435e52646dcfdf967df745ac37f1.

Bug: None
Change-Id: I57912541b2c0d0f49e2b862184db335f59def0e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144620
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28484}
2019-07-04 11:07:50 +00:00
543179e527 Roll chromium_revision 79b588ee95..778353d874 (674667:674780)
Change log: 79b588ee95..778353d874
Full diff: 79b588ee95..778353d874

Changed dependencies
* src/build: a1f0d830c2..293721c40d
* src/ios: a7ce8a1bf8..d5b9ab9e68
* src/third_party: b3dbb464d1..f2705a717b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8a36dcd7cf..a78382fe6b
* src/third_party/depot_tools: ff4f6bccd8..92afaf53fd
* src/tools: ff4f506e96..40c476fef3
DEPS diff: 79b588ee95..778353d874/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I42d9a566bc283de6107c555fb82d40b7ecd252c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144587
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28483}
2019-07-04 10:33:34 +00:00
2250b05778 Adding support for channel mixing between different channel layouts.
Two new classes are added to WebRTC from Chrome: ChannelMixer and
ChannelMixingMatrix but they are not yet utilized in the audio path for
WebRTC.

The idea is to utilize these new classes when adding support for multi-
channel encoding/decoding in WebRTC/Chrome.

Adds support for a new enumerator call webrtc::ChannelLayout and some
helper methods which maps between channel layout and number of channels.
These parts are also copied from Chrome.

Minor (cosmetic) changes are also done on the AudioFrame to prepare
for upcoming work.

Bug: webrtc:10783
Change-Id: I6cd7a13a3bc1c8bbfa19bc974c7a011d22d19197
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141674
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28482}
2019-07-04 10:10:54 +00:00
3f2eeb8136 Adding test on GetSpanSamples() for NetEq PacketBuffer.
Bug: webrtc:10736
Change-Id: I4448c5c8e1ae8ea5e343415c4fc2c0fd095ca8ad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144560
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28481}
2019-07-04 09:23:27 +00:00
d2c336f892 [getStats] Implement "media-source" audio levels, fixing Chrome bug.
Implements RTCAudioSourceStats members:
- audioLevel
- totalAudioEnergy
- totalSamplesDuration
In this CL description these are collectively referred to as the audio
levels.

The audio levels are removed from sending "track" stats (in Chrome,
these are now reported as undefined instead of 0).

Background:
  For sending tracks, audio levels were always reported as 0 in Chrome
(https://crbug.com/736403), while audio levels were correctly reported
for receiving tracks. This problem affected the standard getStats() but
not the legacy getStats(), blocking some people from migrating. This
was likely not a problem in native third_party/webrtc code because the
delivery of audio frames from device to send-stream uses a different
code path outside of chromium.
  A recent PR (https://github.com/w3c/webrtc-stats/pull/451) moved the
send-side audio levels to the RTCAudioSourceStats, while keeping the
receive-side audio levels on the "track" stats. This allows an
implementation to report the audio levels even if samples are not sent
onto the network (such as if an ICE connection has not been established
yet), reflecting some of the current implementation.

Changes:
1. Audio levels are added to RTCAudioSourceStats. Send-side audio
   "track" stats are left undefined. Receive-side audio "track" stats
   are not changed in this CL and continue to work.
2. Audio level computation is moved from the AudioState and
   AudioTransportImpl to the AudioSendStream. This is because a) the
   AudioTransportImpl::RecordedDataIsAvailable() code path is not
   exercised in chromium, and b) audio levels should, per-spec, not be
   calculated on a per-call basis, for which the AudioState is defined.
3. The audio level computation is now performed in
   AudioSendStream::SendAudioData(), a code path used by both native
   and chromium code.
4. Comments are added to document behavior of existing code, such as
   AudioLevel and AudioSendStream::SendAudioData().

Note:
  In this CL, just like before this CL, audio level is only calculated
after an AudioSendStream has been created. This means that before an
O/A negotiation, audio levels are unavailable.
  According to spec, if we have an audio source, we should have audio
levels. An immediate solution to this would have been to calculate the
audio level at pc/rtp_sender.cc. The problem is that the
LocalAudioSinkAdapter::OnData() code path, while exercised in chromium,
is not exercised in native code. The issue of calculating audio levels
on a per-source bases rather than on a per-send stream basis is left to
https://crbug.com/webrtc/10771, an existing "media-source" bug.

This CL can be verified manually in Chrome at:
https://codepen.io/anon/pen/vqRGyq

Bug: chromium:736403, webrtc:10771
Change-Id: I8036cd9984f3b187c3177470a8c0d6670a201a5a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143789
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28480}
2019-07-04 08:13:45 +00:00
e8fbc5d702 Refactor WebRtcOpus_PacketHasFec.
WebRtcOpus_PacketHasFec was written long time ago. see http://webrtc-codereview.appspot.com/7539004.
When revisiting, I notice that adding more comments should help. Code style should be improved a bit too.

Bug: webrtc:10772
Change-Id: If4d60b210e6235b4f787608047e88efc949f6838
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144056
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28479}
2019-07-04 07:51:52 +00:00
67008dfb36 Revert "Replace the implementation of GetContributingSources() on the audio side."
This reverts commit 8fa7151e4bbad40fec1f964fe0c003b8787bb78a.

Reason for revert: Speculative revert to fix roll of webrtc into chrome. Right now tests related to RTCRtpReceiver failing and looks like it is main candidate, who can affect that behavior.

Original change's description:
> Replace the implementation of `GetContributingSources()` on the audio side.
> 
> This change replaces the `ContributingSources`-implementation of `GetContributingSources()` and `GetSynchronizationSources()` on the audio side with the spec-compliant `SourceTracker`-implementation.
> 
> The most noticeable impact is that the per-frame dictionaries are now updated when frames are delivered to the RTCRtpReceiver's MediaStreamTrack rather than when RTP packets are received on the network.
> 
> This change is almost identical to the previous video side change at: https://webrtc-review.googlesource.com/c/src/+/143177
> 
> Bug: webrtc:10545
> Change-Id: Ife7f08ee8ca1346099b7466837a3756947085fc5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144422
> Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
> Commit-Queue: Chen Xing <chxg@google.com>
> Cr-Commit-Position: refs/heads/master@{#28459}

TBR=ossu@webrtc.org,chxg@google.com

Change-Id: I5c631d4dcfb39601055ffce9b104f45eea871fd3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10545
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144562
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28478}
2019-07-04 07:14:24 +00:00
c6c730b7fd Roll chromium_revision 54ec0ffb89..79b588ee95 (674538:674667)
Change log: 54ec0ffb89..79b588ee95
Full diff: 54ec0ffb89..79b588ee95

Changed dependencies
* src/build: 1414d7e5d1..a1f0d830c2
* src/ios: 269aa62e0e..a7ce8a1bf8
* src/testing: 49dccc9b60..8ff45170c5
* src/third_party: 8a70281840..b3dbb464d1
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0c5ef59218..8a36dcd7cf
* src/third_party/depot_tools: ffd96e6df0..ff4f6bccd8
* src/third_party/libyuv: 09cfb2bbd6..f9aacffa02
* src/third_party/lss: https://chromium.googlesource.com/linux-syscall-support.git/+log/e6527b0cd4..8048ece6c1
* src/tools: dbbe2e2f9e..ff4f506e96
DEPS diff: 54ec0ffb89..79b588ee95/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I2620270475e64a5fef397b6bfbba2a73b89eed0e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144582
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28477}
2019-07-04 00:30:55 +00:00
697f8618db Roll chromium_revision 13b7238371..54ec0ffb89 (674397:674538)
Change log: 13b7238371..54ec0ffb89
Full diff: 13b7238371..54ec0ffb89

Changed dependencies
* src/base: c97a005aa2..8fcbae5950
* src/build: 1f811ef2c3..1414d7e5d1
* src/ios: 5ab8559892..269aa62e0e
* src/testing: 58d0f2c85c..49dccc9b60
* src/third_party: 60d8a713e4..8a70281840
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/e9399f9f92..0c5ef59218
* src/tools: 666f455146..dbbe2e2f9e
DEPS diff: 13b7238371..54ec0ffb89/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Idbb465e914585ac0dca000f6a1968cfe39dc7b11
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144509
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28476}
2019-07-03 18:46:11 +00:00
2e60217390 Add speculative checks to RtpPacketHistory
This CL adds a number of debug-mode checks for inconsistent state, and
if in release mode will reset the history instead of crashing.

Bug: webrtc:10794
Change-Id: If099a1bb61314177cdad633d0fbdca052cd3a5ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144525
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28475}
2019-07-03 16:07:25 +00:00
46dda83bcb Improve buffer level estimation with DTX and add CNG time stretching.
The functionality is hidden behind field trial for experimentation.

Bug: webrtc:10736
Change-Id: I1daf60966717c3ea43bf6ee16d190290ab740ce7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144059
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28474}
2019-07-03 15:12:09 +00:00
3d642f8442 Rename ..BitrateThresholds to ..BitrateLimits.
Bug: webrtc:10798
Change-Id: I1975206323a520b557652760d1d54c01c26a7405
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144540
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28473}
2019-07-03 14:50:46 +00:00
cecee9903f Disable VP9 2nd profile test for ios arm64
Bug: webrtc:10138
Change-Id: Ic3cad70609470551802002f0aac223093679df44
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144520
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28472}
2019-07-03 14:48:16 +00:00
51f599bdaa Make rtc_base/base_java public.
Bug: webrtc:9048
Change-Id: I4ce8219fcc751ee89050a075df5ad44fc9e68237
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144524
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28471}
2019-07-03 14:44:46 +00:00
81e1bf0396 Remove using DegradationPreference from scenario_config.h
DegradationPreference is already available in namespace webrtc so looks
like there is no reason to redeclare it. Also it cause compilation
error with GCC 5.4.0

Bug: webrtc:10792
Change-Id: I814e90000b8692de67ea477ea7d2769a34a14f01
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144523
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28470}
2019-07-03 14:25:36 +00:00
6542826868 Add new tests with lossy networks on PC test framework
Bug: webrtc:10138
Change-Id: I9383bf620f27b7378d73bd2b549cbaeaf5a58edd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144424
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28469}
2019-07-03 14:23:46 +00:00
cd8a6e2f38 Add writing and parsing of the abs-capture-time RTP header extension.
This change adds the writing and parsing of the `abs-capture-time` RTP header extension defined at:

  http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time

We are still missing the code to:

- Negotiate the header extension.
- Collect capture time for audio and video and have the info sent with the header extension.
- Receive the header extension and use its info.

Bug: webrtc:10739
Change-Id: I75af492e994367f45a5bdc110af199900327b126
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144221
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Chen Xing <chxg@google.com>
Cr-Commit-Position: refs/heads/master@{#28468}
2019-07-03 14:07:36 +00:00
53d45baa50 Make TaskQueueFactory required construction parameter for Call
Bug: webrtc:10284
Change-Id: I573ee0087c035e26918260c21b8b0213ddfe7ebc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143791
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28467}
2019-07-03 14:02:45 +00:00
84ce3c08a5 Macro rename s/CS_DEBUG_CHECKS/RTC_CS_DEBUG_CHECKS.
Bug: None
Change-Id: Ie55de3148cb450de8e37d53e810f2a2d590a1f6c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144049
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28466}
2019-07-03 13:49:52 +00:00
a2b30d8940 Add functions to read from/write to bitstream values with known max value
Bug: webrtc:10342
Change-Id: I701b09de574eb463daaf8d2c19008ac3452879eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144033
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28465}
2019-07-03 13:30:01 +00:00
9eee121a8f Switch py_quality_assessment to ABSL_FLAG.
Bug: webrtc:10616
Change-Id: I051d5706576d5684d82e3e42fb1b40ea755864d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144054
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28464}
2019-07-03 12:46:18 +00:00
b60141b14f Save and serialize the receive RIDs in MediaContentDescription
Bug: webrtc:10790
Change-Id: Ifd94a2c5fce3fcac4c65416a9e7831bf2946015c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144460
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28463}
2019-07-03 12:35:12 +00:00
e8ed83003d WebRtcVideoChannel encoder fallback.
In this CL:
 - Added WEBRTC_VIDEO_CODEC_ENCODER_FAILURE return code that can
   be returned by the encoder wrapper in case of a broken encoder.
 - Added EncoderFailureCallback interface that can be called
   to request encoder fallback to be performed. Implemented by
   WebRtcVideoChannel and called from the VideoStreamEncoder.
 - Updated SelectSendVideoCodec to select all compatible codecs instead
   of just one.

Bug: webrtc:10795
Change-Id: I87a83fd02e48c40493c930471c06c3d0941031ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140888
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28462}
2019-07-03 12:31:42 +00:00
e420c6aa01 Add missing include for memcpy/memcmp
Bug: webrtc:10792, webrtc:10138
Change-Id: I0559e28e31d21ff63154cf811f60bc9de757b7b9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144522
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28461}
2019-07-03 12:27:02 +00:00
6a2c1bae24 Roll chromium_revision ba17fd6b36..13b7238371 (674288:674397)
Change log: ba17fd6b36..13b7238371
Full diff: ba17fd6b36..13b7238371

Changed dependencies
* src/build: 6c0140b448..1f811ef2c3
* src/ios: 9c68e43388..5ab8559892
* src/testing: 5f46e6546d..58d0f2c85c
* src/third_party: 39b1633438..60d8a713e4
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/63f7fcc05a..e9399f9f92
* src/third_party/depot_tools: dc37feb99d..ffd96e6df0
* src/tools: 143f7f54fb..666f455146
DEPS diff: ba17fd6b36..13b7238371/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I2173e63826ec6903ecf4771f853ce673843cc9cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144505
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28460}
2019-07-03 11:05:52 +00:00
8fa7151e4b Replace the implementation of GetContributingSources() on the audio side.
This change replaces the `ContributingSources`-implementation of `GetContributingSources()` and `GetSynchronizationSources()` on the audio side with the spec-compliant `SourceTracker`-implementation.

The most noticeable impact is that the per-frame dictionaries are now updated when frames are delivered to the RTCRtpReceiver's MediaStreamTrack rather than when RTP packets are received on the network.

This change is almost identical to the previous video side change at: https://webrtc-review.googlesource.com/c/src/+/143177

Bug: webrtc:10545
Change-Id: Ife7f08ee8ca1346099b7466837a3756947085fc5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144422
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Chen Xing <chxg@google.com>
Cr-Commit-Position: refs/heads/master@{#28459}
2019-07-03 10:51:51 +00:00
16661ebfd9 Fix: report video_bwe_stats as bytes per second, as specified in the unit
Bug: webrtc:10138
Change-Id: I5b74e9066f47fde0a72348591524f6e43dfd8799
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142172
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28458}
2019-07-03 10:30:57 +00:00
443b7ee635 Destroy existing encoder instance before creating a new one.
Before this change, an attempt to recreate video encoder would fail if
video encoder factory supports only single instance of an encoder.

Added tracking of max number of existed simultaneously encoder
instances to VideoEncoderProxyFactory.

Bug: webrtc:10776
Change-Id: I317cbdf1af94dfb4c72bf99c5cd4ce7b454188fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144044
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28457}
2019-07-03 10:15:57 +00:00
2c5af4f6dc Add * and / operator into SamplesStatsCounter.
Add * and / operator into SamplesStatsCounter to simplify convertion
between samples units.

Bug: webrtc:10138
Change-Id: I985b60bc63c071ceaf0fddcdbcd3e6476353c0fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142171
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28456}
2019-07-03 09:19:36 +00:00
1d46f9c599 Add RtpPacket::IsExtensionReserved().
This is a small utility method to check whether an extension has been
reserved, so that can be checked before attempting to set an extension
without the need to actually try setting it and potentially failing
with warning loggins as a result.

Bug: webrtc:10633
Change-Id: Ie6f2c4f3f5e94a30dbf60aec6290ebee72681d9c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144461
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28455}
2019-07-03 08:13:41 +00:00
6038926379 Roll chromium_revision 35be8751a4..ba17fd6b36 (674036:674288)
Change log: 35be8751a4..ba17fd6b36
Full diff: 35be8751a4..ba17fd6b36

Changed dependencies
* src/base: 5eac8b6a4a..c97a005aa2
* src/build: c4c0a07646..6c0140b448
* src/ios: 5a37f1d06a..9c68e43388
* src/testing: cff8e64fbe..5f46e6546d
* src/third_party: ed7c465048..39b1633438
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2c752374f1..63f7fcc05a
* src/third_party/libvpx/source/libvpx: 30e7f9d856..cd9f1763c8
* src/third_party/libyuv: b36c86fdfe..09cfb2bbd6
* src/tools: 9d7bd5d9cc..143f7f54fb
DEPS diff: 35be8751a4..ba17fd6b36/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,marpan@webrtc.org, jianj@chromium.org,
BUG=None

Change-Id: If1a4181b12d223ebcfd841b42febd463b6f0decc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144500
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28454}
2019-07-03 01:01:28 +00:00
02d7d353a9 Revert "Add ability to set ssrcs of RtpSender at construction time"
This reverts commit e9d6e658c307fc0241d622756703d5c0d5388d80.

Reason for revert: breaks downstream project

Original change's description:
> Add ability to set ssrcs of RtpSender at construction time
> 
> Bug: webrtc:10774
> Change-Id: I7147a75ccbcd1093dcd2e08047da8900843fdd8d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144037
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28447}

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

Change-Id: I8b0cba0836e7d86ae1718055196c2c89860b97ff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10774
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144368
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28453}
2019-07-02 21:05:07 +00:00
c4421979fe Check the rid direction matches the direction in simulcast description
Section 5.2 of draft-ietf-mmusic-sdp-simulcast-14:
The direction for an rid-id MUST be aligned with the direction
specified for the corresponding RTP stream identifier on
the "a=rid" line.

Bug: webrtc:10785
Change-Id: I1fc70706511ae17c821c5ec4d90a0b854171454f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144245
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28452}
2019-07-02 19:17:06 +00:00
238aab9948 Fix bug in use_datagram_transport configuration.
Currently, use_datagram_transport's non-default value is never used.
Instead of reading configuration.use_datagram_transport,
PeerConnection::Initialize reads the local configuration's
use_datagram_transport.  This hasn't been set yet, and so it always
falls back to the default value.

Bug: webrtc:9719
Change-Id: I028ed537c7d88ee3421b6bd92fc7d5e3c6970529
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144441
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28451}
2019-07-02 18:45:46 +00:00
b073f1c27f Only set the RtcEventLog for media transport when it's used for media.
Currently, GenerateOrGetLastMediaTransportOffer() creates a media
transport that has an RtcEventLog, regardless of whether the media
transport is used for media or data channels.  It should only set the
RtcEventLog when used for media.

Bug: webrtc:10789
Change-Id: Id91c16973deec89bbc8c6518c4c9f1039f1265fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144367
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28450}
2019-07-02 17:30:32 +00:00
73bfc0ea8d Roll chromium_revision 6f0434662d..35be8751a4 (673926:674036)
Change log: 6f0434662d..35be8751a4
Full diff: 6f0434662d..35be8751a4

Changed dependencies
* src/base: 3d13a7aa98..5eac8b6a4a
* src/build: 3fa1f27670..c4c0a07646
* src/ios: dfb6071255..5a37f1d06a
* src/testing: 45f0246c12..cff8e64fbe
* src/third_party: 13250e00d5..ed7c465048
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/15ad0b0b62..2c752374f1
* src/tools: a27a29d288..9d7bd5d9cc
DEPS diff: 6f0434662d..35be8751a4/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ie1fb5149871037abddb2f064fe537e751c958a34
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144365
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28449}
2019-07-02 15:04:12 +00:00
ed56cf44b0 Remove deprecated version of Vp8FrameBufferControllerFactory::Create
Bug: webrtc:10769
Change-Id: I31de2d21d5325eb4b175815739c2477352842425
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144381
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28448}
2019-07-02 14:40:20 +00:00
e9d6e658c3 Add ability to set ssrcs of RtpSender at construction time
Bug: webrtc:10774
Change-Id: I7147a75ccbcd1093dcd2e08047da8900843fdd8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144037
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28447}
2019-07-02 13:03:25 +00:00
5ee6967c4e Don't reset encoder on max/min bitrate change.
- Don't reset encoder if max/min bitrate changed.
- Removed min/max bitrate DCHECKs from encoder wrappers.
- Reset encoder if start_bitrate changed. Only do this if encoding
  has not yet started.
- Updated ReconfigureBitratesSetsEncoderBitratesCorrectly test.
- Removed EncoderSetupPropagatesCommonEncoderConfigValues test since it
was a subset of ReconfigureBitratesSetsEncoderBitratesCorrectly.

Bug: webrtc:10773
Change-Id: Id9cbb2ea229232fd95967819e2a937b26948de9f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144028
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28446}
2019-07-02 12:52:55 +00:00
bc70b6164e Switch rnn_vad_tool to ABSL_FLAG.
Tested:
$ ./out/Debug/rnn_vad_tool --i ./data/voice_engine/audio_tiny8.wav \
  --o /tmp/o.prob --f /tmp/o.feat
(rnn_vad_tool.cc:47): Input sample rate: 8000
(rnn_vad_tool.cc:105): VAD probabilities written to /tmp/o.prob
(rnn_vad_tool.cc:108): features written to /tmp/o.feat

Bug: webrtc:10616
Change-Id: Ied33d9425bc1621d084bb04d9acf12ea9602a88b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144048
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28445}
2019-07-02 12:27:15 +00:00
f1a7bb1b09 Stop using unnecessary gclient vars
My understanding is that this purely cargo-culting. We never actually use the variables, nor do we need the "Three lines of non-changing comments", because we roll everything at once anyway.

I also remove the 'chromium_git' variable because the indirection is not helpful and makes the file harder to follow.

I went even further and concatenated all strings. Again, perhaps in the past this was used to more easily update the file with automated tools, but that is also not necessary now.

Verified:
* `gclient revinfo` output remains exactly the same.
* roll_deps.py keeps working.

Change-Id: Ib8fc33b0f11f53fab0fed9b9b578db964fb70bdc
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144400
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28444}
2019-07-02 11:16:45 +00:00
45befc5f1f Pass FecControllerOverride to Vp8FrameBufferControllerFactory::Create
Previously, FecControllerOverride was passed to
Vp8FrameBufferController::SetFecControllerOverride. Passing to
the factory is a more elegant way, since it's only used when
the controller is constructed.

TBR=kwiberg@webrtc.org

Bug: webrtc:10769
Change-Id: Iae599889e7ca9003e3200c2911239cbb763ee65a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144380
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28443}
2019-07-02 10:55:55 +00:00
14be7993c6 Switch neteq tools to ABSL_FLAG.
Bug: webrtc:10616
Change-Id: I2aa688f0976d5618347e402f25d8701b0cf5a360
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144027
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28442}
2019-07-02 10:54:06 +00:00
e731a2ed98 Remove check on supported profile in favor of expilict disabling
Bug: webrtc:10138
Change-Id: I7a258ac992f774e4453092175e51e0033b29d4e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144244
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28441}
2019-07-02 09:07:57 +00:00
bfd343b9be Add totalDecodeTime to RTCInboundRTPStreamStats
Pull request to WebRTC stats specification:
https://github.com/w3c/webrtc-stats/pull/450

Bug: webrtc:10775
Change-Id: Id032cb324724329fee284ebc84595b9c39208ab8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144035
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28440}
2019-07-02 08:28:06 +00:00
419aae2ed3 Remove android_tools deps
Bug: chromium:428426
Change-Id: If99814585df0ef2dd0f1433ca1e71184ecd94baf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144340
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28439}
2019-07-02 06:48:30 +00:00
ebdf9f8163 Roll chromium_revision 097ffaa18d..6f0434662d (673789:673926)
Change log: 097ffaa18d..6f0434662d
Full diff: 097ffaa18d..6f0434662d

Changed dependencies
* src/base: 5413464fb7..3d13a7aa98
* src/build: b1f7a47cfa..3fa1f27670
* src/ios: 07244c207c..dfb6071255
* src/testing: 971f346545..45f0246c12
* src/third_party: ad26420900..13250e00d5
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0384e1a460..15ad0b0b62
* src/tools: 3e04aeaa49..a27a29d288
DEPS diff: 097ffaa18d..6f0434662d/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I05b6a5cae838906bd6e7fdcd6792cd77af96fc13
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144265
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28438}
2019-07-02 02:55:51 +00:00
6fdfec13b9 Add overload to CreateIceTransport that takes additional dependencies
Bug: chromium:927579
Change-Id: I99c77af69b529ebd38c9f5a83882dfe6a2a1ffe9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144320
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28437}
2019-07-01 21:37:54 +00:00
1cf9470d92 Roll chromium_revision 05067e74f0..097ffaa18d (673689:673789)
Change log: 05067e74f0..097ffaa18d
Full diff: 05067e74f0..097ffaa18d

Changed dependencies
* src/build: e41944eb14..b1f7a47cfa
* src/ios: 9b22391709..07244c207c
* src/testing: 7054f41840..971f346545
* src/third_party: bde0ca49d8..ad26420900
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/88a8d7ec3b..0384e1a460
* src/tools: 8ec21a77bc..3e04aeaa49
DEPS diff: 05067e74f0..097ffaa18d/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I3e77179b563ee642669a17059c233281a64f0c4b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144300
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28436}
2019-07-01 20:41:27 +00:00
5985a0481e Add a field trial to control datagram transport use.
First, the existing configuration parameter (use_datagram_transport) is
now optional.

The new field trial has two flag values:
 1. Whether to enable the datagram transport (enabled)
 2. Whether to use the datagram transport by default (default_value)

The first is a kill-switch.  It disables the datagram transport, even
for applications which inject a datagram transport factory and specify
use_datagram_transport = true.  This allows applications which hard-code
a datagram transport to switch it off via field trials.

This flag defaults to true, to avoid breaking downstream projects which
already inject and configure a datagram transport.  It may be changed to
false after updating downstream to set this field trial flag to true
when required.

The second provides a default value to be used in case the
aforementioned use_datagram_transport parameter is unset.  Applications
which explicitly set use_datagram_transport will use that value.
Applications which do not explicitly specify whether or not to use the
datagram transport will use it (or not) according to the default_value
flag.

One goal of this flag is to simplify rollout in applications which
already set field trials based on configuration, but require code
changes for new RTCConfiguration parameters.  A second goal is to
provide platforms with a knob to control whether datagram transport is
"opt-in" or "opt-out".

This flag defaults to false, to prevent downstream projects from
unintentionally enabling the datagram tranpsort.

Bug: webrtc:9719
Change-Id: I521a5fa61c992e76e5081118678a1812a261d672
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144184
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28435}
2019-07-01 20:03:05 +00:00