Commit Graph

4291 Commits

Author SHA1 Message Date
979d6f96a8 in RtcpTransceiver tests use dedicate RtcpParserTransport
class to pass packet to RtcpPacketParser

This helpers make tests setup cleaner and
makes explicit expectation on number of packets passed to the transport.

Bug: webrtc:8239
Change-Id: I2d5975be59327cee440e87dbd0701b93514c9726
Reviewed-on: https://webrtc-review.googlesource.com/22460
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20911}
2017-11-28 13:52:08 +00:00
32f64d2ef9 rtp_encode: Fixing bug related to DTX
Bug: webrtc:2692
Change-Id: I7b884b22cab21b9dce77e5599f43431bbc899f5d
Reviewed-on: https://webrtc-review.googlesource.com/26027
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20909}
2017-11-28 12:35:38 +00:00
327c43c29b Add sending Nack to RtcpTransceiver
Bug: webrtc:8239
Change-Id: Idf27bb05958d9eceaf601078019f05444232581f
Reviewed-on: https://webrtc-review.googlesource.com/26260
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20907}
2017-11-28 11:57:58 +00:00
2f061681cc Make PrintResultList receive a vector of doubles instead of a string.
Also, add more tests to perf_test_unittest.

Bug: webrtc:8566
Change-Id: I8864db7172fa207803d310c4a5fee4bf820a56bd
Reviewed-on: https://webrtc-review.googlesource.com/25823
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20906}
2017-11-28 11:52:38 +00:00
e9619f8f81 Add a new NetEq decoding unit test for Opus with DTX
This tests NetEq with a stream encoded with Opus using it's internal
DTX/CNG.

Also adding a new resource file which is encoded using Opus with DTX.

Bug: webrtc:8488
Change-Id: Icfba5bc5dc7f9c9d0e637a90f4df674e8ba40358
Reviewed-on: https://webrtc-review.googlesource.com/26028
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20905}
2017-11-28 10:45:38 +00:00
2492984441 Add TimeMicrosToNtp to calculate current NtpTime without Clock
Bug: webrtc:6733, webrtc:8239
Change-Id: I8ac4464cd7a7ec2b2dbad44430f1141a80ba39c1
Reviewed-on: https://webrtc-review.googlesource.com/25541
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20904}
2017-11-28 10:11:58 +00:00
fb09eeb8f1 Attempt to resolve crash in AudioDeviceIOS::UpdateAudioDeviceBuffer
Bug: b/69547732
Change-Id: I078175f96d55351ab0318aa2de96f4b859e752ea
Reviewed-on: https://webrtc-review.googlesource.com/24864
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Zeke Chin <tkchin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20903}
2017-11-28 09:13:18 +00:00
8f00ad02fb WindowFinderTest.FindConsoleWindow is flaky on Win32 ASan
The root cause of the flakiness is unknown, the possible issue is that the
console window running the test case is hidden or minimized. So this change
adds a SetWindow(SW_MAXIMIZE) to ensure the console window is showing.

I have run the tests against win_asan for hundreds times during the
thanksgiving. So far, no flakiness were caught.

Bug: webrtc:8568
Change-Id: Ib2c93e9bd511257213254bdaa0079c14ea50f3e4
Reviewed-on: https://webrtc-review.googlesource.com/25286
Reviewed-by: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#20902}
2017-11-28 01:21:47 +00:00
99206df620 [desktopCapture] make FakeDesktopCapturer reachable by Chromium
To make desktopCapture autotest in chromium more meaningful, it's better
to creake fake capturer of each capture type. Here we can reuse the
FakeDesktopCapturer for window capture in chromium.

Bug: chromium:699201
Change-Id: Icbe134d99cbd4980bf27fe74c1c629a1469836ea
Reviewed-on: https://webrtc-review.googlesource.com/26360
Reviewed-by: Zijie He <zijiehe@chromium.org>
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20901}
2017-11-28 00:55:07 +00:00
9299642fd0 Make ALR probing experiment default on.
Bug: webrtc:7694
Change-Id: I9d468ed13d2894c6d6ec9163d21959d51926cf33
Reviewed-on: https://webrtc-review.googlesource.com/23560
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20894}
2017-11-27 15:17:12 +00:00
83c4a02b76 Added metric for the delay in AEC3.
Bug: webrtc:8569
Change-Id: I659049a411654bd3a252ab29008fac467f903efd
Reviewed-on: https://webrtc-review.googlesource.com/25600
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20892}
2017-11-27 12:52:42 +00:00
b8ff8f7d40 Revert "Adding -Wno-deprecated-declarations to declarations deprecated in iOS 10"
This reverts commit 2a9dbe6e7e722cf069b72ccff0051b1517706996.

Reason for revert: The fix does not help, it still fails at runtime

Original change's description:
> Adding -Wno-deprecated-declarations to declarations deprecated in iOS 10
>
> This CL will unblock the Chromium Roll while deprecated declarations
> will be removed from the WebRTC codebase.
>
> Bug: webrtc:8570
> Change-Id: I55cf78040758369ce45176cf0a00df50a87eb972
> No-Try: True
> Reviewed-on: https://webrtc-review.googlesource.com/25641
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20858}

No-Try: True
Bug: webrtc:8570
Change-Id: Ib17ed05f8f239912661281329ecab175c23491d6
Reviewed-on: https://webrtc-review.googlesource.com/25964
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20890}
2017-11-27 11:54:52 +00:00
5b8c0a2a1e Optional: Use nullopt and implicit construction in /modules/congestion_controller
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

Bug: None
Change-Id: If2a98dc714d1755f07af1f70248cf41e4a9db750
Reviewed-on: https://webrtc-review.googlesource.com/23612
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20887}
2017-11-27 10:42:22 +00:00
6bd39025ec Optional: Use nullopt and implicit construction in /modules/video_coding
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

Bug: None
Change-Id: Iedebf4dc56a973306e7d7e7649525879808dc72b
Reviewed-on: https://webrtc-review.googlesource.com/23578
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20878}
2017-11-24 18:36:09 +00:00
56d460902e Use the new AudioProcessing statistics everywhere.
The new interface uses optionals instead of default values, and only values that are actually used are included. To make it easy to add/remove stats in the future, the struct itself is copied around on all layers, instead of copying the values one by one. This CL also fixes a bug which caused several APM statistics to get stuck at a fixed level when there are no more receive streams (after some period where there were receive streams). Since APM doesn't know this happens, an argument was added to the GetStats call to pass this information down to APM.

Bug: webrtc:8563, b/67926135
Change-Id: I96cc008353355bb520c4523f5c5379860f73ee24
Reviewed-on: https://webrtc-review.googlesource.com/25621
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20877}
2017-11-24 18:17:39 +00:00
69d276d7dc Removed residual echo complexity unittest.
This test produces a consistent stream of false positive alerts, and I have been unable to make it more robust, despite several attempts. It also has never managed to catch a real regression, so I think it is better to remove it.

Bug: chromium:788318
Change-Id: I7e9731834f67af1ef2fa15a655e620bd64a4cfde
Reviewed-on: https://webrtc-review.googlesource.com/25824
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20874}
2017-11-24 16:15:59 +00:00
a6092a9ea7 Deprecated the Get BitrateController method
GetBandwidthObserver should be used instead as it exposes a smaller interface.

Bug: webrtc:8415
Change-Id: I29ca795657e205186d7ebd929e756038a294b5f7
Reviewed-on: https://webrtc-review.googlesource.com/23900
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20871}
2017-11-24 15:07:44 +00:00
09b9faed53 APM reports AEC3 ERL and ERLE metrics also via the old GetStatistics function.
The audio processing module reports the metrics 'echo return loss'
and 'echo return loss enhancement' for AEC3 via the old, soon to be
replaced, GetStatistics fuction.

Bug: webrtc:8533
Change-Id: I6b2286b5cdf8f20ebf14f82f1180f6bfb6c00c68
Reviewed-on: https://webrtc-review.googlesource.com/25642
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20869}
2017-11-24 14:13:59 +00:00
81af414ffb Replacing the legacy tool RTPjitter with a new rtp_jitter
This new tool provides the similar functionality as the legacy tool, but
is implemented using less legacy helpers. It also replaces RTPtimeshift
and RTPchange. The most significant change versus the old RTPjitter tool
is that the new tool takes the timing data in the form of integers in a
text file (instead of the binary data file used by the old tool). This
should make it easier to create custom timing files when needed.

Bug: webrtc:2692
Change-Id: I5e46fe7abdd9ca8c04a04de87555204fca36e287
Reviewed-on: https://webrtc-review.googlesource.com/25700
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20868}
2017-11-24 13:38:59 +00:00
f9d303c042 Make PrintResultMeanAndError receive two doubles instead of a string.
Bug: webrtc:8566
Change-Id: Ida925b030bff24275d34c0e888ee362e94c46b21
Reviewed-on: https://webrtc-review.googlesource.com/25540
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20866}
2017-11-24 12:14:48 +00:00
2a9dbe6e7e Adding -Wno-deprecated-declarations to declarations deprecated in iOS 10
This CL will unblock the Chromium Roll while deprecated declarations
will be removed from the WebRTC codebase.

Bug: webrtc:8570
Change-Id: I55cf78040758369ce45176cf0a00df50a87eb972
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/25641
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20858}
2017-11-24 09:08:38 +00:00
1391bd472c Replacing the legacy tool RTPencode with a new rtp_encode
This new tool provides the same functionality as the legacy tool, but it
is implemented using AudioCodingModule and AudioEncoder APIs instead of
the naked codecs.

Bug: webrtc:2692
Change-Id: I29accd77d4ba5c7b5e1559853cbaf20ee812e6bc
Reviewed-on: https://webrtc-review.googlesource.com/24861
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20857}
2017-11-24 09:05:48 +00:00
01f2ec35a6 Add a new function to BitrateAllocation: HasBitrate.
This can be used to determine whether the bitrate of a given spatial and temporal layer has been set in the allocation, even if the value it's set to is zero.
GetBitrate still returns 0 if the queried layer does not have the bitrate set.

Bug: webrtc:8479
Change-Id: I1d982e211da9b052fcccdbf588b67da1a4550c60
Reviewed-on: https://webrtc-review.googlesource.com/17440
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Varga <erikvarga@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20852}
2017-11-23 15:00:08 +00:00
6a82207e4e Make PrintResult receive a double instead of a string.
It will be easier to make perf results output to JSON if the PrintResult*
functions receive doubles instead of strings.

I'll make follow-up CLs for PrintResultMeanAndError and PrintResultList.

Bug: webrtc:8566
Change-Id: I198e422a7bb8cd237c6364af98d2f67f0858452e
Reviewed-on: https://webrtc-review.googlesource.com/25300
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20848}
2017-11-23 12:30:08 +00:00
3419cf909e Optional: Use nullopt and implicit construction in /modules/rtp_rtcp
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=danilchap@webrtc.org

Bug: None
Change-Id: Ib4694d183f04d675f2ea66d39661fdffb2a984f1
Reviewed-on: https://webrtc-review.googlesource.com/23604
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20846}
2017-11-23 11:36:08 +00:00
02d71fde8d Generate APM-QA annotations for noise mixes.
The APM-QA tool produces clean-speech + noise + echo mixes with the
--additive_noise_tracks_path, --test_data_generators,
--echo_path_simulator flags. From this CL, it automatically produces
compressed Numpy annotations for the mixes. Annotations are placed in
the same  folder as the mixes with name '${basename}-annotations.npz'.

TBR=alessiob@webrtc.org
NOTRY=True

Bug: webrtc:7494
Change-Id: I71941a4283594ef813de3ed65be31623bce5d7de
Reviewed-on: https://webrtc-review.googlesource.com/24960
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20844}
2017-11-23 10:16:29 +00:00
2efe87f8f6 Revert "Removes deprecated ADM APIs."
This reverts commit 1882d8509a138468c6dd8437506973d236c80e62.

Reason for revert: Broke the internal projects.

Original change's description:
> Removes deprecated ADM APIs.
> 
> Final stage since these APIs are no longer used in Chrome.
> 
> Bug: webrtc:7306
> Change-Id: Ia116671bc888daa75c4105ad1ebeb21833f5d090
> Reviewed-on: https://webrtc-review.googlesource.com/25220
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20836}

TBR=solenberg@webrtc.org,henrika@webrtc.org

Change-Id: If8dd4212fb3e8c6944643d3794f673837977bf4e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7306
Reviewed-on: https://webrtc-review.googlesource.com/25320
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20840}
2017-11-22 18:40:10 +00:00
f68d15cba3 Removes check of RECORD_AUDIO in native audio layer on Android.
This type of check should instead be performed by the application/client.
If the app does not have mic permissions, construction of the AudioRecord
object will fail and the user will receive an error callback anyhow.

Bug: b/69434512
Change-Id: If1d7eff488f7c693697e048a567c17ed0c51f040
Reviewed-on: https://webrtc-review.googlesource.com/25261
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20839}
2017-11-22 18:01:27 +00:00
1882d8509a Removes deprecated ADM APIs.
Final stage since these APIs are no longer used in Chrome.

Bug: webrtc:7306
Change-Id: Ia116671bc888daa75c4105ad1ebeb21833f5d090
Reviewed-on: https://webrtc-review.googlesource.com/25220
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20836}
2017-11-22 16:05:27 +00:00
332150d7df APM reports ERL and ERLE metrics for AEC3.
The audio processing module reports the metrics 'echo return loss'
and 'echo return loss enhancement' for AEC3.

Bug: webrtc:8533
Change-Id: I166c504adf013d6cb5d6d3c9717d0622c3454bb7
Reviewed-on: https://webrtc-review.googlesource.com/24880
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20835}
2017-11-22 15:01:47 +00:00
2ddf98d894 Add RequestKeyFrame with Fir to RtcpTransceiver
Bug: webrtc:8239
Change-Id: If094d434a7be20cdff5c80447322d68a4a7a4580
Reviewed-on: https://webrtc-review.googlesource.com/22961
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20833}
2017-11-22 14:00:57 +00:00
65c392265f Move some more numeric utility code from rtc_base/ to rtc_base/numerics/
Specifically, I'm moving

  histogram_percentile_counter.h
  mathutils.h
  mod_ops.h
  moving_max_counter.h

They shouldn't be part of the API, and moving them to an appropriate
subdirectory of rtc_base/ is a good way to keep track of that.

BUG=webrtc:8445

Change-Id: I78a999984a27ef935be2d7c3136475d5f209adda
Reviewed-on: https://webrtc-review.googlesource.com/20870
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20832}
2017-11-22 12:39:39 +00:00
e40468ba3d Move some numeric utility code from rtc_base/ to rtc_base/numerics/
Specifically, I'm moving

  safe_compare.h
  safe_conversions.h
  safe_minmax.h

They shouldn't be part of the API, and moving them to an appropriate
subdirectory of rtc_base/ is a good way to keep track of that.

BUG=webrtc:8445

Change-Id: I458531aeb30bcf4291c4bec3bf22a2fffbf054ff
Reviewed-on: https://webrtc-review.googlesource.com/20860
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20829}
2017-11-22 11:21:47 +00:00
10dd7ed81a Support for external VAD program in APM-QA
There is now an 'ExternalVad' class in the AnnotationsExtractor. The
Extractor takes an extra list of these in addition to the other
VADs. The external VAD runs an external program to generate the
annotations. Annotations are loaded and saved to a compressed Numpy format.

Also made a small fix to name a mixed file in a way so that files will not
be overwritten.

Also did some minor changes to the unittests.
TBR=alessiob@webrtc.org

Bug: webrtc:7494
Change-Id: I7816b04466be16cd635ac6ceab18cd7aad5325a4
Reviewed-on: https://webrtc-review.googlesource.com/23623
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20819}
2017-11-21 16:44:19 +00:00
a7e418cd5f Add RequestKeyFrame with Pli to RtcpTransceiver
Add support for reduced size mode.

Bug: webrtc:8239
Change-Id: I1d646f0d7848af6632c9204ce5b96ae24cfc0ad3
Reviewed-on: https://webrtc-review.googlesource.com/23681
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20812}
2017-11-21 11:19:07 +00:00
d6c98c020a Add check to see if output device has HogMode property (Mac OS X)
Bug: webrtc:8549
Change-Id: I952db26de02ccce8155762531cbae9411abafb28
Reviewed-on: https://webrtc-review.googlesource.com/24125
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20809}
2017-11-21 10:49:57 +00:00
eeb2765f6c Implement Opus bandwidth adjustment behind a FieldTrial
Bug: webrtc:8522
Change-Id: I3a32ebfecd27ff74b507c2cee9e16aab17153442
Reviewed-on: https://webrtc-review.googlesource.com/22210
Commit-Queue: Alejandro Luebs <aluebs@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20799}
2017-11-20 20:04:19 +00:00
64eaa99cfc On-fly calculation of quality metrics.
Calculation of quality metrics required writing of decoded video
to file. There were two drawbacks with that approach. First, frame
drops significantly affected metrics because comparison was done
against the last decoded frame. Second, simulcast/SVC required
writing of multiple files. This might be too much data to dump.

On-fly metrics calculation is done in frame decoded callback.
Calculation time is excluded from encoding/decoding time. If CPU
usage measurement is enabled metrics calculation is disabled since
it affects CPU usage. The results are reported in Stats::PrintSummary.

Bug: webrtc:8524
Change-Id: Id54fb21f2f95deeb93757afaf46bde7d7ae18dac
Reviewed-on: https://webrtc-review.googlesource.com/22560
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20798}
2017-11-20 16:13:59 +00:00
36de62e830 Avoid flagging Opus DTX frames as speech.
Background: After 20 consecutive DTX frames, Opus encodes the background
noise in a normal frame and then goes back to outputting DTX frames.

Currently all Opus frames are flagged as containing speech.

This CL is has two effects on outgoing Opus packets:
1. DTX frames are flagged as non-speech.
2. A non-DTX frame that follows 20 consecutive DTX frames is flagged as
   non-speech.

Bug: webrtc:8088
Change-Id: Ic36cf8c9d0a34f55ed4e57858362ad91e3897dda
Reviewed-on: https://webrtc-review.googlesource.com/23760
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20794}
2017-11-20 14:53:40 +00:00
ae02609645 Add parallel stats interface with optional stats to APM.
This new parallel GetStatistics function uses Optionals to indicate if stats are valid or not, and no longer relies on default values. It also takes an argument to indicate if receive streams are present, and if not several stats will not be set.

Bug: b/67926135
Change-Id: I175de1c65c414bea6ec9ca8b0b16f07cb2308d9f
Reviewed-on: https://webrtc-review.googlesource.com/17942
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20789}
2017-11-20 13:13:20 +00:00
0ce0988503 Expose audio record source setting in WebRtcAudioRecord.
Landing https://webrtc-review.googlesource.com/c/src/+/23881 on behalf
of stevengatto@

TBR=glaznev

Bug: webrtc:8545
Change-Id: I4358b93d2f4d934c497c4d3ee7e86e1fbc7a5fae
Reviewed-on: https://webrtc-review.googlesource.com/24460
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20788}
2017-11-20 13:06:21 +00:00
aa8b67da9d Optional: Use nullopt and implicit construction in /modules/audio_processing
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=henrik.lundin@webrtc.org

Bug: None
Change-Id: I733a83f702fe11884d229a1713cfac952727bde8
Reviewed-on: https://webrtc-review.googlesource.com/23601
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20786}
2017-11-20 10:19:30 +00:00
156af4ae61 neteq_rtpplay: Add buffer size (target and current) to print-out
Bug: none
Change-Id: Id940471235e9f54e1e46569c74255759a891395d
Reviewed-on: https://webrtc-review.googlesource.com/24100
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20783}
2017-11-20 08:07:30 +00:00
df4883dbf0 Reland "Update internal encoder factory to new interface"
This is a reland of 2c8c8e26fc58a0f2789b7a5cd2646a8319c14d3e
Original change's description:
> Update internal encoder factory to new interface
>
> TBR=stefan@webrtc.org
>
> Bug: webrtc:7925
> Change-Id: I0bb97acdf0d58a9ce531ecdd672bb17ef96360df
> Reviewed-on: https://webrtc-review.googlesource.com/21162
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20717}

TBR=andersc@webrtc.org,brandt@webrtc.org,stefan@webrtc.org

Bug: webrtc:7925
Change-Id: I0d269b3edb029e372a36c3b461a577bca2b6d0cb
Reviewed-on: https://webrtc-review.googlesource.com/24000
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20747}
2017-11-18 10:48:28 +00:00
dc1e3e8414 Fix excessive audio device logging on Windows
Reverted the logic introduced in https://codereview.webrtc.org/2933953003
This is because the audio device buffer behavior changed with https://codereview.webrtc.org/3009193002, and the RequestPlayoutData method now returns number of samples in each channel, which creates mismatch the reverted CL.

Bug: webrtc:8548
Change-Id: Id4711ca48437ddd3483327c2a4c7827d09e5b770
Reviewed-on: https://webrtc-review.googlesource.com/24122
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20737}
2017-11-17 20:00:31 +00:00
38e2d95bda AEC3 delay estimator refactoring and introducing ability to customize
This CL refactors the delay estimator in AEC3.
Furthermore, it adds:
1. Allow for a customized delay estimator behavior to simplify
development.
2. Exposes that behavior to clear configuration settings.
3. Adds logging of the delay range supported by the delay
estimator.

Bug: webrtc:8519
Change-Id: I1764a090519a78b021b2e7de565c52a6c02c848e
Reviewed-on: https://webrtc-review.googlesource.com/21166
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20733}
2017-11-17 17:51:37 +00:00
76f2a85027 In generic encoder ensure capture timestamp is preserved.
Because some hardware encoders may not preserve capture timestamp, use
rtp timestamp as a key to capture time storage and restore corrupted
capture timestamps whenever possible.

Bug: webrtc:8497
Change-Id: Ib3449313c65e864a89cd645a3f5dec99aa9cf8e4
Reviewed-on: https://webrtc-review.googlesource.com/23620
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20732}
2017-11-17 16:06:17 +00:00
12ab00b4d8 Optional: Use nullopt and implicit construction in /modules/audio_coding
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=kwiberg@webrtc.org

Bug: None
Change-Id: I055411a3e521964c81100869a197dd92f5608f1b
Reviewed-on: https://webrtc-review.googlesource.com/23619
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20728}
2017-11-17 11:58:37 +00:00
f715c53bca Fix circular deps in common_audio.
This makes it easier to import cleanly downstream, and makes it
a lot easier to reason about.

Bug: webrtc:6828
Change-Id: I953e129de73053f8619333fe7e318b36e3a1fffa
Reviewed-on: https://webrtc-review.googlesource.com/22722
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20727}
2017-11-17 11:20:17 +00:00
feee08f4da Marked UnwrapWithoutUpdate function as const
Bug: webrtc:8415
Change-Id: Ic38622fce9d504b16ef5d586973fb03535a5150c
Reviewed-on: https://webrtc-review.googlesource.com/23980
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20726}
2017-11-17 10:32:26 +00:00