Commit Graph

26033 Commits

Author SHA1 Message Date
24a164bdcf Introduce ExampleVideoQualityAnalyzer.
This analyzer will be used in implementatino of peer connection level
test framework before main analyzer will be implemented.

Bug: webrtc:10138
Change-Id: Ibb7c5cd94b0f07c6fc5a2415f04b0f0ae7ae75e2
Reviewed-on: https://webrtc-review.googlesource.com/c/117221
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26301}
2019-01-17 16:50:38 +00:00
dbdd8395f7 Add ability for VideoEncoder to signal frame rate allocation.
This CL add new data to the VideoEncoder::EncoderInfo struct, indicating
how the encoder intends to allocate frames across spatial and temporal
layers.

This metadata will be used in upcoming CLs to control how the encoder's
rate controller performs.

Bug: webrtc:10155
Change-Id: Id56fae04bae5f230d1a985171097d7ca83a3be8a
Reviewed-on: https://webrtc-review.googlesource.com/c/117900
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26300}
2019-01-17 15:40:53 +00:00
f93eda1705 Move some video codec constants to separate file.
kMaxSimulcastStreams, kMaxSpatialLayers and kMaxTemporalStreams don't
really beling on VideoBitrateAllocation.
common_types.h is going away and it feels dubious to requrie include
of the full VideoEncoder api to use them. Therefore moving them into a
seprate file/target.

Also includes some remaining cleanup of includes.

Bug: webrtc:9271
Change-Id: I7ded3d97a9a835ac756159700774445a2b93a697
Reviewed-on: https://webrtc-review.googlesource.com/c/117305
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26299}
2019-01-17 15:29:53 +00:00
74ba99062c AEC3: Lockless transfer of render data to the capture thread
This CL implements a lockless queue that replaces SwapQueue
in the RenderWriter. This avoid stalls when the render and
capture threads are accessing the queue at the same time.

Bug: webrtc:10205
Change-Id: Ie7d6fcf9c80fad957e2a90537658fb730ca2ed72
Reviewed-on: https://webrtc-review.googlesource.com/c/117643
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26298}
2019-01-17 14:41:18 +00:00
fb7a6a7f8d Delete test WebRtcVideoChannelTest.AdaptsOnOveruseAndChangeResolution
It only tests the videoadaptation in the test class FakeVideoCapturer.

Bug: webrtc:6353
Change-Id: I4766eebc5cfa7412fde9fd6e5173f1b2381a5d87
Reviewed-on: https://webrtc-review.googlesource.com/c/118042
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26297}
2019-01-17 14:23:52 +00:00
15589a3be1 Increase timeout for internal iOS perf, like for public android and desktop
Bug: webrtc:10047
Change-Id: Ia3a34e0135aafdfa3cb88244ef83ef06bfbd7aef
Reviewed-on: https://webrtc-review.googlesource.com/c/117963
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26296}
2019-01-17 13:46:18 +00:00
348b08ac3e Introduce webrtc::TaskQueue and TaskQueueFactory interfaces
Bug: webrtc:10191
Change-Id: Ia2fff34cb260d904f25f7263051695f1c004a53b
Reviewed-on: https://webrtc-review.googlesource.com/c/117360
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26295}
2019-01-17 13:10:14 +00:00
24871e4cbe Rename EncodedImage::_buffer --> buffer_, and make private
Bug: webrtc:9378
Change-Id: I0a0636077b270a7c73bafafb958132fa648aca70
Reviewed-on: https://webrtc-review.googlesource.com/c/117722
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26294}
2019-01-17 12:38:15 +00:00
83ed89a45f Opus multistream.
This is a backwards-compatible change. It makes WebRTC use the Opus
multistream decoder for all Opus packets. Single-stream packets are a
special case of multistream ones (with stream=1).

The tricky parts are 'WebRtcOpus_GetMaxPlaybackRate' and
'WebRtcOpus_GetSurroundParameters'. GetMaxPlaybackRate is supposed to
do what opus_encoder_ctl(encoder, OPUS_GET_MAX_BANDWIDTH(&bandwidth))
did when we had single-stream encoders. Now there may be several
independent encoders with possibly different BANDWIDTH. The new
GetMaxPlaybackRate queries all of them, and returns a playback rate if
all the encoder's rates are equal.

WebRtcOpus_GetSurroundParameters is a configuration convention. It
maps the number of channels to a multi-stream encoder/decoder
configuration. As described in RFC 7845
https://tools.ietf.org/html/rfc7845#section-5.1.1, a multi-stream
encoder/decoder needs a number of streams, number of coupled streams
and a 255-byte mapping array. The function GetSurroundParameters
computes all of these from the number of channels. [1, 2, 4, 6, 8]
channels are supported.

Bug: webrtc:8649
Change-Id: I271de8e387d738254d6aa53af7fcf8644a53edb5
Reviewed-on: https://webrtc-review.googlesource.com/c/111750
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26293}
2019-01-17 12:23:23 +00:00
fe626f53f0 Roll chromium_revision ac86e0cdbd..3a9216d2da (623074:623639)
Change log: ac86e0cdbd..3a9216d2da
Full diff: ac86e0cdbd..3a9216d2da

Changed dependencies
* src/base: 3512d309cf..7a599db692
* src/build: 7a1aacd97b..5da693fe57
* src/ios: 25a53b6238..d36794522f
* src/testing: 26ed96a6ec..735158b947
* src/third_party: 7006d02fbe..ef8e4d1296
* src/third_party/android_deps/libs/com_google_ar_core: version:1.5.0-cr0..version:1.6.0-cr0
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/78448d9008..a9729f3347
* src/third_party/depot_tools: e229a0e3c5..deab113bfb
* src/third_party/libvpx/source/libvpx: 759d1de9d0..858fe955ae
* src/tools: 8c251b2ca5..c1667501ec
DEPS diff: ac86e0cdbd..3a9216d2da/DEPS

No update to Clang.

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

Change-Id: I4b6cb233df44122e95f7ca816a86b2940bb317e6
Reviewed-on: https://webrtc-review.googlesource.com/c/118031
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@{#26292}
2019-01-17 11:45:45 +00:00
1ba3ddd3c6 Remove obsolete video_capture_module dependency.
Since WebRtcVideoCapturer and related classes were deleted [1],
this dependency isn't needed anymore.

[1] https://webrtc.googlesource.com/src/+/fd87da7a4b548e8b446b57795fcff7d4c2659662

Bug: webrtc:6353
Change-Id: I9f2df2d11d1bf471c941f6d7769b35f70f5ffd27
Reviewed-on: https://webrtc-review.googlesource.com/c/117960
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26291}
2019-01-17 11:28:43 +00:00
cbe2edc319 Fix chromium roll
Remove unused deprecated gclient hook:
https://chromium-review.googlesource.com/c/1394925

BUG=None

Change-Id: Ied5889000d607305a761a80274a18361966ed10e
Reviewed-on: https://webrtc-review.googlesource.com/c/117962
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26290}
2019-01-17 11:00:24 +00:00
4a7b3acfcf Add DTLSTransport info into sender/receiver state.
This is in preparation for letting Chrome extract DTLSTransport
information after SLD/SRD instead of doing it on-demand.

Bug: chromium:907849
Change-Id: Iac6b174c98d3d14136e1fd25bce4a9292f6c8b41
Reviewed-on: https://webrtc-review.googlesource.com/c/116984
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26289}
2019-01-17 10:21:32 +00:00
ad8719442b Adds audio DTX and mute support to scenario tests.
Bug: webrtc:9510
Change-Id: I50a12c319141dd505309830afdc169c6811c5eca
Reviewed-on: https://webrtc-review.googlesource.com/c/117920
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26288}
2019-01-17 09:53:48 +00:00
62f55321cf Fix typo in DISABLED_HighBitrateWithFakeCodec test
Bug: chromium:879723
TBR: sprang@webrtc.org
Change-Id: Ibbf7afcc145928e0a27bfd4a6e8fa12b932559da
Reviewed-on: https://webrtc-review.googlesource.com/c/118000
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26287}
2019-01-16 23:43:51 +00:00
2b5baeec17 Create no-op DTLS if media transport is used.
We'd like to disable RTP code path when media transport is used. In particular, we don't want occasional RTP/RTCP packets sent from the RTP code path when media transport is used.

Long term we will remove this new NoOp DTLS transport, when we stop creating rtp transport.

Bug: webrtc:9719
Change-Id: I27f121edef394465ddc8fe8003e6f4428b10c022
Reviewed-on: https://webrtc-review.googlesource.com/c/117700
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26286}
2019-01-16 22:01:35 +00:00
7c03bdc1d3 Reland "Add a high bitrate full stack test with fake codec"
In this reland, I disabled high bitrate webrtc perf test on Android32.

This is a reland of 15df2774f4e85cf8900768c1793edcf17d651dcd

Original change's description:
> This CL adds a fake codec factory  in WebRTC that can be used in tests to
> produce target bitrate output.

> We also add a high bitrate test that makes use of fake codec. This test assumes
> ideal network conditions with target bandwidth being available and exercises
> WebRTC calls with a high target bitrate(100 Mbps) end-to-end.

TBR=sprang@webrtc.org,stefan@webrtc.org,srte@webrtc.org,emircan@webrtc.org,kron@webrtc.org

Bug: chromium:879723
Change-Id: I31a4b48d986bef9ca003ae71afeb567ae3e562c9
Reviewed-on: https://webrtc-review.googlesource.com/c/117980
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26285}
2019-01-16 21:03:22 +00:00
52de8b0270 Adds functionality to write logs to memory.
This makes it possible to save log outputs from scenario tests to
either files or memory.

Bug: webrtc:9510
Change-Id: I883bd8240ab712d31d54118adf979041bd83481a
Reviewed-on: https://webrtc-review.googlesource.com/c/116321
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26284}
2019-01-16 17:36:31 +00:00
375b346b30 Delete all logic related to VCMDecodeErrorMode
Bug: webrtc:8064
Change-Id: I345f342a314d88390fff8b305b121076b45a51e8
Reviewed-on: https://webrtc-review.googlesource.com/c/116692
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26283}
2019-01-16 15:41:07 +00:00
309aafe351 Add 'AudioPacket' notification to media transport interface.
So far, base channel was only notifying about 'first audio packet' when
RTP was used, and it never notified about it when media_transport
interface was used. This change adds a sigslot to notify about a new
media packet to the media transport interface.

Bug: webrtc:9719
Change-Id: Ie9230c407f35b1aaa71ba71008ac34ba8869e2d4
Reviewed-on: https://webrtc-review.googlesource.com/c/117249
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26282}
2019-01-16 15:23:17 +00:00
e7d08df837 Fix chromium roll into WebRTC.
Original error detected here:
https://webrtc-review.googlesource.com/c/src/+/117840/

BUG=None

Change-Id: I30c7dc6b1ddbf32a7081e07a261554cbe72db9ba
Reviewed-on: https://webrtc-review.googlesource.com/c/117880
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26281}
2019-01-16 15:19:57 +00:00
90d0a627c4 Deflake VideoSendStreamTest.SupportsVideoTimingFrames
Bug: none
Change-Id: I1544bb699056acbe55058da615004d137e932d96
Reviewed-on: https://webrtc-review.googlesource.com/c/117640
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26280}
2019-01-16 13:51:06 +00:00
50e77457db Harmonic frame rate metric.
This adds calculation and reporting of harmonic frame rate (HFR) metric.
HFR is calculated as call_duration_secs / sum(frame_duration_secs ^ 2).
It penalizes long freezes and could better represent user experience
related to smoothness of playback.

Bug: none
Change-Id: I4d2d46deaa44bb4221b53969a1c0a334e0c1bde9
Reviewed-on: https://webrtc-review.googlesource.com/c/117661
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26279}
2019-01-16 13:33:33 +00:00
dcc70297cd Simplify WebRtcVideoChannelTest.PreviousAdaptationDoesNotApplyToScreenshare
Test wiring to DegradationPreference passed to
VideoSendStream::SetSource, but not the adaptation implemented in the
test class FakeVideoCapturer.

Bug: webrtc:6353
Change-Id: Iec2ae89283fb856822ea2829db17eaa02337b467
Reviewed-on: https://webrtc-review.googlesource.com/c/117641
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26278}
2019-01-16 13:02:49 +00:00
254ecffacf Using absl::string_view to stringify an RTCErrorType.
Bug: webrtc:10198
Change-Id: Ie7fdba08df219a03ebe2ee5521c2840f28571bba
Reviewed-on: https://webrtc-review.googlesource.com/c/117162
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26277}
2019-01-16 11:49:00 +00:00
0acffb5b36 Expose jitterBufferEmittedCount in addition to the existing jitterBufferDelay for getStats().
NetEq currently only passes `jitterBufferDelay` to `getStats()`. We need its paired `jitterBufferEmittedCount` denominator stat for the calculations to be accurate.

Bug: webrtc:10192
Change-Id: I655aea629026ce9101409c2e0f18c2fa57a1c3ab
Reviewed-on: https://webrtc-review.googlesource.com/c/117320
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Chen Xing <chxg@google.com>
Cr-Commit-Position: refs/heads/master@{#26276}
2019-01-16 11:44:10 +00:00
876d1d3fed Revert "Reland "Adds richer packet and ice processing to ParsedRtcEventLog.""
This reverts commit 20aae1de5c745fd62025e3464f736416c849e270.

Reason for revert: Accidental revert.

Original change's description:
> Reland "Adds richer packet and ice processing to ParsedRtcEventLog."
> 
> This reverts commit 5586d7fb5717fd772463c17a4675491980c5d017.
> 
> Reason for revert: <INSERT REASONING HERE>
> 
> Original change's description:
> > Revert "Adds richer packet and ice processing to ParsedRtcEventLog."
> > 
> > This reverts commit 4306a25dfcaba7defe09f5d4b669736d374fe985.
> > 
> > Reason for revert: Breaks downstream project
> > 
> > Original change's description:
> > > Adds richer packet and ice processing to ParsedRtcEventLog.
> > > 
> > > Bug: webrtc:10170
> > > Change-Id: I0f10a8c0b5656917a806cf0f3ad88b7a6baee000
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/116069
> > > Reviewed-by: Björn Terelius <terelius@webrtc.org>
> > > Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#26268}
> > 
> > TBR=terelius@webrtc.org,srte@webrtc.org
> > 
> > Change-Id: Ic50fdfb6b10c26e77728b594f553bc4aac4eb0ab
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:10170
> > Reviewed-on: https://webrtc-review.googlesource.com/c/117780
> > Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
> > Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#26270}
> 
> TBR=terelius@webrtc.org,srte@webrtc.org,amithi@webrtc.org
> 
> Change-Id: I5e87fb472b91dd4b6fa177418f03a9031035ec60
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10170
> Reviewed-on: https://webrtc-review.googlesource.com/c/117721
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26274}

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

Change-Id: Ie020006b02dda628c638ba00ac519f6da2aaa090
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10170
Reviewed-on: https://webrtc-review.googlesource.com/c/117723
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26275}
2019-01-16 08:26:37 +00:00
20aae1de5c Reland "Adds richer packet and ice processing to ParsedRtcEventLog."
This reverts commit 5586d7fb5717fd772463c17a4675491980c5d017.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Adds richer packet and ice processing to ParsedRtcEventLog."
> 
> This reverts commit 4306a25dfcaba7defe09f5d4b669736d374fe985.
> 
> Reason for revert: Breaks downstream project
> 
> Original change's description:
> > Adds richer packet and ice processing to ParsedRtcEventLog.
> > 
> > Bug: webrtc:10170
> > Change-Id: I0f10a8c0b5656917a806cf0f3ad88b7a6baee000
> > Reviewed-on: https://webrtc-review.googlesource.com/c/116069
> > Reviewed-by: Björn Terelius <terelius@webrtc.org>
> > Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#26268}
> 
> TBR=terelius@webrtc.org,srte@webrtc.org
> 
> Change-Id: Ic50fdfb6b10c26e77728b594f553bc4aac4eb0ab
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10170
> Reviewed-on: https://webrtc-review.googlesource.com/c/117780
> Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
> Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26270}

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

Change-Id: I5e87fb472b91dd4b6fa177418f03a9031035ec60
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10170
Reviewed-on: https://webrtc-review.googlesource.com/c/117721
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26274}
2019-01-16 07:44:23 +00:00
77536a2b81 Rename EncodedImage::_length --> size_, and make private.
Use size() accessor function. Also replace most nearby uses of _buffer
with data().

Bug: webrtc:9378
Change-Id: I1ac3459612f7c6151bd057d05448da1c4e1c6e3d
Reviewed-on: https://webrtc-review.googlesource.com/c/116783
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26273}
2019-01-16 07:40:47 +00:00
7491e8f17b Roll chromium_revision c6a258bb5d..ac86e0cdbd (622808:623074)
Change log: c6a258bb5d..ac86e0cdbd
Full diff: c6a258bb5d..ac86e0cdbd

Changed dependencies
* src/base: 8ce4edcd7d..3512d309cf
* src/build: e93ee685fe..7a1aacd97b
* src/ios: db8e83dc0f..25a53b6238
* src/testing: fa73c7d74f..26ed96a6ec
* src/third_party: 6f2ff74300..7006d02fbe
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/96320b5151..78448d9008
* src/third_party/depot_tools: 8432ec24a3..e229a0e3c5
* src/third_party/libFuzzer/src: 2a53098584..ee7a5b85c7
* src/tools: 43be1b9a51..8c251b2ca5
DEPS diff: c6a258bb5d..ac86e0cdbd/DEPS

No update to Clang.

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

Change-Id: I5ad2e64bd9f6b45b9495158701d980c78db43b94
Reviewed-on: https://webrtc-review.googlesource.com/c/117820
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@{#26272}
2019-01-16 03:52:56 +00:00
a0d4580936 Add the equals method to IceServer.
Bug: None
Change-Id: I4bac54489a44a4577cc221ba51351e4a3a92e69b
Reviewed-on: https://webrtc-review.googlesource.com/c/116081
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Honghai Zhang <honghaiz@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26271}
2019-01-16 01:06:17 +00:00
5586d7fb57 Revert "Adds richer packet and ice processing to ParsedRtcEventLog."
This reverts commit 4306a25dfcaba7defe09f5d4b669736d374fe985.

Reason for revert: Breaks downstream project

Original change's description:
> Adds richer packet and ice processing to ParsedRtcEventLog.
> 
> Bug: webrtc:10170
> Change-Id: I0f10a8c0b5656917a806cf0f3ad88b7a6baee000
> Reviewed-on: https://webrtc-review.googlesource.com/c/116069
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26268}

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

Change-Id: Ic50fdfb6b10c26e77728b594f553bc4aac4eb0ab
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10170
Reviewed-on: https://webrtc-review.googlesource.com/c/117780
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26270}
2019-01-15 21:58:02 +00:00
7a6739eda8 Make Ice Transports signal failures.
The new iceTransportState depends on the transports to signal when they have disconnected, this change ensures that they do so.

The logic is similar to what the old iceConnectionState did, but it uses the ice transports writable() flag instead of the one from the containing dtls transport.

Bug: webrtc:10199, webrtc:9308
Change-Id: I8a2a71a689b2a7027fe9117c79144811367d2165
Reviewed-on: https://webrtc-review.googlesource.com/c/117565
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26269}
2019-01-15 16:48:58 +00:00
4306a25dfc Adds richer packet and ice processing to ParsedRtcEventLog.
Bug: webrtc:10170
Change-Id: I0f10a8c0b5656917a806cf0f3ad88b7a6baee000
Reviewed-on: https://webrtc-review.googlesource.com/c/116069
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26268}
2019-01-15 16:30:38 +00:00
66a29b9953 Introduce CopyToFileAudioCapturer.
It will be used to dump generated audio from TestAudioDeviceModule into
user defuned file in peer connection level test framework.

Bug: webrtc:10138
Change-Id: I6e3db36aaf1303ab148e8812937c4f9cd1b49315
Reviewed-on: https://webrtc-review.googlesource.com/c/117220
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26267}
2019-01-15 15:06:55 +00:00
ccc1b57e32 Poll is_hardware_accelerated from VideoEncoder instead of VideoEncoderFactory.
Currently, CPU overuse settings for HW encoders are sometimes being used
even though the actual encoder is a SW encoder, e.g. in case of SW fallback
when the encoder is initialized. Polling is_hardware_accelerated after the
encoder has been created and initialized will improve choosing the correct
CPU overuse settings.

Bug: webrtc:10065
Change-Id: Ic6bd67630a040b5a121c13fa63dd074006973929
Reviewed-on: https://webrtc-review.googlesource.com/c/116688
Commit-Queue: Mirta Dvornicic <mirtad@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26266}
2019-01-15 14:12:12 +00:00
29cbd85cce Fix rtc_media_unittests deps (crbug.com/908819 is now fixed).
It is now possible to have dependencies with suffix _module without
clashing with the Android GN templates.

Bug: chromium:908819
Change-Id: I1b34aac60af93485ce23ebce295ab97c7c163d20
Reviewed-on: https://webrtc-review.googlesource.com/c/117161
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26265}
2019-01-15 13:25:58 +00:00
921d366aed Remove comments about using std::shared_ptr.
There are no plans to start using std::shared_ptr in WebRTC.

Bug: webrtc:10198
No-Try: True
Change-Id: I87a6c32b33b30d1b6b98eccda3400ce755a0ae95
Reviewed-on: https://webrtc-review.googlesource.com/c/117362
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26264}
2019-01-15 13:15:58 +00:00
36faf0b397 Delete setting of unused variable nack_window_ms
Dead code accidentally kept in cl
https://webrtc-review.googlesource.com/c/src/+/103640

Bug: webrtc:9801
Change-Id: Id7a8a8282e4eeeabc7e95486f4f96d4594711a26
Reviewed-on: https://webrtc-review.googlesource.com/c/117563
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26263}
2019-01-15 13:02:07 +00:00
173d198020 Revert "Ensure correct decoding for unfiltered KSVC streams"
This reverts commit cd7c21bfadf89771690579f958bc4580588229d1.

Reason for revert: Regression in VP9 tests on perf bots

Original change's description:
> Ensure correct decoding for unfiltered KSVC streams
> 
> Set render timestamp for all frames in the superframe.
> 
> Bug: chromium:912122
> Change-Id: Ic9604620da9fb4176ad5c21b95df47fca8ddea31
> Reviewed-on: https://webrtc-review.googlesource.com/c/116985
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26247}

TBR=ilnik@webrtc.org,philipel@webrtc.org

Change-Id: I2d137d36d343bc0204ab80edb3cd55a3f89bbc33
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:912122
Reviewed-on: https://webrtc-review.googlesource.com/c/117564
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26262}
2019-01-15 12:19:30 +00:00
e4b5023f65 Avoid repeated semi-expensive field_trials read in frame_buffer2.cc
Bug: webrtc:10202
Change-Id: Ib8bfe7c1d62bc5091a8bfb2ce137ba749f9042e6
Reviewed-on: https://webrtc-review.googlesource.com/c/117361
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26261}
2019-01-15 12:12:01 +00:00
c259a3b0e9 Roll chromium_revision 783044b798..c6a258bb5d (621838:622808)
Change log: 783044b798..c6a258bb5d
Full diff: 783044b798..c6a258bb5d

Changed dependencies
* src/base: 992951c2bf..8ce4edcd7d
* src/build: 19c19422cd..e93ee685fe
* src/buildtools: 7d88270de1..40194ab039
* src/ios: 40f164ac1e..db8e83dc0f
* src/testing: e2343647af..fa73c7d74f
* src/third_party: 9132ba856f..6f2ff74300
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0cc582388f..96320b5151
* src/third_party/depot_tools: 80a1cf66b8..8432ec24a3
* src/third_party/freetype/src: d01e28f41f..1e7a8f30c2
* src/third_party/harfbuzz-ng/src: 26c5b54fb0..0d2727f4fe
* src/third_party/libvpx/source/libvpx: 57f7c6f191..759d1de9d0
* src/tools: f1f7eab58d..43be1b9a51
DEPS diff: 783044b798..c6a258bb5d/DEPS

Clang version changed 349417:350768
Details: 783044b798..c6a258bb5d/tools/clang/scripts/update.py

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

Change-Id: Ic8f22732201f4d0c8851189b9bbfc14a89fd76c4
Reviewed-on: https://webrtc-review.googlesource.com/c/117601
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@{#26260}
2019-01-15 11:40:42 +00:00
c25fa89e9e RNN VAD: fix pitch gain type and change pitch period type
The pitch gain type in ComputePitchGainThreshold() is wrong
(size_t instead of float).
The pitch period is an unsigned integer type, but it is safer to
switch to a signed type and add checks on the sign.

Bug: webrtc:9076
Change-Id: If69d182071edab9750a320f0fbfac24aa8052ee0
Reviewed-on: https://webrtc-review.googlesource.com/c/117302
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26259}
2019-01-15 10:28:23 +00:00
49ea47b90e Fix fuzzer identified crash in DecodeFramesHistory
Bug: chromium:921933,chromium:921935
Change-Id: I10f2a4783a717d9541bfc9f9bc0c76eaa2e62f30
Reviewed-on: https://webrtc-review.googlesource.com/c/117562
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26258}
2019-01-15 10:26:13 +00:00
ee0a85cee2 Roll //third_party/ffmpeg and disable H264 when MSVC is used.
FFmpeg hasn't been rolled since [1] in order to avoid to break MSVC
trybots (//third_party/ffmpeg dropped MSVC support, in theory it is
possible to bring the support back but some work is needed every time
//third_party/ffmpeg gets updated).

Not rolling //third_party/ffmpeg is not enough to keep the Chromium
Roll working because -Wstring-plus-int becomes more chatty with clang 350768
and it has been suppressed in //third_party/ffmpeg/BUILD.gn [2].

Since WebRTC needs to update clang, //third_party/ffmpeg needs to be
updated. The only way to do it without fixing MSVC errors in
//third_party/ffmpeg is to enforce rtc_use_h264=False when MSVC is used.

PSA: https://groups.google.com/forum/#!topic/discuss-webrtc/cfkPPq5nvNE.

[1] - https://webrtc-review.googlesource.com/78402
[2] - https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/1376376

Bug: webrtc:9213
Change-Id: I36bd7fb2db21012760e4ff7a791d81350e402ec0
Reviewed-on: https://webrtc-review.googlesource.com/c/116982
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26257}
2019-01-15 10:25:01 +00:00
45ccd8488e Don't set the screenshare flag on FakeVideoCapturerWithTaskQueue
A capturer with this flag was set in
WebRtcVideoChannelTest.PreviousAdaptationDoesNotApplyToScreenshare.
But the flag is used only by the VideoCapturerTrackSource class, which
isn't used in this test.

Bug: webrtc:6353
Change-Id: I58058c882c5a65b5cfa9921e302c422c8ccb20a9
Reviewed-on: https://webrtc-review.googlesource.com/c/117561
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26256}
2019-01-15 10:22:13 +00:00
9db8b88bd4 Added JSON generator for VideoReceiveStream::Config objects.
This change adds a new way for test code to serialize the important information
from a VideoReceiveStream::Config so that it can be stored as configuration data
for WebRTC fuzzers. This code isn't included in the object itself as it is only
going to be used to generate new configurations for the fuzzer each time a new
error_correction or video format is added to WebRTC.

Bug: webrtc:10117
Change-Id: I9b6fb8e0345890ab16f6d319d91e4e316d1f2888
Reviewed-on: https://webrtc-review.googlesource.com/c/116920
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26255}
2019-01-15 00:51:29 +00:00
fa1ca1e781 Bug Fix: iOS H264 Encoder Crash Issue
When using H264 encoder with profile level 3.1, the encoder may crash.
The reason is that we set the expected frame rate using kVTCompressionPropertyKey_ExpectedFrameRate
to the VideoToolBox. However, by iOS implementation, if our setting violates the sample rate limit
[1], the encoder will crash.

This CL fixes the bug by capping the expected frame rate with max allowed frame rate computed from the sample rate limit.

Change-Id: I090d7be8c20713c6a5a4ec80ed243c8fa7b4aa14
Bug: webrtc:10172
Reviewed-on: https://webrtc-review.googlesource.com/c/116056
Commit-Queue: Qiang Chen <qiangchen@chromium.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26254}
2019-01-14 19:23:56 +00:00
c2c733e21b Remove unused methods from cricket::BaseChannel.
Bug: webrtc:10198
Change-Id: If510e6f508e34aaa36c9ccbbdc90dd33ad5fef10
Reviewed-on: https://webrtc-review.googlesource.com/c/116991
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26253}
2019-01-14 19:08:10 +00:00
8efafdf84b Move VideoStreamReceiver JSON configuration parser to test source_set.
This change moves the configuration parser that converts a JSON representation
of the VideoStreamReceiver::Config structure into a native object into the test
directory so that it can be shared with the new corpus_generator utility that is
being built. This rtc_source_set will have an additional utility function added
in a subsequent CL that will allow the generation of a VideoStreamSender::Config
from a given VideoStreamReceiver::Config and visa versa.

Bug: webrtc:10117
Change-Id: I3035826f799f8d1fcdeaa76997391f030c855a5c
Reviewed-on: https://webrtc-review.googlesource.com/c/116880
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26252}
2019-01-14 18:40:24 +00:00