2690 Commits

Author SHA1 Message Date
Elad Alon
cde8ab265e Use single FrameBufferController in VP8, created by a factory.
This CL paves the way to making FrameBufferController injectable.

LibvpxVp8Encoder can manage multiple streams. Prior to this CL,
each stream had its own frame buffer controller, all of them held
in a vector by LibvpxVp8Encoder. This complicated the code and
produced some code duplication (cf. SetupTemporalLayers).

This CL:
1. Replaces CreateVp8TemporalLayers() by a factory. (Later CLs
   will make this factory injectable.)
2. Makes LibvpxVp8Encoder use a single controller. This single
   controller will, in the case of multiple streams, delegate
   its work to multiple controllers, but that fact is not visible
   to LibvpxVp8Encoder.

This CL also squashes CL #126046 (Send notifications of RTT and
PLR changes to Vp8FrameBufferController) into it.

Bug: webrtc:10382
Change-Id: Id9b55734bebb457acc276f34a7a9e52cc19c8eb9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126483
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27206}
2019-03-20 11:54:02 +00:00
Ivo Creusen
5ec61565cb Allow passing an event log as string to NetEqSimulator.
Previously only reading from the filesystem was supported, this CL
allows parsing an event log from a string.

Bug: webrtc:10337
Change-Id: Iadde3319eb8fb4175625f510201fac9c01c80ed9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127296
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27202}
2019-03-20 10:27:14 +00:00
Danil Chapovalov
d26a916a80 Avoid using GlobalTaskQueueFactory for TaskQueueForTest
To remove global task factory, rtc::TaskQueue need to loose it's convenient constructor
TaskQueueForTest can be used instead in tests and keep the convenient constructor.

Also cleanup the TaskQueueForTest a bit:
move the class to webrtc namespace
add default constructor
disallow copy using language construct instead of macro
cleanup build dependencies
rename build target (to match move out of the rtc namespace)

Bug: webrtc:10284
Change-Id: I17fddf3f8d4f363df7d495c28a5b0a28abda1ba7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127571
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27193}
2019-03-19 18:11:52 +00:00
Philip Eliasson
1f850a6dc7 Reland "SeqNumUnwrapper::Unwrap now returns int64_t instead of uint64_t."
This reverts commit b5207b488b035eae4d11dfdcca9526d5a70c9c09.

Reason for revert: DecodedFramesHistory has now been updated.

Original change's description:
> Revert "SeqNumUnwrapper::Unwrap now returns int64_t instead of uint64_t."
> 
> This reverts commit b0f968a761b715da4cf81e4b9c3cab0ccd322cf2.
> 
> Reason for revert: Need to update DecodedFramesHistory to manage negative picture IDs.
> 
> Original change's description:
> > SeqNumUnwrapper::Unwrap now returns int64_t instead of uint64_t.
> > 
> > Bug: webrtc:10263
> > Change-Id: Idaeae6be01bd4eba0691226c958d70e114161ffd
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127295
> > Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27129}
> 
> TBR=kwiberg@webrtc.org,eladalon@webrtc.org,terelius@webrtc.org,philipel@webrtc.org,kron@webrtc.org
> 
> Change-Id: I529bb0475bd21a80fa244278aff1fd912a85c169
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10263
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127885
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27135}

TBR=kwiberg@webrtc.org,eladalon@webrtc.org,terelius@webrtc.org,philipel@webrtc.org,kron@webrtc.org

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

Bug: webrtc:10263
Change-Id: Id59e377010b5070dd37a7ece8df79b23af43835a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128568
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27191}
2019-03-19 17:02:27 +00:00
Niels Möller
c936cb6a86 Make AudioFrameType an enum class, and move to audio_coding_module_typedefs.h
Bug: webrtc:5876
Change-Id: I0c92f9410fcf0832bfa321229b3437134255dba6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128085
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27190}
2019-03-19 16:59:27 +00:00
Niels Möller
6e6e86a5fc Delete unused method VideoReceiver::SetMinimumPlayoutDelay
Call from VideoCodingModule was deleted in cl
https://webrtc-review.googlesource.com/62101

Bug: None
Change-Id: I10aa1f5cbaedec30de82ece39ca2470733319110
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128566
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27188}
2019-03-19 16:55:57 +00:00
Niels Möller
3ee1fae608 Delete unused enum VideoCodingModule::SenderNackMode.
It appesrs unused for a long time; an alias was deleted in
https://webrtc-review.googlesource.com/c/124488, but it was already
unused.

Bug: None
Change-Id: Idae6a72949968e22c784d512f9617240ef1169b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128569
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27187}
2019-03-19 16:54:52 +00:00
philipel
5165543157 DecodeFrameHistory can now deal with negative picture IDs.
Bug: webrtc:10263
Change-Id: I5c4f9511074b86dc73c9677a14dd10ee18c6ea4f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128422
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27176}
2019-03-19 10:57:06 +00:00
Mirko Bonadei
93e2120716 Qualify cmath functions.
Use std::pow instead of ::pow.

Bug: None
Change-Id: Ia08921312e8fc7f82edc859a2d598468c5f2b66a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128081
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27173}
2019-03-19 09:46:54 +00:00
Jakob Ivarsson
37b5662a5c Remove zero lower bound of estimated inter-arrival time.
When we offset the measured inter-arrival time due to packet loss, it will sometimes be less than zero. This is the correct value to use when calculating the relative packet arrival delay.

Bug: webrtc:10333
Change-Id: I14a68563a379fa0b9444684304362503a6f1bfca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127547
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27164}
2019-03-18 16:52:01 +00:00
philipel
59c8569ed9 Remove spammy log message from RtpSenderVideo::AddRtpHeaderExtensions.
Bug: None
Change-Id: I9522043d29eb131c8b35573eb2eaa9740a5ac439
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128124
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27163}
2019-03-18 15:09:48 +00:00
Mirko Bonadei
7edc49cb31 Mark neteq_rtpplay as publicly visible.
Bug: None
Change-Id: I051c7c23851ab15345c8e0f0322458d4f9a7e187
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128123
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27162}
2019-03-18 14:51:50 +00:00
Sebastian Jansson
7dbc0eb2ef Makes loss based controller test more robust.
Current implementation of loss based controller has a sensitive filter.
This CL increases the moderate loss rate to ensure robustness to small
changes in network behavior.

Bug: webrtc:10365
Change-Id: I0dcb5ba45904d8dda4c78b39bd13619523bc90ba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127901
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27160}
2019-03-18 12:21:11 +00:00
philipel
2f5f061dfa Remove unused variable DefaultTemporalLayers::kKeyframeBuffer.
Bug: None
Change-Id: I20a52ea51ea47da8f7fb177a692913572977a6b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127840
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27148}
2019-03-15 15:32:43 +00:00
Rasmus Brandt
69008a8718 Avoid div-by-zero in VideoCodecTest stats calculation.
Bug: webrtc:10400
Change-Id: I82b1e86cc8f7d1547fc4863c08c0f8ab82801ac4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128086
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27145}
2019-03-15 13:15:02 +00:00
Magnus Jedvert
35816cc9a1 Revert "Log an error if the RTT is negative"
This reverts commit a594ef089370b8073ca9dc5a6b6bf4be9a58a313.

Reason for revert: This log is triggered more than 10,000 times per run, spamming the log output to the extent that tests start failing with EXCESSIVE_OUTPUT.

The tests are chromium.webrtc.fyi tests:
 * WebRtcStressResolutionSwitchBrowserTest.MANUAL_SurvivesPeerConnectionResolutionSwitching
 * WebRtcStressPauseBrowserTest.MANUAL_SurvivesPeerConnectionVideoPausePlaying
on linux, win, and mac.

Example run: https://ci.chromium.org/p/chromium/builders/webrtc.fyi/WebRTC%20Chromium%20FYI%20Linux%20Tester/2556

Original change's description:
> Log an error if the RTT is negative
> 
> Bug: webrtc:10407
> Change-Id: I5479cb2b7163c6e9e58854f4ffa7976b3d606da5
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127568
> Commit-Queue: Evan Shrubsole <eshr@google.com>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27122}

TBR=srte@webrtc.org,eshr@google.com

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

Bug: webrtc:10407
Change-Id: Ida2572b722b92bae4893d4567597dd21d1df54b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128120
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27144}
2019-03-15 13:11:24 +00:00
Jakob Ivarsson
647d5e6d91 Increase the default maximum jitter buffer size to 200 packets.
Bug: webrtc:10415
Change-Id: Iec5a5a263c11d92a23290c1c2de053fe9e5d5839
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128082
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27142}
2019-03-15 10:25:11 +00:00
Mirko Bonadei
dbce09003d Qualify cmath functions.
Use std:: qualified std::log10, std::log, std::floor and std::sin.

Bug: None
Change-Id: Ia78463f1505fcc5941f4c5ef66fc9346d9523cd4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128080
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27141}
2019-03-15 07:31:59 +00:00
Philip Eliasson
b5207b488b Revert "SeqNumUnwrapper::Unwrap now returns int64_t instead of uint64_t."
This reverts commit b0f968a761b715da4cf81e4b9c3cab0ccd322cf2.

Reason for revert: Need to update DecodedFramesHistory to manage negative picture IDs.

Original change's description:
> SeqNumUnwrapper::Unwrap now returns int64_t instead of uint64_t.
> 
> Bug: webrtc:10263
> Change-Id: Idaeae6be01bd4eba0691226c958d70e114161ffd
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127295
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27129}

TBR=kwiberg@webrtc.org,eladalon@webrtc.org,terelius@webrtc.org,philipel@webrtc.org,kron@webrtc.org

Change-Id: I529bb0475bd21a80fa244278aff1fd912a85c169
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10263
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127885
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27135}
2019-03-14 18:14:33 +00:00
Mirko Bonadei
1ddc7634fd Qualify cmath functions.
Bug: None
Change-Id: Id561750eb6c2e26588e505beb3800e97075adb87
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127782
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27130}
2019-03-14 13:09:34 +00:00
philipel
b0f968a761 SeqNumUnwrapper::Unwrap now returns int64_t instead of uint64_t.
Bug: webrtc:10263
Change-Id: Idaeae6be01bd4eba0691226c958d70e114161ffd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127295
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27129}
2019-03-14 13:01:20 +00:00
Per Åhgren
e8efbbd61b AEC3: Removing unused parameters
This CL removes parameters for AEC3 which are no longer used. To reflect
that change, one of the parameters also is renamed

Bug: chromium:941949,webrtc:8671
Change-Id: I26609b396fa14ecb7523eebfe531a1338718103b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127780
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27128}
2019-03-14 12:06:40 +00:00
Gustaf Ullberg
9249fbf3a6 AEC3: Redesign delay headroom
This change reduces the risk of echo due to noise in the headroom
of the linear filter.

Changes:
- Use shorter delay headroom
- Delay headroom is specified in samples (not blocks)
- No hysteresis limit when delay is reduced

Bug: chromium:119942,webrtc:10341
Change-Id: I708e80e26d541dff8ca04b6da2d346a1d59cbfcb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126420
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27126}
2019-03-14 11:04:47 +00:00
Niels Möller
009ab3c438 Delete EncodedImage::GetBufferPaddingBytes
For the ffmpeg H.264 decoder, rely on ffmpeg being configured with
CONFIG_SAFE_BITSTREAM_READER.

Bug: webrtc:9378
Change-Id: Ia7a46580d520808e36581252a95feeb5f9c57bf9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/119665
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27124}
2019-03-14 09:08:19 +00:00
Evan Shrubsole
a594ef0893 Log an error if the RTT is negative
Bug: webrtc:10407
Change-Id: I5479cb2b7163c6e9e58854f4ffa7976b3d606da5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127568
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27122}
2019-03-14 08:44:09 +00:00
Sebastian Jansson
5ce38fff17 Making UpdatesTargetRateBasedOnLinkCapacity more robust.
This CL adds enough simulated time to recover the built up delay. This
makes the test less sensitive to small timing changes. This prepares
for further changes in Scenario test framework.

Bug: webrtc:10365
Change-Id: Iddbe6a57e31f17f590004e29221f907321cbb3d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127567
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27107}
2019-03-13 15:36:55 +00:00
Alessio Bazzica
5ad789ceff Reland "NetEQ RTP Play: Optionally write output audio file"
This reverts commit c4b391a257ebf85448e58e73a96eb267635b6d6a.

Reason for revert: issue fixed

Original change's description:
> Revert "NetEQ RTP Play: Optionally write output audio file"
>
> This reverts commit 6330818ec8159ee476481ba4a89f884fb3653f3f.
>
> Reason for revert: This breaks api/test/neteq_simulator_factory.cc, which unfortunately was not caught by our bots.
>
> Original change's description:
> > NetEQ RTP Play: Optionally write output audio file
> >
> > This CL makes the output audio file optional to more
> > quickly run neteq_rtpplay when no audio output is needed.
> > The CL also includes necessary adaptations because of pre-existing
> > dependencies (e.g., the output audio file name is used to create
> > the plotting script file names).
> >
> > The command line arguments are retro-compatible - i.e., same behavior
> > when specifying the output audio file and the new flag
> > --output_files_base_name is not used.
> >
> > This CL also includes a test script with which the retro-compatibility
> > has been verified.
> >
> > Bug: webrtc:10337
> > Change-Id: Ie3f301b3b2ed0682fb74426d9cf452396f2b112b
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126224
> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> > Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27067}
>
> TBR=henrik.lundin@webrtc.org,alessiob@webrtc.org,ivoc@webrtc.org
>
> Change-Id: I0c63a8ba9566ef567ee398f571f2a511916fa742
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10337
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127293
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27078}

TBR=henrik.lundin@webrtc.org,alessiob@webrtc.org,ivoc@webrtc.org

Change-Id: Ia7061f7c2d69db61638ad612e82cd429eb49d539
Bug: webrtc:10337
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127540
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27106}
2019-03-13 15:33:29 +00:00
Ivo Creusen
9a66d5ed65 Add support to audioproc_f to generate a custom call order file.
This adds a flag to audioproc_f to generate a custom call order
file from an AEC dump. This file can be used to get more realism
when simulating with wav-files.

Bug: webrtc:10393
Change-Id: I245533d18affaab2f6cef53138332d7d83c71822
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126782
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27104}
2019-03-13 15:08:18 +00:00
Piasy
cc3503248f Replace abs with std::abs in audio_coding/neteq/histogram.cc
Bug: None
Change-Id: Ie3277558aa27dd76e06ec1fc3cb49cdcf3d982d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125703
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27098}
2019-03-13 14:18:18 +00:00
Ilya Nikolaevskiy
7ae8d64dd0 Restore VideoCodecInitializer to use only the 1st stream maxFramerate
This is a partial fix for regression introduced in
https://webrtc-review.googlesource.com/c/src/+/125461

Currently, the OveruseFrameDetector::OnTargetFramerateUpdated is called
only then the encoder is reconfigured, with the default maxFramerate.

Changing it from default 5 to 60, or even 30 made the detector too
sensitive and it caused adaptation down due to CPU overuse even on
powerful machines.

Bug: webrtc:10310, chromium:940466
Change-Id: I7b0eabfc8f9b502e293af1a5b02fc5d4ab468c14
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127280
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27094}
2019-03-13 09:07:47 +00:00
Sebastian Jansson
77efcd82db Reland "Replacing rtc::Thread with task queue for TestAudioDeviceModule."
This is a reland of 1b871d07532c25d2f27e4db192cb9ce2229b1cee

Original change's description:
> Replacing rtc::Thread with task queue for TestAudioDeviceModule.
>
> This prepares for running it in simulated time.
>
> TBR=henrika@webrtc.org
>
> Bug: webrtc:10465
> Change-Id: I9b29b8af9aeba7f0c8209ca77294a63d8068ff1a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126481
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27083}

TBR=henrika@webrtc.org

Bug: webrtc:10465
Change-Id: Icda8043fb5b1156129bc3b706bf8f190782b0921
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127520
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27093}
2019-03-13 09:01:05 +00:00
Sebastian Jansson
cda86dd483 Removes usages of repeating task without task queue argument.
This prepares from removing the overload in a followup CL.

Bug: webrtc:10365
Change-Id: I80db16e7d37944e3dc7d2799bbf45ef8f439a22c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126860
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27091}
2019-03-13 08:07:56 +00:00
Seth Hampson
fa852efb73 Revert "Replacing rtc::Thread with task queue for TestAudioDeviceModule."
This reverts commit 1b871d07532c25d2f27e4db192cb9ce2229b1cee.

Reason for revert: Breaks webrtc downstream projects.

Original change's description:
> Replacing rtc::Thread with task queue for TestAudioDeviceModule.
> 
> This prepares for running it in simulated time.
> 
> TBR=henrika@webrtc.org
> 
> Bug: webrtc:10465
> Change-Id: I9b29b8af9aeba7f0c8209ca77294a63d8068ff1a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126481
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27083}

TBR=henrika@webrtc.org,ossu@webrtc.org,srte@webrtc.org

Change-Id: I16d7c2a46d38c9aaf82cc3ab7bd7b9c5e10f5a5e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10465
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127341
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27086}
2019-03-12 20:05:53 +00:00
Seth Hampson
bd50a84336 Revert "Reland "DCHECK feedback_rtt is positive""
This reverts commit ab0d03dcaaa98677348d15352f7bc1e8e066180f.

Reason for revert: Broke webrtc importer.

Original change's description:
> Reland "DCHECK feedback_rtt is positive"
> 
> This is a reland of 37d4f91db3fd1d0e023a820d0cda86bb786a0f72
> Reason for reland: Got Aliby for Android FEC test flakes.
> 
> Original change's description:
> > DCHECK feedback_rtt is positive
> >
> > Bug: None
> > Change-Id: I6eb10d6a20a679fff08f604441f8e58dcd417608
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126464
> > Commit-Queue: Evan Shrubsole <eshr@google.com>
> > Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27034}
> 
> Bug: None
> Change-Id: Iacacda9e3b141c69189f7931a1ec63d74b2dd845
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126920
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Ying Wang <yinwa@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27082}

TBR=srte@webrtc.org,yinwa@webrtc.org,yvesg@webrtc.org,yvesg@google.com,eshr@google.com

Change-Id: Ia59f20019309c1e0b44029179d63558e92d39a85
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127324
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27085}
2019-03-12 19:40:25 +00:00
Sebastian Jansson
1b871d0753 Replacing rtc::Thread with task queue for TestAudioDeviceModule.
This prepares for running it in simulated time.

TBR=henrika@webrtc.org

Bug: webrtc:10465
Change-Id: I9b29b8af9aeba7f0c8209ca77294a63d8068ff1a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126481
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27083}
2019-03-12 18:25:31 +00:00
Evan Shrubsole
ab0d03dcaa Reland "DCHECK feedback_rtt is positive"
This is a reland of 37d4f91db3fd1d0e023a820d0cda86bb786a0f72
Reason for reland: Got Aliby for Android FEC test flakes.

Original change's description:
> DCHECK feedback_rtt is positive
>
> Bug: None
> Change-Id: I6eb10d6a20a679fff08f604441f8e58dcd417608
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126464
> Commit-Queue: Evan Shrubsole <eshr@google.com>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27034}

Bug: None
Change-Id: Iacacda9e3b141c69189f7931a1ec63d74b2dd845
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126920
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27082}
2019-03-12 17:00:51 +00:00
Jakob Ivarsson
1b4254ada5 Check current buffer time span instead of number of samples in postpone decoding after expand.
Bug: webrtc:10392
Change-Id: I2ad4d8c7a3f87cab32e2ea097b2e05aa179e0bc0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126761
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27080}
2019-03-12 16:25:24 +00:00
Niels Möller
075e7fdd00 Delete VCMPacket constructor with WebRtcRTPHeader
Bug: webrtc:10397
Change-Id: I8f51616d6953af6b2d3bdfdf46b748b2a78702ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127240
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27079}
2019-03-12 15:18:41 +00:00
Ivo Creusen
c4b391a257 Revert "NetEQ RTP Play: Optionally write output audio file"
This reverts commit 6330818ec8159ee476481ba4a89f884fb3653f3f.

Reason for revert: This breaks api/test/neteq_simulator_factory.cc, which unfortunately was not caught by our bots.

Original change's description:
> NetEQ RTP Play: Optionally write output audio file
> 
> This CL makes the output audio file optional to more
> quickly run neteq_rtpplay when no audio output is needed.
> The CL also includes necessary adaptations because of pre-existing
> dependencies (e.g., the output audio file name is used to create
> the plotting script file names).
> 
> The command line arguments are retro-compatible - i.e., same behavior
> when specifying the output audio file and the new flag
> --output_files_base_name is not used.
> 
> This CL also includes a test script with which the retro-compatibility
> has been verified.
> 
> Bug: webrtc:10337
> Change-Id: Ie3f301b3b2ed0682fb74426d9cf452396f2b112b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126224
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27067}

TBR=henrik.lundin@webrtc.org,alessiob@webrtc.org,ivoc@webrtc.org

Change-Id: I0c63a8ba9566ef567ee398f571f2a511916fa742
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10337
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127293
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27078}
2019-03-12 14:28:23 +00:00
Jonas Olsson
e096004745 Enable configuring probes via field trial.
This CL adds a field trial that lets us control the size of the initial probes, how we grow the following probes and how big and frequent our ALR probes are.

Bug: webrtc:10394
Change-Id: I6c7783dfada9aaf55cd836dd8991bb7b8ca4993b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126880
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27077}
2019-03-12 14:27:18 +00:00
Tommi
30e60d6fd9 Remove dependency on DirectShow baseclasses (streams.h from the winsdk_samples directory).
This required a fairly extensive overhaul:

* Removed locks from the implementation.
  The filter/pin architecture does use multiple threads,
  but the state is controlled on one and synchronization
  is done via flags that don't require locking.
  Note though that the baseclasses used a lot of locking, it's unclear why,
  but perhaps there are things I'm not aware of. The locking was not done
  consistently though, which doesn't seem to have been a problem.
* Change the code to not mix AddRef/Release and use of explicit 'delete'.
* Removed implementations of interfaces we don't need/use.
* Similarly some methods now return E_NOTIMPL.
* Added some utilities to make use of COM interfaces and concepts, easier.

BUG=webrtc:10374
TBR=mbonadei@webrtc.org

Change-Id: Iaedb1157d37ef5d5c75f727dba3d7de75ce22cd8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125086
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Christian Fremerey <chfremer@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27072}
2019-03-12 11:52:20 +00:00
Niels Möller
70a83949b7 Delete use of WebRtcRTPHeader from FEC test code
Tbr: srte@webrtc.org # comment change in modules/remote_bitrate_estimator/
Bug: webrtc:10397
Change-Id: Ic30e724c18c8812810ac7a608b7065d56a7676e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126941
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27069}
2019-03-12 09:40:02 +00:00
Alessio Bazzica
6330818ec8 NetEQ RTP Play: Optionally write output audio file
This CL makes the output audio file optional to more
quickly run neteq_rtpplay when no audio output is needed.
The CL also includes necessary adaptations because of pre-existing
dependencies (e.g., the output audio file name is used to create
the plotting script file names).

The command line arguments are retro-compatible - i.e., same behavior
when specifying the output audio file and the new flag
--output_files_base_name is not used.

This CL also includes a test script with which the retro-compatibility
has been verified.

Bug: webrtc:10337
Change-Id: Ie3f301b3b2ed0682fb74426d9cf452396f2b112b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126224
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27067}
2019-03-12 08:37:57 +00:00
Danil Chapovalov
471783fc87 Remove rtc::QueuedTask alias, use webrtc::QueuedTask directly
Use absl::WrapUnique/absl::make_unique to create the queued tasks.

Bug: webrtc:10191
Change-Id: I8f47a60cb326b0fc361c7f0e338b25373d39937c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126525
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27063}
2019-03-11 16:49:21 +00:00
Sebastian Jansson
d155d686f8 Removes rtp level keep alive support.
This is not used in practice as there's functionality on
other levels that serves the same purpose.

Bug: None
Change-Id: I0488dc42459b07607363eba0f2b06f4c50f7cda4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125520
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27061}
2019-03-11 14:47:15 +00:00
Sebastian Jansson
9ffb5df04e Removes unused mock_bitrate_controller.
Bug: None
Change-Id: I53d29c0723e161810e8057d7b595102da6eeed31
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126760
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27060}
2019-03-11 14:31:14 +00:00
Elad Alon
a5c0ba1861 Reland "Fix LibvpxVp8Encoder::FrameDropThreshold"
This is a reland of 159e53a66eceb79003741ba0d990c502595c27bb
Reason for reland: Got Aliby for Android FEC test flakes.

Original change's description:
> Fix LibvpxVp8Encoder::FrameDropThreshold
>
> Bug: webrtc:10387
> Change-Id: I17b575546d6718f905429ac45705cb923ee52c10
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126232
> Commit-Queue: Elad Alon <eladalon@webrtc.org>
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27032}

Bug: webrtc:10387
Change-Id: Iaed760464d71ccfc6ad0e442b99f20c40c03e1e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126762
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27058}
2019-03-11 13:37:38 +00:00
Danil Chapovalov
ad89528051 Reland "Delete rtc::TaskQueue::Current in favor of webrtc::TaskQueueBase::Current"
This reverts commit 42d8c93ec351b68554825b58a3dc6525a7dc84da.

Reason for revert: Got Aliby for FEC test flakes

Original change's description:
> Revert "Delete rtc::TaskQueue::Current in favor of webrtc::TaskQueueBase::Current"
> 
> This reverts commit 304e9d2df347630d71fd4423f5971f30dac73e41.
> 
> Reason for revert: Breaks downstream projects.
> Seems to make VideoSendStreamTest.SupportsFlexfecSimulcastVp8 flaky.
> 
> Original change's description:
> > Delete rtc::TaskQueue::Current in favor of webrtc::TaskQueueBase::Current
> > 
> > Bug: webrtc:10191
> > Change-Id: I506cc50a90c73a6a4f6a3de36de0999cca72f5ba
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126230
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#27035}
> 
> TBR=danilchap@webrtc.org,kwiberg@webrtc.org
> 
> Change-Id: If98324f88e4b3d18bf2fe33597dfb9711867c243
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10191
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126484
> Reviewed-by: Yves Gerey <yvesg@webrtc.org>
> Commit-Queue: Yves Gerey <yvesg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27041}

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

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

Bug: webrtc:10191
Change-Id: Id87a17ae415142b8e0b11ba03ae7bad84a473fb0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126720
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27056}
2019-03-11 12:32:49 +00:00
Yves Gerey
55500d26b7 Revert "Fix LibvpxVp8Encoder::FrameDropThreshold"
This reverts commit 159e53a66eceb79003741ba0d990c502595c27bb.

Reason for revert: Might break downstream Android projects.

Original change's description:
> Fix LibvpxVp8Encoder::FrameDropThreshold
> 
> Bug: webrtc:10387
> Change-Id: I17b575546d6718f905429ac45705cb923ee52c10
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126232
> Commit-Queue: Elad Alon <eladalon@webrtc.org>
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27032}

TBR=ilnik@webrtc.org,eladalon@webrtc.org,sprang@webrtc.org

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

Bug: webrtc:10387
Change-Id: I08055d1b0234dccd4166a4eaf8eff56f909f99a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126721
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27055}
2019-03-11 12:16:09 +00:00
Sebastian Jansson
8a0c1f58cc Don't reset bitrate when allocatable minimum changes.
This fixes an issue where the time between freezes dropped in
perf tests. This was triggered by resetting and updating the bitrates
immediately if the min allocatable bitrate changed, causing a drop in
target bitrate. With this CL, the change in min bitrate will not take
effect until we get more data.

Bug: chromium:940349
Change-Id: Ia680a5f1cfe71847ef90669987e7b89b240b9524
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126625
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27054}
2019-03-11 11:46:38 +00:00