Commit graph

210 commits

Author SHA1 Message Date
Mirko Bonadei
682aac5103 Enable clang::find_bad_constructs for audio_coding (part 1/2).
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: I6a7d4964723a5e195189aac30a83d9e924e61dd7
Reviewed-on: https://webrtc-review.googlesource.com/89743
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24053}
2018-07-20 13:07:47 +00:00
Mirko Bonadei
216664ab13 Cleanup unneeded includes in audio_coding/BUILD.gn.
WebRTC internal headers are always included starting from the root
(e.g. #include "modules/audio_coding/..."), so there is no need to
specify the include_dirs removed by this CL.

Bug: webrtc:9538
Change-Id: I91e70508c67020bbf70304df5e48ca757ad43221
Reviewed-on: https://webrtc-review.googlesource.com/89385
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24026}
2018-07-18 15:16:29 +00:00
Sam Zackrisson
3f84f498e4 Remove useless import of arm.gni
Bug: None
Change-Id: I439410d9edf306b664ef21157216870d6e1c8207
Reviewed-on: https://webrtc-review.googlesource.com/87436
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23953}
2018-07-12 14:39:00 +00:00
Danil Chapovalov
065a52a655 Reland "Remove rtc::Optional alias and api:optional target"
This is an reland of 6f5b0f920a
Relanded after speculative revert without any changes.

TBR=ilnik@webrtc.org

Original change's description:
> Remove rtc::Optional alias and api:optional target
>
> Update left-overs where old target still was used.
>
> Bug: webrtc:9078
> Change-Id: I2162c928091fc4ff1dea33a3f03adbe47207d206
> Reviewed-on: https://webrtc-review.googlesource.com/84740
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23913}

Bug: webrtc:9078
Change-Id: Ia33c6438253c6ec49f45d938e8a3607b51c418be
Reviewed-on: https://webrtc-review.googlesource.com/88160
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23941}
2018-07-11 19:02:51 +00:00
Ilya Nikolaevskiy
b661c658da Revert "Remove rtc::Optional alias and api:optional target"
This reverts commit 6f5b0f920a.

Reason for revert: Breaks internal project.

Original change's description:
> Remove rtc::Optional alias and api:optional target
> 
> Update left-overs where old target still was used.
> 
> Bug: webrtc:9078
> Change-Id: I2162c928091fc4ff1dea33a3f03adbe47207d206
> Reviewed-on: https://webrtc-review.googlesource.com/84740
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23913}

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

Change-Id: I95f5ec33520b823c3d0c9cb83d945d6a15355367
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9078
Reviewed-on: https://webrtc-review.googlesource.com/88140
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23921}
2018-07-11 07:41:41 +00:00
Danil Chapovalov
6f5b0f920a Remove rtc::Optional alias and api:optional target
Update left-overs where old target still was used.

Bug: webrtc:9078
Change-Id: I2162c928091fc4ff1dea33a3f03adbe47207d206
Reviewed-on: https://webrtc-review.googlesource.com/84740
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23913}
2018-07-10 18:02:23 +00:00
Minyue Li
99fb004f0d Remove a legacy DCHEC in FakeDecodeFromFile.
Bug: None
Change-Id: Ia76bf18eb228b658d0a7146cdb6e46586b3507a0
Reviewed-on: https://webrtc-review.googlesource.com/87435
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23890}
2018-07-09 19:56:58 +00:00
Minyue Li
9a94057a79 Making PacketDuration always consistent with Decode in FakeDecodeFromFile.
Bug: None
Change-Id: Ib34efd629009075fdc793ab041296d2814c9677e
Reviewed-on: https://webrtc-review.googlesource.com/87380
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23874}
2018-07-06 13:30:47 +00:00
Karl Wiberg
918f50c5d1 Use absl::make_unique and absl::WrapUnique directly
Instead of going through our wrappers in ptr_util.h.

This CL was generated by the following script:

  git grep -l ptr_util | xargs perl -pi -e 's,#include "rtc_base/ptr_util.h",#include "absl/memory/memory.h",'
  git grep -l MakeUnique | xargs perl -pi -e 's,\b(rtc::)?MakeUnique\b,absl::make_unique,g'
  git grep -l WrapUnique | xargs perl -pi -e 's,\b(rtc::)?WrapUnique\b,absl::WrapUnique,g'
  git checkout -- rtc_base/ptr_util{.h,_unittest.cc}
  git cl format

Followed by manually adding dependencies on
//third_party/abseil-cpp/absl/memory until `gn check` stopped
complaining.

Bug: webrtc:9473
Change-Id: I89ccd363f070479b8c431eb2c3d404a46eaacc1c
Reviewed-on: https://webrtc-review.googlesource.com/86600
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23850}
2018-07-05 10:59:49 +00:00
Henrik Lundin
defa7a8049 NetEq: Handle nested RED packets
This CL makes NetEq handle nested RED packets without crashing. Nested
RED packets mean that the block PT (see
https://tools.ietf.org/html/rfc2198.html#section-3) in the RED packet
is also set to the RED PT. This implies a nested RED packet, which is
not supported. Instead, all payloads in a RED packet that have the RED
PT will be discarded.

Bug: chromium:851662
Change-Id: I86ec257e60fb8076e3574ac5a4a1ca50196f6b34
Reviewed-on: https://webrtc-review.googlesource.com/86824
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23825}
2018-07-03 20:27:57 +00:00
Henrik Lundin
5afa61cf15 NetEq: Fold GetDecisionSpecialized into GetDecision
Now that there is only one implementation of the decision logic, there
is no longer any need to have GetDecisionSpecialized being separate.

Bug: webrtc:9421
Change-Id: Id364ce09ac05d106652d749502058056f11bba27
Reviewed-on: https://webrtc-review.googlesource.com/86604
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23804}
2018-07-02 14:51:09 +00:00
Henrik Lundin
9f2e624024 Break out NetEqEventLogInput to separate source files
Building NetEqEventLogInput requires protobuf support, while building
NetEqRtpDumpInput located in the same file does not. This makes both
classes unusable when protobuf support is lacking. With this CL, the
NetEqEventLogInput is broken out into separate files, to allow usage
of NetEqRtpDumpInput even when protobufs are not supported.

Bug: webrtc:9421
Change-Id: I55efec4ec259713654566cdaa00d2e34c5e9a60f
Reviewed-on: https://webrtc-review.googlesource.com/84587
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23803}
2018-07-02 14:15:29 +00:00
Henrik Lundin
7687ad58b2 Reland "NetEq: Deprecate playout modes Fax, Off and Streaming"
This is a reland of 80c4cca491

Original change's description:
> NetEq: Deprecate playout modes Fax, Off and Streaming
> 
> The playout modes other than Normal have not been reachable for a long
> time, other than through tests. It is time to deprecate them.
> 
> The only meaningful use was that Fax mode was sometimes set from
> tests, in order to avoid time-stretching operations (accelerate and
> pre-emptive expand) from messing with the test results. With this CL,
> a new config is added instead, which lets the user specify exactly
> this: don't do time-stretching.
> 
> As a result of Fax and Off modes being removed, the following code
> clean-up was done:
> - Fold DecisionLogicNormal into DecisionLogic.
> - Remove AudioRepetition and AlternativePlc operations, since they can
>   no longer be reached.
> 
> Bug: webrtc:9421
> Change-Id: I651458e9c1931a99f3b07e242817d303bac119df
> Reviewed-on: https://webrtc-review.googlesource.com/84123
> Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Reviewed-by: Minyue Li <minyue@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23704}

Bug: webrtc:9421
Change-Id: Ice351b635788167f2971b26470f73a5e5fa1a240
Reviewed-on: https://webrtc-review.googlesource.com/86543
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23799}
2018-07-02 10:20:33 +00:00
Minyue Li
a91decab4f Implement PacketDuration() for FakeDecoderFromFile.
Bug: None
Change-Id: Ie4ab1ce737608706f12f298f793f76571805ca91
Reviewed-on: https://webrtc-review.googlesource.com/86160
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23780}
2018-06-29 08:32:36 +00:00
Artem Titov
d9711098b0 Extract fft to separate target to be able to move it to third_party
fft.c is third party library and have to be moved to proper third_party
directory. So this CL will extract it to separate gn target to be able
then to move it to proper location.

Bug: webrtc:8366
Change-Id: I228ebab3c821aa7095f7aa460c23c2ea0fb98f01
Reviewed-on: https://webrtc-review.googlesource.com/85640
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23753}
2018-06-27 09:08:19 +00:00
Minyue Li
c9ac93fabb Adding NetEq lifetime stats to event log visualizer.
Bug: webrtc:9147
Change-Id: I798f8ac41192182d50df6fe98fbe56c8cb7f294c
Reviewed-on: https://webrtc-review.googlesource.com/85340
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23738}
2018-06-26 11:27:09 +00:00
Minyue Li
f7789c6e89 Limiting increment in timestamps with neteq simulation.
Bug: None
Change-Id: I9a0688bcf1c887793b5c94ea023b025aed7366a5
Reviewed-on: https://webrtc-review.googlesource.com/74840
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23733}
2018-06-26 08:07:38 +00:00
Artem Titov
91280e4d04 Extract third party part of g722 codec into separate target
Bug: webrtc:8366
Change-Id: I7e08aa53424afd3001f4c22be270a8b0ff7af565
Reviewed-on: https://webrtc-review.googlesource.com/84744
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23725}
2018-06-25 11:30:59 +00:00
Artem Titov
3ecec176a8 Extract third party part of g711 codec into separate target
Bug: webrtc:8366
Change-Id: I34c7ea707213e0c1a50826896da01f70c072eae5
Reviewed-on: https://webrtc-review.googlesource.com/84741
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23724}
2018-06-25 11:26:59 +00:00
Minyue Li
45fc6dfaaa Aligning time in audio jitter buffer plot to other plots in rtc event log visualizer.
Bug: webrtc:9147
Change-Id: I4ddb3e93ea04a11a68e097ecad731d6d9d6842a9
Reviewed-on: https://webrtc-review.googlesource.com/75322
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23712}
2018-06-21 14:23:53 +00:00
Henrik Lundin
1ff41eb784 Revert "NetEq: Deprecate playout modes Fax, Off and Streaming"
This reverts commit 80c4cca491.

Reason for revert: Breaks downstream tests.

Original change's description:
> NetEq: Deprecate playout modes Fax, Off and Streaming
> 
> The playout modes other than Normal have not been reachable for a long
> time, other than through tests. It is time to deprecate them.
> 
> The only meaningful use was that Fax mode was sometimes set from
> tests, in order to avoid time-stretching operations (accelerate and
> pre-emptive expand) from messing with the test results. With this CL,
> a new config is added instead, which lets the user specify exactly
> this: don't do time-stretching.
> 
> As a result of Fax and Off modes being removed, the following code
> clean-up was done:
> - Fold DecisionLogicNormal into DecisionLogic.
> - Remove AudioRepetition and AlternativePlc operations, since they can
>   no longer be reached.
> 
> Bug: webrtc:9421
> Change-Id: I651458e9c1931a99f3b07e242817d303bac119df
> Reviewed-on: https://webrtc-review.googlesource.com/84123
> Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Reviewed-by: Minyue Li <minyue@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23704}

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

Change-Id: I555aae8850fc4ac1ea919bfa72c11b5218066f30
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9421
Reviewed-on: https://webrtc-review.googlesource.com/84680
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23706}
2018-06-21 12:36:44 +00:00
Henrik Lundin
80c4cca491 NetEq: Deprecate playout modes Fax, Off and Streaming
The playout modes other than Normal have not been reachable for a long
time, other than through tests. It is time to deprecate them.

The only meaningful use was that Fax mode was sometimes set from
tests, in order to avoid time-stretching operations (accelerate and
pre-emptive expand) from messing with the test results. With this CL,
a new config is added instead, which lets the user specify exactly
this: don't do time-stretching.

As a result of Fax and Off modes being removed, the following code
clean-up was done:
- Fold DecisionLogicNormal into DecisionLogic.
- Remove AudioRepetition and AlternativePlc operations, since they can
  no longer be reached.

Bug: webrtc:9421
Change-Id: I651458e9c1931a99f3b07e242817d303bac119df
Reviewed-on: https://webrtc-review.googlesource.com/84123
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23704}
2018-06-21 11:51:21 +00:00
Mirko Bonadei
de212ca039 Removing some MSVC warning suppression flags.
Bug: webrtc:9251
Change-Id: Idf13b49648459a37fe0a3cac12ff993ce27439d9
Reviewed-on: https://webrtc-review.googlesource.com/84281
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23685}
2018-06-20 12:41:46 +00:00
philipel
0a5fe77d23 Clean up in module_common_types.h by removing the unused struct RTPAudioHeader.
By removing it we can in turn (next CL) get rid of RTPTypeHeader, which is a
union that cause some problems.

Bug: none
Change-Id: I9246ecbfe2c8b7eda27497cccbc5f438958b64bf
Reviewed-on: https://webrtc-review.googlesource.com/83985
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23666}
2018-06-19 16:44:19 +00:00
Yves Gerey
665174fdbb Reformat the WebRTC code base
Running clang-format with chromium's style guide.

The goal is n-fold:
 * providing consistency and readability (that's what code guidelines are for)
 * preventing noise with presubmit checks and git cl format
 * building on the previous point: making it easier to automatically fix format issues
 * you name it

Please consider using git-hyper-blame to ignore this commit.

Bug: webrtc:9340
Change-Id: I694567c4cdf8cee2860958cfe82bfaf25848bb87
Reviewed-on: https://webrtc-review.googlesource.com/81185
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23660}
2018-06-19 14:00:39 +00:00
Danil Chapovalov
b602123a5a Replace rtc::Optional with absl::optional in modules/audio_coding
This is a no-op change because rtc::Optional is an alias to absl::optional

This CL generated by running script with parameter 'modules/audio_coding'

find $@ -type f \( -name \*.h -o -name \*.cc \) \
-exec sed -i 's|rtc::Optional|absl::optional|g' {} \+ \
-exec sed -i 's|rtc::nullopt|absl::nullopt|g' {} \+ \
-exec sed -i 's|#include "api/optional.h"|#include "absl/types/optional.h"|' {} \+

find $@ -type f -name BUILD.gn \
-exec sed -r -i 's|"[\./api]*:optional"|"//third_party/abseil-cpp/absl/types:optional"|' {} \+;

git cl format

Bug: webrtc:9078
Change-Id: Ic980ee605148fdb160666d4aa03cc87175e48fe8
Reviewed-on: https://webrtc-review.googlesource.com/84130
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23659}
2018-06-19 12:46:20 +00:00
Karl Wiberg
88aee288f8 Remove support for old test modes in EncodeDecodeTest
This test is so old, it used to be interactive with an automated mode
bolted on to the side. That automatic mode is the only one that's used
nowadays.

Bug: webrtc:8396
Change-Id: I3b473f53ff6afa363b9691e8471a5754f46d3d3f
Reviewed-on: https://webrtc-review.googlesource.com/83583
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23620}
2018-06-15 08:25:51 +00:00
Karl Wiberg
d477129ac0 Remove dead RED code in TestRedFec
Bug: webrtc:8396
Change-Id: I96e70e9290fda0d20f1544d2bfe4307f80ca8693
Reviewed-on: https://webrtc-review.googlesource.com/83585
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23619}
2018-06-15 07:54:51 +00:00
Karl Wiberg
8fbe4f10e2 Remove executable insert_packet_with_timing
It appears to have been created in mid-2013, and hasn't been changed
since except to keep the compiler happy when surrounding code changed.
It crashes when I try to run it without arguments, and no one
remembers how to use it.

Bug: webrtc:8396
Change-Id: I2eae36cf468f28c5bf05c85e6a3aaeebc48a1ffc
Reviewed-on: https://webrtc-review.googlesource.com/83581
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23618}
2018-06-15 07:31:30 +00:00
Peng Yu
b90e63c620 Fix: NetEq PacketBuffer logs discarded packet with wrong codec level when new packet replaces the lower level packet
Bug: webrtc:9370
Change-Id: I59606ef6ea9bbf26de844a2fd3f597856271a86a
Reviewed-on: https://webrtc-review.googlesource.com/81700
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23555}
2018-06-08 14:58:18 +00:00
Karl Wiberg
5aba818e45 Remove test AudioCodingModuleTest.TestAPI
Since it isn't being run by the bots, it has bit rotted; when I try to
run it manually, it fails with a long list of error messages:

  Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 995
  Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 996
  >>>   Error Enabling VAD    <<<
  Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 995
  Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 996
  >>>   Error Enabling DTX    <<<
  >>>   Error Enabling VAD    <<<
  Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 995
  Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 996
  >>>   Error Enabling VAD    <<<
  Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 995
  Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 996
  Error Calling API in file ../../modules/audio_coding/test/APITest.cc at line 985

...and so on.

Bug: webrtc:8396
Change-Id: Id8f1e01a751b4bb3527702b7b7a4986ce0abb378
Reviewed-on: https://webrtc-review.googlesource.com/81745
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23542}
2018-06-08 07:45:20 +00:00
Mirko Bonadei
27fe43a1aa Removing warning suppression flags from modules/audio_coding.
Bug: webrtc:9251
Change-Id: I7af3985d337082eea56164357119040383a37074
Reviewed-on: https://webrtc-review.googlesource.com/80483
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23503}
2018-06-04 08:46:01 +00:00
Bjorn Terelius
7a0bb00422 Split LoggedBweProbeResult into -Success and -Failure.
Also change ParsedEventLog::EventType to enum class.

Bug: webrtc:8111
Change-Id: I4747fb9cbcbdb963fa032770078218e5b416b3da
Reviewed-on: https://webrtc-review.googlesource.com/79280
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23432}
2018-05-29 13:41:04 +00:00
Minyue Li
b563f3db59 Filtering audio playout events with SSRC in NetEq RTP player.
Bug: webrtc:9259
Change-Id: I0b88aa6a7b49bd786637c7ffd9b94c92c608c841
Reviewed-on: https://webrtc-review.googlesource.com/76141
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23414}
2018-05-28 13:16:09 +00:00
Karl Wiberg
e058568cc5 iLBC decoding: Ignore a signed overflow
It's always been there, and there's no security risk.

Bug: chromium:843477
Change-Id: I6121943f23b477300cf60ffc4858ef0ab43466dc
Reviewed-on: https://webrtc-review.googlesource.com/78782
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23393}
2018-05-25 08:34:44 +00:00
Ivo Creusen
c7f09ad2e0 NetEq fix for repeated audio issue.
This CL implements a fix behind a field trial for a NetEq issue. NetEq restarts audio too quickly after a buffer underrun, which can quickly lead to another underrun in some circumstances. The fix changes NetEq's behavior to wait with restarting playback until sufficient audio is buffered.

Bug: webrtc:9289
Change-Id: I5968c9478ce8d84caf77f00b8d0a39156b47fc8d
Reviewed-on: https://webrtc-review.googlesource.com/77423
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23347}
2018-05-22 12:57:58 +00:00
Henrik Lundin
6dc82e8f8b NetEq: Change NetEq's ramp-up behavior after expansions
NetEq tapers down the audio produced through loss concealment when the
expansion has been going on for some time. When the audio packets starts
coming in again, there is a ramp-up that happens. This ramp-up could
before this change extend over more than one 10 ms block, which made
keeping track of the scaling factor necessary. With this change, we make
this ramp-up quicker in the rare cases when it lasted more than 10 ms,
so that it always ramps up to 100% within one block. This way, we can
remove the mute_factor_array.

This change breaks bit-exactness, but careful listening could not reveal
an audible difference.

This change is a part of a larger refactoring of NetEq's PLC code.

Bug: webrtc:9180
Change-Id: I4c513ce3ed8d66f9beec2abfb1f0c7ffaac7a21e
Reviewed-on: https://webrtc-review.googlesource.com/77180
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23342}
2018-05-22 09:38:28 +00:00
Gustaf Ullberg
b9fc6508c0 Add min and max allowed bitrate in Opus bitrate tests
Instead of checking for an exact bitrate check that the bitrate is between
the min and max values.
Also relax a threshold in a bandwith adaptation test.

Bug: webrtc:9280
Change-Id: I465d785a53759f73242198ee1ccd7da1a26c48b7
Reviewed-on: https://webrtc-review.googlesource.com/78041
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23330}
2018-05-21 16:41:35 +00:00
Henrik Lundin
9024da84c9 NetEq: Fixing an overflow bug in expand.cc
The overflow currently does not cause any problems, but it has been
found that it can cause crashes after a refactoring that is coming in
the near future.

Bug: webrtc:9180
Change-Id: Ia2c4e545c062c4f8ad13cbc47b8796c6e8a4e906
Reviewed-on: https://webrtc-review.googlesource.com/77667
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23327}
2018-05-21 13:39:25 +00:00
Gustaf Ullberg
6633d41bb0 Reland "Update expected bitrate in Opus tests"
This is a reland of 79ded653fe

Original change's description:
> Update expected bitrate in Opus tests
>
> Upstream changes to Opus DTX behavior changes the bitrates of Opus. This
> CL re-enables recently disabled unittests and updates the expected bitrates.
>
> Bug: webrtc:9280
> Change-Id: I668a0b6a8b82cbbb70d795db4546cb5469266bf2
> Reviewed-on: https://webrtc-review.googlesource.com/77766
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23306}

TBR=henrik.lundin@webrtc.org

Bug: webrtc:9280
Change-Id: I6bfcd1c5e1d5298543024a0faa6a695026434df3
Reviewed-on: https://webrtc-review.googlesource.com/77980
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23318}
2018-05-21 08:13:05 +00:00
Gustaf Ullberg
77995e744b Revert "Update expected bitrate in Opus tests"
This reverts commit 79ded653fe.

Reason for revert: Different repos have different Opus

Original change's description:
> Update expected bitrate in Opus tests
> 
> Upstream changes to Opus DTX behavior changes the bitrates of Opus. This
> CL re-enables recently disabled unittests and updates the expected bitrates.
> 
> Bug: webrtc:9280
> Change-Id: I668a0b6a8b82cbbb70d795db4546cb5469266bf2
> Reviewed-on: https://webrtc-review.googlesource.com/77766
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23306}

TBR=henrik.lundin@webrtc.org,gustaf@webrtc.org

Change-Id: I3c18db2d6052c4049d836c3e595b00189aebcbc8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9280
Reviewed-on: https://webrtc-review.googlesource.com/77800
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23307}
2018-05-18 14:27:36 +00:00
Gustaf Ullberg
79ded653fe Update expected bitrate in Opus tests
Upstream changes to Opus DTX behavior changes the bitrates of Opus. This
CL re-enables recently disabled unittests and updates the expected bitrates.

Bug: webrtc:9280
Change-Id: I668a0b6a8b82cbbb70d795db4546cb5469266bf2
Reviewed-on: https://webrtc-review.googlesource.com/77766
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23306}
2018-05-18 13:45:06 +00:00
Mirko Bonadei
638edfc88c Skipping some Opus tests to let the new roll flow.
In order to roll the new version of Opus in WebRTC, this CL disables
some tests that will fail because of [1].

They will be re-enabled and fixed as soon as the new Opus revision is
rolled.

[1] - https://chromium-review.googlesource.com/1061499

TBR=henrik.lundin@webrtc.org

Bug: webrtc:9280
Change-Id: I84870ced66d554f75c2d093dac8103ad7860cae5
Reviewed-on: https://webrtc-review.googlesource.com/77640
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23293}
2018-05-18 07:58:46 +00:00
Sam Zackrisson
ae93f0412a Make an energy computation not overflow in iLBC PLC
The current implementation carefully shifts down the energy so as not to overflow.
The fuzzer audio_decoder_ilbc_fuzzer found an integer overflow anyway.
The energy is only used for a threshold check.

This fix stops the energy computation when the threshold is reached, before it can overflow.

Bug: chromium:837922
Change-Id: I45e84d2d271a37e6476b08433a2cbd5a8f6e6f26
Reviewed-on: https://webrtc-review.googlesource.com/76122
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23242}
2018-05-15 13:01:42 +00:00
Minyue Li
5ebb416aaf Fixing NetEq RTP player.
A bug was introduced to NetEq RTP player in a recent CL:
https://webrtc-review.googlesource.com/c/src/+/69806

This is to fix it.

Bug: webrtc:9147
Change-Id: I949fd6b220d7c7f08c6e2940468232d1d955a3dc
Reviewed-on: https://webrtc-review.googlesource.com/75321
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23181}
2018-05-09 07:43:16 +00:00
Henrik Lundin
4e268edb53 Add two new RTP header extensions to neteq_rtpplay
This change adds flags and default values for two more RTP header
extensions: VideoContentType and VideoTiming.

This will silence a number of annoying warnings when running with
application logs.

Bug: none
Change-Id: I9bb01ea2519813d3c47553ecff384141fbede23e
Reviewed-on: https://webrtc-review.googlesource.com/75300
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23178}
2018-05-08 16:05:12 +00:00
Sebastian Jansson
5f83cf0c6d Replacing rtc::TimeDelta with webrtc::TimeDelta.
This removes the redundant type and replaces all usages. A slight change
in behavior is that we no longer get nanosecond resolution. This should
not matter since no current code requires nanosecond resolution.

Bug: webrtc:9155
Change-Id: I04334e08c686d95731621a6c8a7e40400d0ae3b2
Reviewed-on: https://webrtc-review.googlesource.com/71163
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23174}
2018-05-08 13:22:53 +00:00
Henrik Lundin
76c106725a ACM: Properly initialize last_audio_buffer_ array
Only half of the array was initialized. Now all of it is.

Bug: chromium:839960
Change-Id: If8bbe12c4c4c0dc0d529c93b22e49a94ecb09919
Reviewed-on: https://webrtc-review.googlesource.com/74820
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23167}
2018-05-08 11:40:04 +00:00
Minyue Li
27e2b7d177 Plot NetEq stats in RTC event log visualizer.
Bug: webrtc:9147
Change-Id: I61ec7bc5299201e25e1efc503b73b84d5be3ebbf
Reviewed-on: https://webrtc-review.googlesource.com/71740
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23151}
2018-05-07 17:01:48 +00:00
Karl Wiberg
7ba22b8eea Break out the part of the iSAC codec that's used for Voice Activity Detection
The audio processing code is using parts of the iSAC codec to do voice
activity detection (VAD), but it's undesirable for it to pull in the
entire iSAC codec as a dependency. So this CL factors out the parts of
iSAC that's needed for VAD to a separate build target.

Bug: webrtc:8396
Change-Id: I884e25d8fd0bc815fca664352b0573b4b173880e
Reviewed-on: https://webrtc-review.googlesource.com/69640
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23110}
2018-05-04 08:53:34 +00:00