1778 Commits

Author SHA1 Message Date
Danil Chapovalov
bace3a4bd6 in RtpPacketizer add support for first packet reduction length
Bug: webrtc:9680
Change-Id: I68580a8a44cbbf932ed0b2448b31169b26df5044
Reviewed-on: https://webrtc-review.googlesource.com/98005
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24584}
2018-09-05 14:54:02 +00:00
Erik Språng
4a02b67ac3 Clean away WebRTC-Vp8DontDropKeyFrames switch
This feature went to stable with M69. Switch is in M69 and M70 banches.
Since tot is now M71 and we have not seen any issues, let's clean this
up.

Bug: webrtc:9634
Change-Id: I708bab55b0443d0873b09dd5b71cdfad72397a7a
Reviewed-on: https://webrtc-review.googlesource.com/98002
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24581}
2018-09-05 13:34:37 +00:00
henrika
5b6afc0ce6 Adds stream-switch support in new Windows ADM.
Second round of the new Windows ADM is now ready for review. Main
changes are:

Supports internal (automatic) restart of audio streams when an active
audio stream disconnects (happens when a device is removed).

Adds support for IAudioClient3 and IAudioClient2 for platforms which
supports it (>Win8 and >Win10).

Modifies the threading model to support restart "from the inside" on
the native audio thread.

Adds two new test methods for the ADM to emulate restart events or
stream-switch events.

Adds two new test methods to support rate conversion to ensure that
audio can be tested in loopback even if devices runs at different
sample rates.

Added initial components for low-latency support. Verified that it works
but disabled it with a flag for now.

Bug: webrtc:9265
Change-Id: Ia8e577daabea6b433f2c2eabab4e46ce8added6a
Reviewed-on: https://webrtc-review.googlesource.com/86020
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24578}
2018-09-05 13:04:01 +00:00
Sergey Silkin
548dec4a81 Test setting of spatial index.
Added unit test that verifies that VP9 encoder wrapper correctly sets
spatial index in EncodedImage.

Bug: webrtc:9721
Change-Id: Id1eb83a423e36273f97659dc76cd5a089a836e6a
Reviewed-on: https://webrtc-review.googlesource.com/98003
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24575}
2018-09-05 11:23:16 +00:00
Danil Chapovalov
1a6a4f3d62 Replace WeakPtr with CancelablePeriodicTask in RtcpTransceiverImpl
This allow to destroy the RtcpTransceiverImpl off the task queue
with assumption it is destroyed after task queue.
i.e. it allows to post destruction of RtcpTransceiverImpl to the TaskQueue without waiting.

BUG: webrtc:8239
Change-Id: I4bea7a6d2edc97061ebd00f2f275c1ab827bc3c5
Reviewed-on: https://webrtc-review.googlesource.com/97160
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24574}
2018-09-05 11:06:16 +00:00
henrika
cfbd26df1e Relands Adds WebRTC.Audio.Record/PlayoutSampleRateOffsetInPercent UMA stats to native WebRTC
First version was reverted in https://webrtc-review.googlesource.com/c/src/+/97941.
The issue is now fixed.

TBR=ivoc

Bug: b/113648245
Change-Id: If631fdea95aa963952f15e48e9d2d678797dc225
Reviewed-on: https://webrtc-review.googlesource.com/97942
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24573}
2018-09-05 10:24:35 +00:00
Sebastian Jansson
8f03216bbd Minor refactor in GoogCcNetworkController.
In-lining GetNetworkParameters and MaybeUpdateCongestionWindow which
was left over from previous refactoring. This prepares for upcoming CLs
changing the behavior.

Bug: webrtc:9586
Change-Id: I6f038acdf97c3db2c85254a36592c617a5754a96
Reviewed-on: https://webrtc-review.googlesource.com/97605
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24570}
2018-09-05 09:20:15 +00:00
Patrik Höglund
e2924d555d Revert "Adds WebRTC.Audio.Record/PlayoutSampleRateOffsetInPercent UMA stats to native WebRTC."
This reverts commit f217903a67995496a1d67674d77d5f237772b01b.

Reason for revert: Breaks downstream tests

Original change's description:
> Adds WebRTC.Audio.Record/PlayoutSampleRateOffsetInPercent UMA stats to native WebRTC.
> 
> Also ensures that audio parameters are accessed atomically.
> 
> Bug: b/113648245
> Change-Id: Ic812bfe2b2c4cfb3b00d9d411bb4986dfeda1028
> Reviewed-on: https://webrtc-review.googlesource.com/97331
> Reviewed-by: Minyue Li <minyue@webrtc.org>
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24550}

TBR=henrika@webrtc.org,ivoc@webrtc.org,minyue@webrtc.org

Change-Id: I620406f25762cf76db0470b3b29b50bc146935c7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/113648245
Reviewed-on: https://webrtc-review.googlesource.com/97941
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24569}
2018-09-05 08:52:51 +00:00
Mirko Bonadei
55d5ef0048 Remove clang:find_bad_constructs suppression from logging (part 1).
This CL removes //build/config/clang:find_bad_constructs from the
suppressed_configs list, which means that clang:find_bad_constructs
is now enabled on these translation units.

Bug: webrtc:9251, webrtc:163
Change-Id: I443c0c77cef30a3f5712f72ce88db80d1fb29874
Reviewed-on: https://webrtc-review.googlesource.com/96642
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24567}
2018-09-05 08:33:17 +00:00
Erik Språng
96816753d9 Don't let time flow backwards in pacer
Bug: webrtc:9716, b:111681259
Change-Id: I1bf8edeaed6c56f3f5a0bdcc1f71108e119e1843
Reviewed-on: https://webrtc-review.googlesource.com/97701
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24561}
2018-09-05 08:04:41 +00:00
Sebastian Jansson
d0e0ec959f Printing internal state of GoogCC.
This is useful for debugging and has minimal effect on production code.

Bug: webrtc:9510
Change-Id: I3a71f484a0d4e54999e376b7924b73230d86cd96
Reviewed-on: https://webrtc-review.googlesource.com/97607
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24557}
2018-09-04 17:26:02 +00:00
Sebastian Jansson
9de4ef4b24 Adds signed infinity to timestamps.
Negative infinity is useful in comparisons as it represents a value
guaranteed to be less than any other timestamp. This avoid using
Timestamp::ms(0) to represent such a value or having to use optional
for the special case of first time execution.

To avoid ambiguity, Timestamp::Infinity is renamed to PlusInfinity.

Bug: webrtc:9709
Change-Id: Ib2debff91036e94d1dc903ec0c6faae30febde4e
Reviewed-on: https://webrtc-review.googlesource.com/79440
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24556}
2018-09-04 17:14:05 +00:00
Danil Chapovalov
376e1147e6 in RtpPacketizerVp8 factor out payload splitter function
so that it can be shared between different packetizers
and thus easier to extend

Bug: webrtc:9680
Change-Id: Ie5e904ad27afb8dd2ed35ef9e009f7f408017b2f
Reviewed-on: https://webrtc-review.googlesource.com/97661
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24555}
2018-09-04 15:28:05 +00:00
Niels Moller
4c6747c9db Revert "Reland "Refactor TestAudioDeviceModule to not depend on EventTimerWrapper.""
This reverts commit cd87e014f34069fd5a73c1ed5b74ddf251a95c2d.

Reason for revert: Somehow introduces a race where rtc::Thread auto-wrapping may be applied to the TestAudioDevice thread rather than the main thread. This causes failures when running video_engine_tests without any test filter.

Original change's description:
> Reland "Refactor TestAudioDeviceModule to not depend on EventTimerWrapper."
>
> This is a reland of 9ea5765f78ed3d0d7b0d483e81f08fb8a2e1110a
>
> Original change's description:
> > Refactor TestAudioDeviceModule to not depend on EventTimerWrapper.
> >
> > In addition, let the processing thread loop explicitly, and not use
> > the deprecated builtin looping in PlatformThread.
> >
> > Bug: webrtc:3380
> > Change-Id: I5171ce3457b80f922c8284259882da63c8f146f1
> > Reviewed-on: https://webrtc-review.googlesource.com/96544
> > Commit-Queue: Niels Moller <nisse@webrtc.org>
> > Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> > Reviewed-by: Artem Titov <titovartem@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#24492}
>
> Bug: webrtc:3380
> Change-Id: I671e3a60ace6ade765a8537b7e20e36f1782a60d
> Reviewed-on: https://webrtc-review.googlesource.com/97320
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24528}

TBR=henrika@webrtc.org,nisse@webrtc.org,titovartem@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.
# Skip anyway, needed for a two-step revert.

No-try: True
Bug: webrtc:3380
Change-Id: Ia7c8cfab36b8259f150b5ccd0c28defd0e7237f6
Reviewed-on: https://webrtc-review.googlesource.com/97682
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24552}
2018-09-04 13:04:11 +00:00
Niels Moller
85e6e826a2 Revert "Delete class EventTimerWrapper."
This reverts commit a421775a6d4f78f7aa9c3ea020a8834e049efbcc.

Reason for revert: Depends on https://webrtc-review.googlesource.com/c/src/+/97320, which will be reverted due to breakage in video_engine_tests.

Original change's description:
> Delete class EventTimerWrapper.
> 
> Only user, iSACTest, refactored to use a sleep instead.
> 
> Bug: webrtc:3380
> Change-Id: I683a5a05349f75a17e5d2a02d4a20a9cf059a28f
> Reviewed-on: https://webrtc-review.googlesource.com/96802
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24541}

TBR=henrika@webrtc.org,henrik.lundin@webrtc.org,nisse@webrtc.org

Change-Id: Iea92618c87cb4eb4595f22674528920171a9defb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:3380
Reviewed-on: https://webrtc-review.googlesource.com/97681
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24551}
2018-09-04 11:50:03 +00:00
henrika
f217903a67 Adds WebRTC.Audio.Record/PlayoutSampleRateOffsetInPercent UMA stats to native WebRTC.
Also ensures that audio parameters are accessed atomically.

Bug: b/113648245
Change-Id: Ic812bfe2b2c4cfb3b00d9d411bb4986dfeda1028
Reviewed-on: https://webrtc-review.googlesource.com/97331
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24550}
2018-09-04 11:22:53 +00:00
Mirko Bonadei
944ba82905 Remove check_includes=false from audio_device_impl.
Bug: webrtc:8850, 824831
Change-Id: I89f089e09214ef189fca97c3f1062a0cd8476687
Reviewed-on: https://webrtc-review.googlesource.com/97622
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24548}
2018-09-04 10:09:42 +00:00
Mirko Bonadei
01cd853d2e Add nogncheck for headers of codecs not used in Chromium.
iLBC [1] and Red [2] are not used in Chromium, this means that WebRTC
doeesn't add the GN dependency on them but the include checker
complains because when it parses the code it sees iLBC and Red headers
included (the GN checker doesn't run the c preprocessor).

[1] - https://cs.chromium.org/chromium/src/.gn?l=62-65&rcl=3f6c31f0fdba128d810c4e3e391fae3b1aca7e7c
[2] - https://cs.chromium.org/chromium/src/third_party/webrtc/modules/audio_coding/audio_coding.gni?l=28-30&rcl=eb254b40b33380fcec43028dd89f3f6bab3d08a7

Bug: chromium:824831
Change-Id: I5059c1773fbe35f568c2fe3d8db3807f29973e7e
Reviewed-on: https://webrtc-review.googlesource.com/97620
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24546}
2018-09-04 09:45:56 +00:00
Niels Möller
a421775a6d Delete class EventTimerWrapper.
Only user, iSACTest, refactored to use a sleep instead.

Bug: webrtc:3380
Change-Id: I683a5a05349f75a17e5d2a02d4a20a9cf059a28f
Reviewed-on: https://webrtc-review.googlesource.com/96802
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24541}
2018-09-04 06:53:28 +00:00
Rasmus Brandt
3613fef7a2 Remove MediaOptimization::Reset.
It is called right after construction, so move the needed
implementation into the MediaOptimization constructor instead.

Bug: webrtc:9711
Change-Id: Ibca35670bf45a85538c34c8ead58ba855acc6b96
Reviewed-on: https://webrtc-review.googlesource.com/97325
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24540}
2018-09-03 15:56:55 +00:00
Alex Loiko
5dd6167908 Echo metric support for the APM-QA.
This was done by
* adding an EchoMetric class to EvaluationScore
* passing an echo metric binary path from the cmd arguments to the
  EvaluationScoreWorkerFactory
* passing the render input filepath to the Evaluator.

The echo score is supposed to be computed by the provided binary. It
should print the echo score in [0.0, 1.0] to a text file. It should
satisfy the cmd flags in its invocation in EchoMetric._Run()


Bug: webrtc:7494
Change-Id: I397013d6ed17659ea01d0623d98a14d4fcdcc161
Reviewed-on: https://webrtc-review.googlesource.com/97022
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24537}
2018-09-03 14:54:23 +00:00
Rasmus Brandt
5438bce467 Add field trial for disabling FrameDropper.
Bug: webrtc:9711
Change-Id: Iaa68fa4de589c05cf6b8cab87bf00ad1f3c565f9
Reviewed-on: https://webrtc-review.googlesource.com/97327
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24536}
2018-09-03 14:39:18 +00:00
Rasmus Brandt
260182d9f3 Remove unused MockFrameDropper and make FrameDropper non-virtual.
Bug: webrtc:9711
Change-Id: I962039c3ebea1a9445ab3a43071279c4ce8a55cf
Reviewed-on: https://webrtc-review.googlesource.com/97326
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24535}
2018-09-03 14:19:17 +00:00
Ivo Creusen
55de08e7ef Restructure neteq_rtpplay into a library with small executable wrapper.
Most of the code in neteq_rtpplay is moved into a factory class for
NetEqTest. The factory method takes the same argc and argv arguments as
neteq_rtpplay.
This CL also adds a small public API for neteq_test to allow easy
integration into external software.

Bug: webrtc:9667
Change-Id: I5241c1f51736cb6fbe47b0ad25f4bc83dabd727d
Reviewed-on: https://webrtc-review.googlesource.com/96100
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24531}
2018-09-03 10:42:40 +00:00
Niels Möller
cd87e014f3 Reland "Refactor TestAudioDeviceModule to not depend on EventTimerWrapper."
This is a reland of 9ea5765f78ed3d0d7b0d483e81f08fb8a2e1110a

Original change's description:
> Refactor TestAudioDeviceModule to not depend on EventTimerWrapper.
> 
> In addition, let the processing thread loop explicitly, and not use
> the deprecated builtin looping in PlatformThread.
> 
> Bug: webrtc:3380
> Change-Id: I5171ce3457b80f922c8284259882da63c8f146f1
> Reviewed-on: https://webrtc-review.googlesource.com/96544
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24492}

Bug: webrtc:3380
Change-Id: I671e3a60ace6ade765a8537b7e20e36f1782a60d
Reviewed-on: https://webrtc-review.googlesource.com/97320
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24528}
2018-09-03 08:58:11 +00:00
Mirko Bonadei
5aec1f68f1 Remove clang:find_bad_constructs suppression from modules/video_capture.
This CL removes //build/config/clang:find_bad_constructs from the
suppressed_configs list, which means that clang:find_bad_constructs
is now enabled on these translation units.

Bug: webrtc:9251, webrtc:163
Change-Id: I71350feb45c23d5a0e17e4828c514ce1c353f6a7
Reviewed-on: https://webrtc-review.googlesource.com/96700
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24524}
2018-09-03 07:33:11 +00:00
Julien Isorce
8dda03515b ScreenCapturerMac: destroy the streams and remove the DisplayStreamManager
Thanks to the CL https://webrtc-review.googlesource.com/c/src/+/83822
there is now no need to destroy the stream asynchronously.
But the CL above introduced a leak, the streams were stopped but
not destroyed. This CL essentially fixes the leak, it is now safe
to destroy the stream right after being stopped as everything happen
in the same capture thread.

Bug: chromium:851883
Change-Id: I4bf7409246f3957d90040d0d8cf09e98f28d6559
Reviewed-on: https://webrtc-review.googlesource.com/96621
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24519}
2018-08-31 23:49:29 +00:00
Sebastian Jansson
ed1f75ab6d Removes redundant starting rate.
Sine a starting rate field was added to the constraints struct. Having
it in the initial config separately is reduntant. To simplify the code,
the extra field is removed. This is a follow up on:
https://webrtc-review.googlesource.com/c/src/+/92624

Bug: webrtc:9586
Change-Id: I9b01b16b2fc4b8479e83b7e998308be2295e0325
Reviewed-on: https://webrtc-review.googlesource.com/96801
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24514}
2018-08-31 17:36:21 +00:00
Jesús de Vicente Peña
836a7a2e4d AEC3: option for using the stationarity estimator at render from the beginning of the call
Bug: webrtc:9697
Change-Id: I2427e9e62505d27b0942fd6b2e38eee6d720f4f3
Reviewed-on: https://webrtc-review.googlesource.com/97081
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24513}
2018-08-31 17:07:02 +00:00
Alessio Bazzica
d4161a3c9d Moving LappedTransform, Blocker and AudioRingBuffer.
LappedTransform is only used in BandwidthAdaptationTest and therefore it
should not be anymore a visible target under common_audio.
This CL moves LappedTransform and other two classes it depends on (and which
are not used elsewhere) to modules/audio_coding/codecs/opus/test.

Bug: webrtc:9577, webrtc:5298
Change-Id: I1aa8052c2df2b2b150c279c0c9b1001474aed47a
Reviewed-on: https://webrtc-review.googlesource.com/96440
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24509}
2018-08-31 15:27:50 +00:00
Danil Chapovalov
8a3c166fff Cleanup RtpPacketizerVP8 tests
Remove partition support for test helper and from tests.
Merge Init function into constructor
Replace extra macroses in favor of Bit helper function
Replace extra members in favor of local variables
Remove fixture

Bug: None
Change-Id: Ibf1600dda9f59abe5afd2bbe40c3e232a2d269ea
Reviewed-on: https://webrtc-review.googlesource.com/96940
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24508}
2018-08-31 08:13:45 +00:00
Niels Möller
d3b8c63b58 Reland "Add spatial index to EncodedImage."
This is a reland of da0898dfae3b0a013ca8ad3828e9adfdc749748d

Original change's description:
> Add spatial index to EncodedImage.
>
> Replaces the VP8 simulcast index and VP9 spatial index formely part of
> CodecSpecificInfo.
>
> Bug: webrtc:9378
> Change-Id: I80eafd63fbdee0a25864338196a690628b4bd3d2
> Reviewed-on: https://webrtc-review.googlesource.com/83161
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24485}

Tbr: magjed@webrtc.org
Bug: webrtc:9378
Change-Id: Iff20b656581ef63317e073833d1a326f7118fdfd
Reviewed-on: https://webrtc-review.googlesource.com/96780
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24507}
2018-08-31 07:35:52 +00:00
Per Åhgren
240215431e AEC3: Parametrize the shadow filter output usage
This CL introduces the ability to control the usage of the shadow filter
output in the echo canceller output.

Bug: webrtc:9694,chromium:879451
Change-Id: I01f90de60de1799b32892051c176bda5e1a8d33e
Reviewed-on: https://webrtc-review.googlesource.com/97020
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24506}
2018-08-31 06:51:16 +00:00
Alessio Bazzica
cc22f51988 Removing the intelligibility enhancer.
The intelligibility enhancer is always disabled and it is the only non-test
target using the lapped transform in common_audio (which we planned to remove).

Bug: webrtc:9689, webrtc:5298
Change-Id: Ida65d3aa11ac366471e7e5cbc053108b376c67d8
Reviewed-on: https://webrtc-review.googlesource.com/96460
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24504}
2018-08-30 21:29:57 +00:00
Will Harris
fc173d00ec Add no_size_t_to_int_warning suppression to webrtc.
Current set of warnings that need fixing before this warning can
be enabled is here -> https://pastebin.com/raw/jTddgPzP

BUG=chromium:588506, webrtc:9451

Change-Id: Id7896cf48c7231b2ee28dde378ff3ce17da73c2b
Reviewed-on: https://webrtc-review.googlesource.com/96623
Commit-Queue: Will Harris <wfh@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24503}
2018-08-30 17:45:54 +00:00
Rasmus Brandt
260b4151c8 Revert "Reland "Optimize execution time of RTPSender::UpdateDelayStatistics""
This reverts commit 7bcd2a98be3fa8c246866d6b343c7f94752977b3.

Reason for revert: peerconnection_unittests fails on downstream test runner.

Original change's description:
> Reland "Optimize execution time of RTPSender::UpdateDelayStatistics"
> 
> The reland has a lot of additional DCHECKS for easier debugging,
> so in debug builds it will actually be a ~2x slowdown compared to the old code.
> The excessive DCHECKS should be removed in a followup CL.
> 
> Bug: webrtc:9439
> Change-Id: I493de337bf20c998aa32c2532212cac85c5517fb
> Reviewed-on: https://webrtc-review.googlesource.com/96641
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24501}

TBR=terelius@webrtc.org,asapersson@webrtc.org,philipel@webrtc.org

Change-Id: Ia48444d2a7647cf826ef93b4720f6d7ff9a712c3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9439
Reviewed-on: https://webrtc-review.googlesource.com/96960
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24502}
2018-08-30 15:24:47 +00:00
Bjorn Terelius
7bcd2a98be Reland "Optimize execution time of RTPSender::UpdateDelayStatistics"
The reland has a lot of additional DCHECKS for easier debugging,
so in debug builds it will actually be a ~2x slowdown compared to the old code.
The excessive DCHECKS should be removed in a followup CL.

Bug: webrtc:9439
Change-Id: I493de337bf20c998aa32c2532212cac85c5517fb
Reviewed-on: https://webrtc-review.googlesource.com/96641
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24501}
2018-08-30 14:42:02 +00:00
Sebastian Jansson
34ee419a23 Fixes breaking bug in feedback based GoogCC.
This CL fixes a bug in the feedback based GoogCC where packets lost
was swapped with expected packets received. Since this version of
GoogCC isn't yet used this wasn't discovered. There was also a lack
of unit test coverage. To ensure reasonable behavior, unit tests was
added.

Unit tests was also converted from relevant unit tests on send side
congestion controller for the regular GoogCC controller.

Bug: webrtc:9586
Change-Id: I83c40ff4766104820cb72ec1e8b95c5782def19a
Reviewed-on: https://webrtc-review.googlesource.com/59401
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24498}
2018-08-30 13:22:51 +00:00
Niels Moller
6be91eb2f8 Revert "Refactor TestAudioDeviceModule to not depend on EventTimerWrapper."
This reverts commit 9ea5765f78ed3d0d7b0d483e81f08fb8a2e1110a.

Reason for revert: Makes the perf test RampUpTest.AudioTransportSequenceNumber fail on windows, almost every time.

Original change's description:
> Refactor TestAudioDeviceModule to not depend on EventTimerWrapper.
> 
> In addition, let the processing thread loop explicitly, and not use
> the deprecated builtin looping in PlatformThread.
> 
> Bug: webrtc:3380
> Change-Id: I5171ce3457b80f922c8284259882da63c8f146f1
> Reviewed-on: https://webrtc-review.googlesource.com/96544
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24492}

TBR=henrika@webrtc.org,nisse@webrtc.org,titovartem@webrtc.org

Change-Id: I8867a22d695494bd5abfda6a97f0719cb3ff3d66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:3380
Reviewed-on: https://webrtc-review.googlesource.com/96840
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24496}
2018-08-30 12:59:13 +00:00
Niels Möller
5304a32a94 Delete StreamStatistician::IsRetransmitOfOldPacket
Return value always passed as the |retransmitted| argument to
ReceiveStatistics::IncomingPacket. The implementation of this method,
StreamStatisticianImpl::IncomingPacket, can call its own
IsRetransmitOfOldPacket, which is demoted to a private method.

Bug: webrtc:7135
Change-Id: I904db676738689c7a1db4caa588f70e64e3c357d
Reviewed-on: https://webrtc-review.googlesource.com/95649
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24494}
2018-08-30 11:00:13 +00:00
Anders Carlsson
7bca8ca4e2 Obj-C SDK Cleanup
This CL separates the files under sdk/objc into logical directories, replacing
the previous file layout under Framework/.

A long term goal is to have some system set up to generate the files under
sdk/objc/api (the PeerConnection API wrappers) from the C++ code. In the shorter
term the goal is to abstract out shared concepts from these classes in order to
make them as uniform as possible.

The separation into base/, components/, and helpers/ are to differentiate between
the base layer's common protocols, various utilities and the actual platform
specific components.

The old directory layout that resembled a framework's internal layout is not
necessary, since it is generated by the framework target when building it.

Bug: webrtc:9627
Change-Id: Ib084fd83f050ae980649ca99e841f4fb0580bd8f
Reviewed-on: https://webrtc-review.googlesource.com/94142
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24493}
2018-08-30 10:42:41 +00:00
Niels Möller
9ea5765f78 Refactor TestAudioDeviceModule to not depend on EventTimerWrapper.
In addition, let the processing thread loop explicitly, and not use
the deprecated builtin looping in PlatformThread.

Bug: webrtc:3380
Change-Id: I5171ce3457b80f922c8284259882da63c8f146f1
Reviewed-on: https://webrtc-review.googlesource.com/96544
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24492}
2018-08-30 10:40:01 +00:00
Danil Chapovalov
8d1b582f33 Cleanup RtpPacketizerVp8
Merge SetPayloadData into constructor,
Remove payload size member because now used only during construction.
Remove member that should be constant

Bug: None
Change-Id: Ib2083439f466ad9151ce8e54fceede6cef51d955
Reviewed-on: https://webrtc-review.googlesource.com/96740
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24491}
2018-08-30 10:16:33 +00:00
Sergey Silkin
ae3144c51f Move VP9 frame rate controller to separate class.
Bug: webrtc:9669
Change-Id: I6f30587778e9783182af11d2410464024918e171
Reviewed-on: https://webrtc-review.googlesource.com/96201
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24487}
2018-08-29 21:05:56 +00:00
Niels Moller
5a998d7246 Revert "Add spatial index to EncodedImage."
This reverts commit da0898dfae3b0a013ca8ad3828e9adfdc749748d.

Reason for revert: Broke downstream tests.

Original change's description:
> Add spatial index to EncodedImage.
> 
> Replaces the VP8 simulcast index and VP9 spatial index formely part of
> CodecSpecificInfo.
> 
> Bug: webrtc:9378
> Change-Id: I80eafd63fbdee0a25864338196a690628b4bd3d2
> Reviewed-on: https://webrtc-review.googlesource.com/83161
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24485}

TBR=brandtr@webrtc.org,magjed@webrtc.org,nisse@webrtc.org,sprang@webrtc.org,philipel@webrtc.org,srte@webrtc.org

Change-Id: Idb4fb9d72e5574d7353c631cb404a1311f3fd148
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9378
Reviewed-on: https://webrtc-review.googlesource.com/96664
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24486}
2018-08-29 14:36:05 +00:00
Niels Möller
da0898dfae Add spatial index to EncodedImage.
Replaces the VP8 simulcast index and VP9 spatial index formely part of
CodecSpecificInfo.

Bug: webrtc:9378
Change-Id: I80eafd63fbdee0a25864338196a690628b4bd3d2
Reviewed-on: https://webrtc-review.googlesource.com/83161
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24485}
2018-08-29 13:50:17 +00:00
Jesús de Vicente Peña
02e9e44c0c AEC3: Adding a reset of the ERLE estimator after going out from the initial state.
Bug: webrtc:9685
Change-Id: Ifc6019811c3d90df91df07e68f1d04cb39cb3545
Reviewed-on: https://webrtc-review.googlesource.com/96661
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24484}
2018-08-29 12:53:21 +00:00
Mirko Bonadei
8fdcac3f06 Remove clang:find_bad_constructs suppression from call:call.
This CL removes //build/config/clang:find_bad_constructs from the
suppressed_configs list, which means that clang:find_bad_constructs
is now enabled on these translation units.

Bug: webrtc:9251, webrtc:163
Change-Id: I74cb86c29cebb69dd22083718f1446f18f705cd4
Reviewed-on: https://webrtc-review.googlesource.com/95883
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24483}
2018-08-29 11:57:00 +00:00
Valeriia Nemychnikova
f06eb57a2f Adding CustomAudioAnalyzer interface in APM.
CustomAudioAnalyzer is an interface of a component into APM that
reads AudioBuffer without changing it.
The APM sub-module is optional. It operates in full band.
As described in the comments, it is an experimental interface which
may be changed in the nearest future.

Change-Id: I21edf729d97947529256407b10fa4b5219bb2bf5
Bug: webrtc:9678
Reviewed-on: https://webrtc-review.googlesource.com/96560
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Valeriia Nemychnikova <valeriian@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24481}
2018-08-29 10:12:26 +00:00
Jesús de Vicente Peña
7015bb410d AEC3: Reset the ERLE estimation after a delay change
Bug: webrtc:9685
Change-Id: I3c920bbb07aef513ea14bd0573ac4fd4b278ec89
Reviewed-on: https://webrtc-review.googlesource.com/96681
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24480}
2018-08-29 09:56:56 +00:00