Commit graph

534 commits

Author SHA1 Message Date
Niels Möller
9c277dd1dd Delete NetEq::RegisterExternalDecoder.
Bug: webrtc:10080
Change-Id: Ie36b10af6ab22f498636e38f36bef11f28fc7f7e
Reviewed-on: https://webrtc-review.googlesource.com/c/112081
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26174}
2019-01-09 10:38:08 +00:00
Steve Anton
40d55331d7 Include absl/memory/memory.h if absl::make_unique is used
Tbr: kwiberg@webrtc.org
Bug: None
Change-Id: Iaf4533d2ce0e80b351a8a664ef8cf7ba0e5ec583
Reviewed-on: https://webrtc-review.googlesource.com/c/115746
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@google.com>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26168}
2019-01-08 20:08:32 +00:00
Niels Möller
bd6dee89d4 Delete NetEqTest::ExtDecoderMap
Bug: webrtc:10080
Change-Id: Ica2c3b8b94bd31cd3af98b2e918dafc223c341ef
Reviewed-on: https://webrtc-review.googlesource.com/c/115417
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26164}
2019-01-08 16:25:05 +00:00
Sebastian Jansson
03fbf1eb4b Simplifies RtcEventProcessor interface.
Bug: webrtc:10170
Change-Id: Ie643e47c55b8c35ca9b8ef31eda5b1673f19d7b3
Reviewed-on: https://webrtc-review.googlesource.com/c/116066
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26160}
2019-01-08 15:16:19 +00:00
Sebastian Jansson
b290a6d767 Renames RtcEventLogParseNew to RtcEventLogParser
Bug: webrtc:10170
Change-Id: I9232c276229a64fa4d8321b6c996387fe130f68b
Reviewed-on: https://webrtc-review.googlesource.com/c/116064
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26128}
2019-01-03 19:39:04 +00:00
Minyue Li
8319e7f8ab Use ordered data structure for supported frame lengths in ANA.
The ANA frame length controller requires the provided frame lengths supported by the encoder to be ordered. A data structural guarantee of such was in an earlier version but was accidentally removed since https://codereview.webrtc.org/2429503002. This CL uses std::set to ensure that again.

Change-Id: Ia197dbf6a34f02506e81c9f49d6cd60e4cdacef4
BUG: webrtc:6303
Reviewed-on: https://webrtc-review.googlesource.com/c/115946
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26119}
2019-01-03 11:56:09 +00:00
Niels Möller
d375f1c8d1 Refactor NetEqTestFactory to not use "external" decoders
Bug: webrtc:10080
Change-Id: Icfca98d6d91fc5139e678c1aa3de1e2c35abff5c
Reviewed-on: https://webrtc-review.googlesource.com/c/115240
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26090}
2018-12-21 15:05:03 +00:00
Niels Möller
29a935a7fe Refactor NetEqDecoderPlc to use AudioDecoderProxyFactory
Bug: webrtc:10080
Change-Id: I651efc70fa020e345776c44d9510245c45f9b092
Reviewed-on: https://webrtc-review.googlesource.com/c/114547
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26067}
2018-12-20 10:17:15 +00:00
Niels Möller
3f651d80a0 Reland "Add AudioDecoderFactory to NetEqTest constructor."
This is a reland of daa970f33e

Original change's description:
> Add AudioDecoderFactory to NetEqTest constructor.
>
> Update EventLogAnalyzer to not depend on builtin audio decoders.
>
> Bug: webrtc:8396, webrtc:10080
> Change-Id: Ie02ed9cda6d4f11bfdf2e65eb6482283b7520738
> Reviewed-on: https://webrtc-review.googlesource.com/c/114301
> Reviewed-by: Alex Loiko <aleloi@webrtc.org>
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26026}

Tbr: kwiberg@webrtc.org
Bug: webrtc:8396, webrtc:10080
Change-Id: I598ce1cd41676b1992b0973b09476eeeb0e602d2
Reviewed-on: https://webrtc-review.googlesource.com/c/114940
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26058}
2018-12-19 15:08:47 +00:00
Fredrik Solenberg
41f3a43c74 Remove CodecInst pt.3
Finally remove CodecInst from common_types.h, including remaining code referencing it.

TBR=kwiberg

Bug: webrtc:7626
Change-Id: I5e6b949ae9093641e33972af8438d1126fc48556
Reviewed-on: https://webrtc-review.googlesource.com/c/114546
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26036}
2018-12-18 07:42:21 +00:00
Oleh Prypin
f7f753b320 Revert "Add AudioDecoderFactory to NetEqTest constructor."
This reverts commit daa970f33e.

Reason for revert: Speculative revert due to downstream breakage

Original change's description:
> Add AudioDecoderFactory to NetEqTest constructor.
>
> Update EventLogAnalyzer to not depend on builtin audio decoders.
>
> Bug: webrtc:8396, webrtc:10080
> Change-Id: Ie02ed9cda6d4f11bfdf2e65eb6482283b7520738
> Reviewed-on: https://webrtc-review.googlesource.com/c/114301
> Reviewed-by: Alex Loiko <aleloi@webrtc.org>
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26026}

TBR=mbonadei@webrtc.org,aleloi@webrtc.org,kwiberg@webrtc.org,terelius@webrtc.org,nisse@webrtc.org,ivoc@webrtc.org

No-Try: True
Bug: webrtc:8396, webrtc:10080
Change-Id: Ided750d8ed800d8a38f7cce8f72095d8ed1bc6cb
Reviewed-on: https://webrtc-review.googlesource.com/c/114552
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26030}
2018-12-17 15:16:30 +00:00
Niels Möller
daa970f33e Add AudioDecoderFactory to NetEqTest constructor.
Update EventLogAnalyzer to not depend on builtin audio decoders.

Bug: webrtc:8396, webrtc:10080
Change-Id: Ie02ed9cda6d4f11bfdf2e65eb6482283b7520738
Reviewed-on: https://webrtc-review.googlesource.com/c/114301
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26026}
2018-12-17 11:15:50 +00:00
Fredrik Solenberg
f693bfae5f Remove CodecInst pt.2
The following APIs on AudioCodingModule are deprecated with this CL:
  static int NumberOfCodecs();
  static int Codec(int, CodecInst*);
  static int Codec(const char*, CodecInst*, int, size_t);
  static int Codec(const char*, int, size_t);
  absl::optional<CodecInst> SendCodec() const;
  bool RegisterReceiveCodec(int, const SdpAudioFormat&);
  int RegisterExternalReceiveCodec(int, AudioDecoder*, int, int, const std::string&);
  int UnregisterReceiveCodec(uint8_t);
  int32_t ReceiveCodec(CodecInst*);
  absl::optional<SdpAudioFormat> ReceiveFormat();

As well as this method on RtpRtcp module:
  int32_t RegisterSendPayload(const CodecInst&);

Bug: webrtc:7626
Change-Id: I1230732136f1fe9048cf74afdeab767ca57ac9ce
Reviewed-on: https://webrtc-review.googlesource.com/c/113816
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26025}
2018-12-17 10:33:55 +00:00
Ivo Creusen
2db46b0fb7 Added new feature to print a text log to neteq_rtpplay
This will print out the major events during a NetEq simulation.

Bug: b/116685514
Change-Id: Iab172e9a9115695b42c67628d5523c727359bb89
Reviewed-on: https://webrtc-review.googlesource.com/c/114320
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26019}
2018-12-14 16:38:45 +00:00
Ivo Creusen
94f107454e Only use GetAudio events that correspond to an ssrc matching at least one incoming packet.
Using GetAudio events from SSRCs without incoming packets doesn't make sense, and should be prevented.

Bug: b/116685514
Change-Id: I48e38bb780549c71cb5f68d370a6819634ad487d
Reviewed-on: https://webrtc-review.googlesource.com/c/114321
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26017}
2018-12-14 15:05:15 +00:00
Mirko Bonadei
e10b163dd4 Stop using 'using namespace'.
This CL removes all the instances of 'using namespace' from C++ code
(more info https://abseil.io/tips/153).

Bug: webrtc:9855
Change-Id: Ic940fe87c5047742cfa6d60857d2f97be380ed18
Reviewed-on: https://webrtc-review.googlesource.com/c/113948
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25985}
2018-12-12 11:08:40 +00:00
Niels Möller
50b66d55f8 Convert NetEq Cng-related test to not use RegisterExternalDecoder
Bug: webrtc:10080
Change-Id: Ie91e967cd68efede71108458b912bf1e062ffea6
Reviewed-on: https://webrtc-review.googlesource.com/c/113943
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25982}
2018-12-12 09:19:22 +00:00
Sam Zackrisson
698d6c4f30 Change the type of indW32 back to int32_t
It was changed to size_t in https://codereview.webrtc.org/1227163003,
which makes sense if the pitch lags in the code are also guaranteed
to be non-negative. Otherwise, integer wraparounds may happen, which
causes the code to circumvent the check for too low values here:
https://cs.chromium.org/chromium/src/third_party/webrtc/modules/audio_coding/codecs/isac/fix/source/pitch_filter.c?q=webrtcisacfix_pitchfilter&sq=package:chromium&g=0&l=112



Bug: chromium:906379
Change-Id: Id88c6c38bf30059181ed593968cea29ca87adf76
Reviewed-on: https://webrtc-review.googlesource.com/c/113810
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25964}
2018-12-11 13:10:12 +00:00
Niels Möller
a1eb9c7e9b Convert NetEq tests to not use RegisterExternalDecoder.
This change converts all tests but CodecInternalCng and
DecodingErrorDuringInternalCng, which depend on the obsolete Decode
method.

Bug: webrtc:10080
Change-Id: I34b068b3aa7139ed24bd63b417a5adcfc1de7922
Reviewed-on: https://webrtc-review.googlesource.com/c/113506
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25946}
2018-12-10 13:01:21 +00:00
Fredrik Solenberg
a59db7481c Remove unnecessary includes of common_types.h
Bug: webrtc:7626
Change-Id: I2d9275e5dc8eea6419d3c80cd68c4a01deafa9b7
Reviewed-on: https://webrtc-review.googlesource.com/c/113524
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25940}
2018-12-07 21:21:13 +00:00
Niels Möller
b7180c09fc Replace RegisterExternalDecoder in NetEq test VerifyTimestampPropagation.
Bug: webrtc:10080
Change-Id: Ie93f130863115c2d288cfd9f3e273a9fbc982ed6
Reviewed-on: https://webrtc-review.googlesource.com/c/112904
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25927}
2018-12-07 09:28:47 +00:00
Fredrik Solenberg
657b296ff5 Reland "Remove CodecInst pt.1"
This is a reland of 056f9738bf

Original change's description:
> Remove CodecInst pt.1
> 
> Update audio_coding tests to not use CodecInst.
> 
> Bug: webrtc:7626
> Change-Id: I880fb8d72d7d0a915d274e67feb6106f023697c2
> Reviewed-on: https://webrtc-review.googlesource.com/c/112594
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25879}

Bug: webrtc:7626
Change-Id: I5d6ca0baf6230bfe9bf95c2c25496d2a56812d90
Reviewed-on: https://webrtc-review.googlesource.com/c/112942
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25902}
2018-12-05 10:38:23 +00:00
Fredrik Solenberg
ec0f45be11 Revert "Remove CodecInst pt.1"
This reverts commit 056f9738bf.

Reason for revert: breaks downstream

Original change's description:
> Remove CodecInst pt.1
> 
> Update audio_coding tests to not use CodecInst.
> 
> Bug: webrtc:7626
> Change-Id: I880fb8d72d7d0a915d274e67feb6106f023697c2
> Reviewed-on: https://webrtc-review.googlesource.com/c/112594
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25879}

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

Change-Id: I51d666969bcd63e2b7cb7d669ec2f59b5f8f9dde
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7626
Reviewed-on: https://webrtc-review.googlesource.com/c/112906
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25881}
2018-12-03 15:50:51 +00:00
Fredrik Solenberg
056f9738bf Remove CodecInst pt.1
Update audio_coding tests to not use CodecInst.

Bug: webrtc:7626
Change-Id: I880fb8d72d7d0a915d274e67feb6106f023697c2
Reviewed-on: https://webrtc-review.googlesource.com/c/112594
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25879}
2018-12-03 15:16:20 +00:00
Niels Möller
a0f4430b3a Replace RegisterExternalDecoder with decoder factory in NetEqImplTest120ms
Change-Id: I86b5f748f556be186f020a97fcc1211f953fd219

Bug: webrtc:10080
Change-Id: I86b5f748f556be186f020a97fcc1211f953fd219
Reviewed-on: https://webrtc-review.googlesource.com/c/112600
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25869}
2018-12-03 08:34:50 +00:00
Yves Gerey
3e70781361 [Cleanup] Add missing #include. Remove useless ones. IWYU part 2.
This is a follow-up to
https://webrtc-review.googlesource.com/c/src/+/106280.
This time the whole code base is covered.
Some files may have not been fixed though, whenever the IWYU tool
was breaking the build.

Bug: webrtc:8311
Change-Id: I2c31f552a87e887d33931d46e87b6208b1e483ef
Reviewed-on: https://webrtc-review.googlesource.com/c/111965
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25830}
2018-11-28 18:25:07 +00:00
Niels Möller
bb9f4c1252 Delete ssrc book-keeping in NetEq
The ssrc for a given NetEq instance shouldn't change.

Bug: webrtc:7135
Change-Id: Iee0d4cd8bd5d917e819fa2ecf45a40e203c6d9c0
Reviewed-on: https://webrtc-review.googlesource.com/c/111661
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25825}
2018-11-28 15:33:14 +00:00
Jakob Ivarsson
10403ae87c Add PeerConnection option to configure minimum audio jitter buffer delay.
Note that this value will override the minimum delay that is used for audio/video sync.

Bug: webrtc:10053
Change-Id: Ia129f6c9ee9da5d00a3d955afaaa6e8f0c2bee33
Reviewed-on: https://webrtc-review.googlesource.com/c/112121
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25805}
2018-11-27 19:49:48 +00:00
Jakob Ivarsson
352ce5c419 Expose delayed packet outage as a cumulative metric of samples in the new getStats API.
The stat will be exposed through origin trial described in:
https://docs.google.com/document/d/1stYIZhEmDZ7NJF9gjjsM66eLFJUdc-14a3QutrFbIwI

Change-Id: Ib191a11c6bd9e617abbe9dd82239b0c5b4e6b4e0
Bug: webrtc:10043
Reviewed-on: https://webrtc-review.googlesource.com/c/111922
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25802}
2018-11-27 15:10:09 +00:00
Niels Möller
53382cb19f Move RtcpStatistics from common_types.h to a new header file
New location is modules/rtp_rtcp/include/rtcp_statistics.h.

Bug: webrtc:5876
Change-Id: I85f55b58658588228ed77175226b3479352fd5de
Reviewed-on: https://webrtc-review.googlesource.com/c/111961
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25799}
2018-11-27 13:46:42 +00:00
Jonas Olsson
622eedaf0f Bump variable sizes in response to fuzzer bug
The fuzzers detected a possible overflow in the multiplication of sum and gainQ10.
Since gainQ10 cannot be larger than 2048000 (see WebRtcIsac_kQGain2Levels) and sum cannot be larger than 2^16, a int64 is large enough to hold the result.

Bug: chromium:904909
Change-Id: Icb12821d4006aaaaf70a5735d2abd2b96f7a2f0e
Reviewed-on: https://webrtc-review.googlesource.com/c/111921
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25787}
2018-11-26 16:16:50 +00:00
Mirko Bonadei
e3abb8134f Decouple //rtc_base:rtc_base_tests_utils from gunit.
This CL decouples //rtc_base:rtc_base_tests_utils from gunit by
moving gunit helpers (rtc_base/gunit.h) and rtc_base/testclient.h
(which depends on gunit helpers) to their own build target.

It also removes some unused dependencies in the WebRTC build graph.

Bug: None
Change-Id: Ia9820e84ff697da39b351eef73c45f6e4bdf2623
Reviewed-on: https://webrtc-review.googlesource.com/c/111861
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25769}
2018-11-23 12:52:46 +00:00
Ruslan Burakov
8af8896596 Expose jitter buffer flushes metric in new getStats api.
Origin trial experiment proposal (new statistic part):
https://docs.google.com/document/d/1stYIZhEmDZ7NJF9gjjsM66eLFJUdc-14a3QutrFbIwI/edit?ts=5bf5535c#

Bug: chromium:907113
Change-Id: I1d005291f9b47665f70c26148dbdcbb55564bef8
Reviewed-on: https://webrtc-review.googlesource.com/c/111505
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Cr-Commit-Position: refs/heads/master@{#25768}
2018-11-23 11:41:43 +00:00
Niels Möller
6d254bcd5e Delete unused method NetEq::PacketBufferStatistics
Bug: None
Change-Id: I9f87e445e2b5b54f78474489172f694abff38363
Reviewed-on: https://webrtc-review.googlesource.com/c/111660
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25766}
2018-11-23 09:39:32 +00:00
Minyue Li
f40150d874 Removing ANA enabling field trials.
This is to let ANA config proto to fully control it.

Bug: b/119788974
Change-Id: Ib7842f784bdf879cb7d753c7077ce845f435a379
Reviewed-on: https://webrtc-review.googlesource.com/c/111741
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25764}
2018-11-22 22:26:28 +00:00
Sebastian Jansson
8ac05ccaa7 Adds trial to use link capacity estimate in Opus encoder.
Since the link capacity is designed to be a more stable value, we don't
need the smoothing. This allows us to react faster to changes in link
capacity while still avoiding to react to changes in target bitrate due
to normal control behavior.

Bug: webrtc:9718
Change-Id: I2fbf6bb882f312a7b28ea43d27057886d035ac45
Reviewed-on: https://webrtc-review.googlesource.com/c/111511
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25745}
2018-11-22 09:21:12 +00:00
Niels Möller
d51b3553db Delete unused NetEq Rtcp stats.
Bug: webrtc:7135
Change-Id: Ib3ca9e02b051b8b41c2eac4e43a4f1f37999bf75
Reviewed-on: https://webrtc-review.googlesource.com/c/111640
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25743}
2018-11-22 08:00:54 +00:00
Niels Möller
2222a80e79 Delete unneeded includes of common_types.h and gn deps on webrtc_common.
Bug: webrtc:5876
Change-Id: Iae14e5f1679067a5a5e0584ca830aee0870c8807
Reviewed-on: https://webrtc-review.googlesource.com/c/111463
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25715}
2018-11-20 16:28:39 +00:00
Fredrik Solenberg
78e88fe602 Move NetworkStatistics and AudioDecodingCallStats from common_types.h
Bug: webrtc:7626
Change-Id: I1b933b8be7acbca1f1043a374a7cafb95aa9ffde
Reviewed-on: https://webrtc-review.googlesource.com/c/111249
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25688}
2018-11-19 11:55:34 +00:00
Yves Gerey
a038e71b48 Less strict audio codec tests to accomodate opus switch to SSE.
Expected checksums depend on whether libopus is built with SSE or not.
Since we have no robust way to know that and we cannot enforce all
clients to use SSE, we accept both results.

Bug: webrtc:9530
Bug: webrtc:9995
Change-Id: I9f0464ffec15df91eafe15d89c61e2140f341cb1
Reviewed-on: https://webrtc-review.googlesource.com/c/110789
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25633}
2018-11-14 10:16:04 +00:00
Piotr (Peter) Slatala
42b715adb7 Add visibility to ana config proto
Downstream projects need to be able to configure ANA without hacking or redefining protos.

Bug: webrtc:9719
Change-Id: Idd80471066ff41a9265adbdb738cc98cc97b2e6e
Reviewed-on: https://webrtc-review.googlesource.com/c/110765
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25629}
2018-11-13 20:49:29 +00:00
Karl Wiberg
105edcaeaf Remove some unused RentACodec static methods
We want to get rid of the whole thing, really, but these two were
easy.

Bug: webrtc:8396
Change-Id: I9292bf077caca171c9f5fe63695b6333cf22547d
Reviewed-on: https://webrtc-review.googlesource.com/c/104763
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25618}
2018-11-13 12:03:37 +00:00
Karl Wiberg
49c33ce528 AudioCodingModule: Remove support for creating encoders
After this CL, all audio encoders have to be injected by the caller.
This means that there is no special "built-in" set of codecs, and
users won't have to pay the binary size and security costs of codecs
they aren't using.

Bug: webrtc:8396
Change-Id: Idb0959ce395940c8bb3bbb49256cdcd84fc87bb6
Reviewed-on: https://webrtc-review.googlesource.com/c/103821
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25600}
2018-11-12 14:02:11 +00:00
Yves Gerey
09102a02cf Revert "Roll "Enable SSE, SSE2, and run-time detected SSE4.1 for libopus.""
This reverts commit 466620b326.

Reason for revert: Break downstream clients which are still expecting the previous references for NetEqDecodingTest.TestOpusBitExactness.

Original change's description:
> Roll "Enable SSE, SSE2, and run-time detected SSE4.1 for libopus."
> 
> We manually roll third_party since we need to update impacted tests,
> namely bit-exact comparison of expected neteq_opus results.
> They have changed due to SSE optimization enabled here:
> 85d355e530
> 
> For consistency sake roll_deps has been invoked:
> 
> Roll chromium_revision db720b4ab9..ae94013397 (606025:606579)
> 
> Change log: db720b4ab9..ae94013397
> Full diff: db720b4ab9..ae94013397
> 
> Changed dependencies
> * src/base: fee916f36b..f428263956
> * src/build: 02b0a894b0..3f61809684
> * src/ios: 95aadfb43f..fb48cd850c
> * src/testing: 03b25bebb5..f6a2832441
> * src/third_party: 360db5b8aa..8209b47661
> * src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/dd412c428a..384d0eaf19
> * src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2e722b007d..f04a3a61ad
> * src/third_party/depot_tools: 4d2d5b4bbe..edcefdcf7d
> * src/third_party/freetype/src: f56830ed40..fb0d66d04c
> * src/tools: a8e76f0ca5..f8ace9b670
> DEPS diff: db720b4ab9..ae94013397/DEPS
> 
> Clang version changed 344066:346388
> Details: db720b4ab9..ae94013397/tools/clang/scripts/update.py
> 
> Bug: webrtc:9530
> Change-Id: I8a016c5834c4f05fc17e3a84a5e139eeaeaee510
> Reviewed-on: https://webrtc-review.googlesource.com/c/110040
> Commit-Queue: Yves Gerey <yvesg@webrtc.org>
> Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25588}

TBR=phoglund@webrtc.org,ivoc@webrtc.org,yvesg@webrtc.org

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

Bug: webrtc:9530
Change-Id: I01549abdcfbcad70881ff9aeee913df68d0f0052
Reviewed-on: https://webrtc-review.googlesource.com/c/110602
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#25591}
2018-11-12 09:55:10 +00:00
Elad Alon
0b1b5c1b2a Hide RtcEvent members behind accessors
Bug: webrtc:8111
Change-Id: I3d350a6e159330aed7362162006860ac86ed7c32
Reviewed-on: https://webrtc-review.googlesource.com/c/109881
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25590}
2018-11-10 23:34:07 +00:00
Yves Gerey
466620b326 Roll "Enable SSE, SSE2, and run-time detected SSE4.1 for libopus."
We manually roll third_party since we need to update impacted tests,
namely bit-exact comparison of expected neteq_opus results.
They have changed due to SSE optimization enabled here:
85d355e530

For consistency sake roll_deps has been invoked:

Roll chromium_revision db720b4ab9..ae94013397 (606025:606579)

Change log: db720b4ab9..ae94013397
Full diff: db720b4ab9..ae94013397

Changed dependencies
* src/base: fee916f36b..f428263956
* src/build: 02b0a894b0..3f61809684
* src/ios: 95aadfb43f..fb48cd850c
* src/testing: 03b25bebb5..f6a2832441
* src/third_party: 360db5b8aa..8209b47661
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/dd412c428a..384d0eaf19
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2e722b007d..f04a3a61ad
* src/third_party/depot_tools: 4d2d5b4bbe..edcefdcf7d
* src/third_party/freetype/src: f56830ed40..fb0d66d04c
* src/tools: a8e76f0ca5..f8ace9b670
DEPS diff: db720b4ab9..ae94013397/DEPS

Clang version changed 344066:346388
Details: db720b4ab9..ae94013397/tools/clang/scripts/update.py

Bug: webrtc:9530
Change-Id: I8a016c5834c4f05fc17e3a84a5e139eeaeaee510
Reviewed-on: https://webrtc-review.googlesource.com/c/110040
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25588}
2018-11-09 22:30:47 +00:00
Sam Zackrisson
c496d58882 Add flag for fast jitter buffer playout in neteq simulation
It is currently not possible to run e.g. neteq_rtpplay in the fast
accelerate mode.

Bug: None
Change-Id: I5e0ce3fae2ad5585fe9fb545109bb0c9a87fd201
Reviewed-on: https://webrtc-review.googlesource.com/c/110162
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25561}
2018-11-08 14:32:48 +00:00
Sam Zackrisson
f0e7440a35 Add missing conditional defines to neteq test and tools targets
The .cc source files listed below #ifdef for WEBRTC_CODEC_OPUS and
WEBRTC_CODEC_ILBC but the build files don't include the defines.

modules/audio_coding/neteq/tools/neteq_test.cc
modules/audio_coding/neteq/tools/neteq_test_factory.cc

Bug: None
Change-Id: I6065021f68e58d0e5663acd006a9865bf265adc0
Reviewed-on: https://webrtc-review.googlesource.com/c/109925
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25555}
2018-11-08 11:25:10 +00:00
Niels Möller
c572ff3c71 Add default constructor for rtc::Event
Bug: webrtc:9962
Change-Id: Icaa91e657e6881fcb1553f354c07866109a0ea68
Reviewed-on: https://webrtc-review.googlesource.com/c/109500
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25535}
2018-11-07 08:57:50 +00:00
tzik
254d3db59a Add missing #include to absl/memory/memory.h from audio_encoder_cng.cc
absl::make_unique is used in this file without absl/memory/memory.h
#include, that causes a build error on C++17 build of Chromium.

Bug: chromium:752720
Change-Id: I78fe9f76a6ea670a4250b4cf25c3c02cf4c4beb6
Reviewed-on: https://webrtc-review.googlesource.com/c/109540
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25514}
2018-11-06 10:57:47 +00:00
Henrik Lundin
007065522a Removing ancient and unused test scripts and data files
None of these scripts or files have been used in a very long time. They
are removed for the same reason, and since the data files add to the
weight of the resources folder.

Bug: webrtc:5289
Change-Id: Ia14a46aed180f286fa881fe5f60da6973a5fe027
Reviewed-on: https://webrtc-review.googlesource.com/c/109022
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25502}
2018-11-05 16:08:46 +00:00
Karl Wiberg
2365936b87 Hide the AudioEncoderCng class behind a create function
And put codecs/cng/webrtc_cng.h in a non-public build target while
we're at it.

Bug: webrtc:8396
Change-Id: I9f51dffadfb645cd1454617fad30e09d639ff53c
Reviewed-on: https://webrtc-review.googlesource.com/c/108782
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25486}
2018-11-02 13:00:05 +00:00
Yves Gerey
69807e8871 Depend directly on destination targets.
Makes 'gn check' happy.
Followup to https://webrtc-review.googlesource.com/c/src/+/106820

Bug: webrtc:5876, webrtc:9855
Change-Id: I33fa2c31ba26dc10c9a9c17da0ffed255c1f4d5b
Reviewed-on: https://webrtc-review.googlesource.com/c/108760
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25447}
2018-10-31 10:21:40 +00:00
Yves Gerey
21cddffd99 Harmonize paths to dependent targets.
This CL consistently use:
 * relative paths for WebRTC dependent targets (test_support)
 * absolute paths for shared dependent targets (abseil)
This is a necessary (but insufficient) step to build WebRTC tests
from Chromium tree (rtc_include_tests=true), since test/ doesn't
sit anymore in the top level directory.

We also make sure that target declarations and uses are
consistent in regard to build_with_chromium flag.

Bug: webrtc:9943
Bug: webrtc:9855
Change-Id: I21dea98894df2fd4bfe2fd7ee7b71ba971e0ab5b
Reviewed-on: https://webrtc-review.googlesource.com/c/108720
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25445}
2018-10-31 10:04:59 +00:00
Niels Möller
2c16cc61c2 Replace some usage of EventWrapper with rtc::Event.
Bug: webrtc:3380
Change-Id: Id33b19bf107273e6f838aa633784db73d02ae2c2
Reviewed-on: https://webrtc-review.googlesource.com/c/107888
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25407}
2018-10-29 09:37:24 +00:00
Yves Gerey
988cc0870b [Cleanup] Add missing #include. Remove useless ones.
This CL is the result of running include-what-you-use tool on part
of the code base (audio target and dependencies) plus manual fixes.

bug: webrtc:8311
Change-Id: I277d281ce943c3ecc1bd45fd8d83055931743604
Reviewed-on: https://webrtc-review.googlesource.com/c/106280
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25311}
2018-10-23 11:32:56 +00:00
Niels Möller
2edab4c026 Delete use of STR_CASE_CMP, replaced with absl::EqualsIgnoreCase.
Bug: webrtc:5876
Change-Id: Ica2d47ca45b8ef01a548d8dbe31dbed740a0ebda
Reviewed-on: https://webrtc-review.googlesource.com/c/106820
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25306}
2018-10-23 09:24:15 +00:00
Mirko Bonadei
2dfa998be2 Reland "Prefix flag macros with WEBRTC_."
This is a reland of 5ccdc1331f

Original change's description:
> Prefix flag macros with WEBRTC_.
>
> Macros defined in rtc_base/flags.h are intended to be used to define
> flags in WebRTC's binaries (e.g. tests).
>
> They are currently not prefixed and this could cause problems with
> downstream clients since these names are quite common.
>
> This CL adds the 'WEBRTC_' prefix to them.
>
> Generated with:
>
> for x in DECLARE DEFINE; do
>   for y in bool int float string FLAG; do
>     git grep -l "\b$x\_$y\b" | \
>     xargs sed -i "s/\b$x\_$y\b/WEBRTC_$x\_$y/g"
>   done
> done
> git cl format
>
> Bug: webrtc:9884
> Change-Id: I7b524762b6a3e5aa5b2fc2395edd3e1a0fe72591
> Reviewed-on: https://webrtc-review.googlesource.com/c/106682
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25270}

TBR=kwiberg@webrtc.org

Bug: webrtc:9884
Change-Id: I5ba5368a231a334d135ed5e6fd7a279629ced8a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/107161
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25277}
2018-10-19 15:06:43 +00:00
Mirko Bonadei
c538fc77b0 Revert "Prefix flag macros with WEBRTC_."
This reverts commit 5ccdc1331f.

Reason for revert: Breaks downstream project.

Original change's description:
> Prefix flag macros with WEBRTC_.
> 
> Macros defined in rtc_base/flags.h are intended to be used to define
> flags in WebRTC's binaries (e.g. tests).
> 
> They are currently not prefixed and this could cause problems with
> downstream clients since these names are quite common.
> 
> This CL adds the 'WEBRTC_' prefix to them.
> 
> Generated with:
> 
> for x in DECLARE DEFINE; do
>   for y in bool int float string FLAG; do
>     git grep -l "\b$x\_$y\b" | \
>     xargs sed -i "s/\b$x\_$y\b/WEBRTC_$x\_$y/g"
>   done
> done
> git cl format
> 
> Bug: webrtc:9884
> Change-Id: I7b524762b6a3e5aa5b2fc2395edd3e1a0fe72591
> Reviewed-on: https://webrtc-review.googlesource.com/c/106682
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25270}

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

Change-Id: Ia79cd6066ecfd1511c34f1b30fd423e560ed6854
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9884
Reviewed-on: https://webrtc-review.googlesource.com/c/107160
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25276}
2018-10-19 15:04:13 +00:00
Mirko Bonadei
5ccdc1331f Prefix flag macros with WEBRTC_.
Macros defined in rtc_base/flags.h are intended to be used to define
flags in WebRTC's binaries (e.g. tests).

They are currently not prefixed and this could cause problems with
downstream clients since these names are quite common.

This CL adds the 'WEBRTC_' prefix to them.

Generated with:

for x in DECLARE DEFINE; do
  for y in bool int float string FLAG; do
    git grep -l "\b$x\_$y\b" | \
    xargs sed -i "s/\b$x\_$y\b/WEBRTC_$x\_$y/g"
  done
done
git cl format

Bug: webrtc:9884
Change-Id: I7b524762b6a3e5aa5b2fc2395edd3e1a0fe72591
Reviewed-on: https://webrtc-review.googlesource.com/c/106682
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25270}
2018-10-19 10:55:20 +00:00
Sebastian Jansson
b9972fa37b Adds AudioNetworkAdaptation support to Scenario tests.
Bug: webrtc:9718
Change-Id: I6cb976df5767797fec670134d29e030ec0f9d3a2
Reviewed-on: https://webrtc-review.googlesource.com/c/106340
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25236}
2018-10-17 15:42:58 +00:00
Minyue Li
34d990fef9 Adding NetEq buffer full metric to UMA.
BUG: webrtc:9882
Change-Id: Idbcbbbd99855b2251fbb66629efeab4f2d1f6498
Reviewed-on: https://webrtc-review.googlesource.com/c/106400
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25230}
2018-10-17 12:54:19 +00:00
Ivo Creusen
ed04912ccd Stop simulations when a LOG_END event is reached.
When a LOG_END event is reached, it makes no sense to continue simulating NetEq.

Bug: webrtc:9667
Change-Id: Ie4f6811cdec0d0632f6e7906059e0e74e9f10438
Reviewed-on: https://webrtc-review.googlesource.com/c/105643
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25176}
2018-10-15 16:06:40 +00:00
Ivo Creusen
d8a52b3ff4 Make ivoc owner of audio_coding.
Bug: None
Change-Id: I9e20031cd292b3459d5bead1a5763af9af18a325
Reviewed-on: https://webrtc-review.googlesource.com/c/106021
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25174}
2018-10-15 15:08:28 +00:00
Artem Titov
40a7a35eaa Extract functionality of test_main into separate library.
Extract functionality of test_main into separate library to be able to
reuse it if another main will be required.

Bug: webrtc:5996
Change-Id: I2925b4240bd0e4fb884b43bb16667ca2d6216bbd
Reviewed-on: https://webrtc-review.googlesource.com/c/105921
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25172}
2018-10-15 14:13:06 +00:00
Ivo Creusen
d2d2ecb4a8 Add command-line flag for setting the max number of packets in the buffer.
There is currently no way to set this for simulations in neteq_rtpplay.

Bug: webrtc:9667
Change-Id: I34f34565538bd3c378cdb9d355f5173c3517d59a
Reviewed-on: https://webrtc-review.googlesource.com/c/105982
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25171}
2018-10-15 14:10:24 +00:00
Jakob Ivarsson
83bd37cda4 Add field trials for configuring Opus encoder packet loss rate.
Add options to:
1. Bypass optimization (use reported packet loss).
2. Set a maximum value.
3. Set a coefficient.

Bug: webrtc:9866
Change-Id: I3fef43e5186a4f0f50fda3506e445860518cfbd7
Reviewed-on: https://webrtc-review.googlesource.com/c/105304
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25161}
2018-10-15 08:59:43 +00:00
Bjorn Terelius
5350d1cafd RtcEventLogSource no longer uses deprecated parsing functions.
Also remove header extension map from NetEqEventLogInput and RtcEventLogSource.

Bug: webrtc:8111
Change-Id: Ic9be7b03e32ab8aa12284596e21e53b6763f483a
Reviewed-on: https://webrtc-review.googlesource.com/c/102622
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25122}
2018-10-11 16:13:17 +00:00
Jakob Ivarsson
88b68ace17 Create field trial for setting a minimum value for Opus encoder packet loss rate
Bug: webrtc:9848
Change-Id: I0663ee3af7729a220de7aff08cd74545e1a7409a
Reviewed-on: https://webrtc-review.googlesource.com/c/104800
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25081}
2018-10-10 08:52:56 +00:00
Patrik Höglund
7730193a49 Remove SetExecutablePath, simplify ResourcePath
SetExecutablePath isn't used anymore.

Nobody was using the fancy select-per-platform functionality, and the
documentation was wrong anyway. In the cases somebody needed an
override per platform, they were using defines in their own test
instead. I think that is more verbose but more predictable and easy
to understand (see how it's done in audio_processing_unittest.cc
when loading output_data_mac, for instance).

Bug: webrtc:9792
Change-Id: I7289bf5883fe43852638922d7c7583eae0c08601
Reviewed-on: https://webrtc-review.googlesource.com/c/104482
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25062}
2018-10-09 14:01:16 +00:00
Niels Möller
433eafe1f5 Delete unused includes of assert.h
Bug: None
Change-Id: Iadc531710dca0ba34a00ac363bfe0784355bb6f9
Reviewed-on: https://webrtc-review.googlesource.com/c/103501
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24995}
2018-10-04 14:01:44 +00:00
Niels Möller
eddd3665a2 Delete unused method AudioCodingModuleImpl::SetOpusApplication.
Bug: None
Change-Id: I8fc1b4b9a4521444867c8b34ee54187c86dd6027
Reviewed-on: https://webrtc-review.googlesource.com/c/102040
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24993}
2018-10-04 13:46:31 +00:00
Ivo Creusen
dc6d5533e1 Add more NetEq information to NetEqState.
Some important NetEq information was not available in NetEqState, which
meant it was not available on the API. This CL adds additional
information.

Bug: webrtc:9667
Change-Id: I702707c7d60472f488047d48fb286f839c5608dc
Reviewed-on: https://webrtc-review.googlesource.com/c/102300
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24985}
2018-10-04 11:50:29 +00:00
Mirko Bonadei
8ca5c5216d Temporarily increase visibility of publicly used build targets.
Bug: webrtc:9808
Change-Id: I4ad2402dc288766732a2d81a289f717deec56629
Reviewed-on: https://webrtc-review.googlesource.com/c/103460
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24981}
2018-10-04 11:29:21 +00:00
Karl Wiberg
c2c4d042ae AudioCodingModuleTest.TestRedFec: Don't let the ACM create audio encoders
It will soon lose the ability to do so.

Bug: webrtc:8396
Change-Id: If120afa37325c00ae2c3e9a9bd75bf89c8897f8c
Reviewed-on: https://webrtc-review.googlesource.com/c/103441
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24979}
2018-10-04 11:20:57 +00:00
Pablo Barrera González
bc2959072d NetEq: Fix an UBSan error
UBSan will trigger when time_stretched_samples overflows using a
big number. This change avoids this problem by storing the
intermediate result into a int64_t.

Bug: chromium:886904
Change-Id: Id09dc4b468f841f03b523d5f21763f610b163a42
Reviewed-on: https://webrtc-review.googlesource.com/c/103123
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Pablo Barrera González <barrerap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24977}
2018-10-04 10:51:08 +00:00
Mirko Bonadei
311c13b3c2 Remove noop system_wrappers_default build target.
After the removal of field_trial_default, metrics_default and
runtime_enabled_features_default, this build target doesn't build
anything and can be safely removed.

Bug: webrtc:9631
Change-Id: Iee1111e065ffefe0b4b9a695ee67a594e6d82caa
Reviewed-on: https://webrtc-review.googlesource.com/c/103702
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24976}
2018-10-04 10:25:37 +00:00
Minyue Li
002fbb8c7d Adding field trial to force target level percentile in NetEQ.
Bug: webrtc:9822
Change-Id: I636f75de10851729825311ee5783e836f3b583cd
Reviewed-on: https://webrtc-review.googlesource.com/c/101220
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24975}
2018-10-04 10:00:54 +00:00
Minyue Li
7f6417f480 Restricting NetEq postpone decoding after expand.
Bug: webrtc:9289
Change-Id: I923f304e6c12423fe5323c62484a27346033b19a
Reviewed-on: https://webrtc-review.googlesource.com/c/98320
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24966}
2018-10-04 08:01:09 +00:00
Karl Wiberg
5cc8e14586 audio_coding_module_unittest: Don't rely on the ACM to create encoders
It will soon lose the ability to do so.

Bug: webrtc:8396
Change-Id: I1d7c62fbc2585233cf1656fdcc4bb5380c2f41a5
Reviewed-on: https://webrtc-review.googlesource.com/c/100980
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24947}
2018-10-03 09:47:10 +00:00
Karl Wiberg
895ce82cab VAD/DTX tests: Don't let the ACM create audio encoders
It will soon lose the ability to do so.

Bug: webrtc:8396
Change-Id: I06dce417bba855b57130bd1a052988b2f235dcbd
Reviewed-on: https://webrtc-review.googlesource.com/102882
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24921}
2018-10-02 08:19:32 +00:00
Karl Wiberg
3ff52ffa22 Remove the useless ACMTest base class
Bug: webrtc:8396
Change-Id: I021a2429910b21ffe4829e0ed51b9290bc715c0c
Reviewed-on: https://webrtc-review.googlesource.com/102884
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24907}
2018-10-01 12:01:44 +00:00
Mirko Bonadei
17f4878419 Remove deprecated field_trial_default and metrics_default.
This CL removes some deprecated build targets (and their headers)
from system_wrappers:
- field_trial_api
- field_trial_default
- metrics_api
- metrics_default

It also refreshes all the dependencies on field_trial.h and metrics.h.

A nice side effect is that it is finally possible to remove 'nogncheck'
from the following files (when it was used with field_trial_default
and metrics_default):
- sdk/objc/api/peerconnection/RTCMetricsSampleInfo+Private.h
- sdk/android/src/jni/pc/peerconnectionfactory.cc
- sdk/objc/api/peerconnection/RTCFieldTrials.mm

Bug: webrtc:9631
Change-Id: Ib621f41ef8ad0aba4fe1c1d7e749c044afc956c3
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/100524
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24878}
2018-09-28 07:21:07 +00:00
Karl Wiberg
91957c1540 AudioCodingModuleTest.TwoWayCommunication: Don't let the ACM create encoders
It will soon lose the ability to do so.

Bug: webrtc:8396
Change-Id: I7d8e1549c44628fc9bdf2480468a0f1d3ae812f2
Reviewed-on: https://webrtc-review.googlesource.com/102062
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24853}
2018-09-27 00:27:26 +00:00
Karl Wiberg
3a6b6bda17 AudioCodingModuleTest.TwoWayCommunication: Remove non-automatic mode
The tests only use the automatic mode, and I'd rather not maintain
(and test!) the rest.

Bug: webrtc:8396
Change-Id: I4cd1096e088d2ea8807a605b8448bd44ff9e88ed
Reviewed-on: https://webrtc-review.googlesource.com/102060
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24852}
2018-09-27 00:18:46 +00:00
Karl Wiberg
377a231c0d acm_receiver_unittest: Don't rely on the ACM to create encoders
It will soon lose the ability to do so.

Bug: webrtc:8396
Change-Id: Ifca101fce0c349dba8c402ab2b6ad614061a88f6
Reviewed-on: https://webrtc-review.googlesource.com/101281
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24836}
2018-09-25 17:16:56 +00:00
Karl Wiberg
bf7a0463da AudioCodingModuleTest.TestIsac: Don't rely on the ACM to create encoders
It will soon lose the ability to do so.

Bug: webrtc:8396
Change-Id: Id413204e53afec28495dff0873f027a56caed80f
Reviewed-on: https://webrtc-review.googlesource.com/101861
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24834}
2018-09-25 16:54:36 +00:00
Karl Wiberg
9a60e9a5b0 Remove the delay_test binary
It hasn't been changed in any meaningful way since 2013, the same year
it was created.

Bug: webrtc:8396
Change-Id: I5633188134f71f24311fbd3098d046632fc4ee3a
Reviewed-on: https://webrtc-review.googlesource.com/101563
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24816}
2018-09-25 08:25:56 +00:00
Karl Wiberg
d363db1907 TestStereo: Don't rely on the ACM to create encoders
It will soon lose the ability to do so.

Also, the ACM no longer creates comfort noise encoders for us, so
don't bother testing that.

Bug: webrtc:8396
Change-Id: I24a12e26bef142f9f8e7532b764f28572e0c6ace
Reviewed-on: https://webrtc-review.googlesource.com/101640
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24803}
2018-09-24 15:11:05 +00:00
Karl Wiberg
36b37dce8f AudioCodingModuleTest.TestStereo: Delete write-only variables
Bug: webrtc:8396
Change-Id: I96c744c39ed15a2e20a45b120db9304dff486b76
Reviewed-on: https://webrtc-review.googlesource.com/101542
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24792}
2018-09-24 10:46:36 +00:00
Jonas Olsson
84df1c724e Make fewer copies when using StringBuilder.
Replace calls to .str() which copies with .Release which moves in cases where that's safe.

This CL was generated by this command:
git grep -l 'StringBuilder' |
xargs perl -i -0 -pe "s/(rtc::StringBuilder (\S+);.*?return )\\g2.str\(\)/\$1\$2.Release\(\)/sg"

Bug: webrtc:8982
Change-Id: If4dadbeb039df010aaaa9e58da81c1971a84fe8f
Reviewed-on: https://webrtc-review.googlesource.com/100307
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24790}
2018-09-24 09:39:19 +00:00
Danil Chapovalov
db1285676b Cleanup modules_common_types
Uninline RTPFragmentaion functions
fix RTPFragmentation move constructor and assign operators (was recursive for win)
replace assert with rtc::dchecked_cast
Remove unused includes and dependencies.
Fix other targets that used those includes transitively instead of directly

Bug: None
Change-Id: I647cb1eda107dc7d87d25234095545bc2842fa40
Reviewed-on: https://webrtc-review.googlesource.com/100500
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24759}
2018-09-18 08:08:33 +00:00
Henrik Lundin
00eb12a20c Let NetEq use the PLC output from a decoder
This change enables NetEq to use the packet concealment audio (aka
PLC) produced by a decoder. The change also includes a new API to the
AudioDecoder interface, which lets the decoder implementation generate
and deliver concealment audio.

Bug: webrtc:9180
Change-Id: Icaacebccf645d4694b0d2d6310f6f2c7132881c4
Reviewed-on: https://webrtc-review.googlesource.com/96340
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24738}
2018-09-14 07:05:20 +00:00
Ivo Creusen
d1c2f78bfe Implement new stats interface on NetEq to monitor the operations and internal state.
Currently we use the NetworkStatistics to monitor these metrics, but because these get reset on every call, this makes it impossible to use them for other purposes.

Bug: webrtc:9667
Change-Id: If648085f04d2d58aae263cff5b9491bcad373a96
Reviewed-on: https://webrtc-review.googlesource.com/99740
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24727}
2018-09-13 14:03:47 +00:00
Minyue Li
1a80018a3c Avoid wrong parsing of padding length and its use in NetEq simulation.
Bug: b/113648474, webrtc:9730
Change-Id: Ieff7ab8697f5c8742548897a9b452a20b0bd2e7c
Reviewed-on: https://webrtc-review.googlesource.com/98461
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24703}
2018-09-12 11:23:03 +00:00
Ivo Creusen
f81b0f11a6 Move code for setting field trials from NetEqTestFactory to the main function in neteq_rtpplay.
It is problematic to set field trials more than once, so to avoid running into problems, this functionality has been placed in the main function of neteq_rtpplay.

Bug: webrtc:9667
Change-Id: Ib9b9990f30a1715b50889dbfc4d74787bcbe5dae
Reviewed-on: https://webrtc-review.googlesource.com/98541
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24673}
2018-09-11 09:27:11 +00:00
Mirko Bonadei
8b0aed1dd6 Fix no_global_constructors/no_exit_time_destructors in Neteq.
Bug: webrtc:9693
Change-Id: I0135e934c638ec391546928ba1e623d137b27b75
Reviewed-on: https://webrtc-review.googlesource.com/98600
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24668}
2018-09-11 06:39:14 +00:00
Henrik Lundin
9be7745509 NetEq tools: Fixing an issue with measuring the simulation time
The NetEqTest class was recently refactored. In the process, the
functionality for measuring the simulation time suffered a bug. This
CL fixes it.

Bug: webrtc:9667
Change-Id: I139e697ede21584ef77ae23cfa8e77f6dac65b51
Reviewed-on: https://webrtc-review.googlesource.com/98982
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24658}
2018-09-10 16:16:22 +00:00
Ivo Creusen
4384f53285 Add more useful information to NetEqState and implement action_times_ms
This CL adds more useful information to NetEqState, and implements setting action_times_ms, which can be used to get a better idea of what actually happened during a timestep.

Bug: webrtc:9667
Change-Id: I789a3e1ad852066fdf4e9b4c96b8fb6033dacb27
Reviewed-on: https://webrtc-review.googlesource.com/98163
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24643}
2018-09-10 09:10:53 +00:00
Niels Möller
fe3240aeae Reland "Delete class EventTimerWrapper."
This is a reland of a421775a6d

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: henrik.lundin@webrtc.org
Bug: webrtc:3380
Change-Id: I541473b9c3ce2020f76d420598a7b10766f1d2a9
Reviewed-on: https://webrtc-review.googlesource.com/98481
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24620}
2018-09-07 09:54:55 +00:00
Jonas Olsson
366a50c4ef Remove simple stringstream usages.
This CL replaces std::o?stringstream with rtc::StringBuilder where that's possible to do without changing any of the surrounding code. It also updates includes and build files as appropriate.

The CL was generated by running 'git grep -l -P std::o?stringstream | xargs perl -pi -e "s/std::o?stringstream/rtc::StringBuilder/g"'. Then I've manually updated the #includes and BUILD files, run 'git cl format' and unstaged any file that would need more complex fixes.

Bug: webrtc:8982
Change-Id: Ibc32153f4a3fd177e260b6ad05ce393972549357
Reviewed-on: https://webrtc-review.googlesource.com/98460
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24605}
2018-09-06 12:53:19 +00:00
Mirko Bonadei
96ede16a4e Enable -Wexit-time-destructors and -Wglobal-constructors.
This CL enables -Wexit-time-destructors and -Wglobal-constructors on
rtc_static_library and rtc_source_set build targets.

It also adds the possibility to suppress these warnings because
they trigger in a few places.

The long term goal is to avoid regressions on this and remove all the
suppressions.

Bug: webrtc:9693
Change-Id: I4c1ecc137ef9e87ec5e66981ce95d96fb082727c
Reviewed-on: https://webrtc-review.googlesource.com/98380
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24604}
2018-09-06 12:43:20 +00:00
Niels Moller
85e6e826a2 Revert "Delete class EventTimerWrapper."
This reverts commit a421775a6d.

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
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
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
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
Niels Möller
d941c09bc0 Delete unimplemented methods from the NetEq interface.
Bug: None
Change-Id: I51949a096c445813acc6649676e32c575732ef40
Reviewed-on: https://webrtc-review.googlesource.com/95643
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24469}
2018-08-28 15:48:26 +00:00
Niels Möller
764c14c87d Delete unused AudioCodingModule methods.
Methods deleted: IsCodecValid (static), QueryEncoder, SendFrequency.

Bug: None
Change-Id: Id63ea7cdc364583e896d3301d04fa9caae1e4d94
Reviewed-on: https://webrtc-review.googlesource.com/95486
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24440}
2018-08-27 10:00:59 +00:00
Niels Möller
18f1adc0da Delete AudioCodingModule::LeastRequiredDelayMs and related NetEq code.
Bug: None
Change-Id: I2f68502d19415899b3694f7bf5da523da831b223
Reviewed-on: https://webrtc-review.googlesource.com/95640
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24439}
2018-08-27 09:58:19 +00:00
Niels Möller
ec93075c00 Delete deprecated methods on AudioCodingModule
Bug: None
Change-Id: I05f1ab6cdd6ac52972835af7ea94aacf5f64d673
Reviewed-on: https://webrtc-review.googlesource.com/95482
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24388}
2018-08-22 13:26:17 +00:00
Karl Wiberg
801500cf99 Audio encoder tests: Create audio encoders the new way
Specifically, don't expect the ACM to be able to create encoders; we
have to give it an encoder that we make ourselves.

The new way of creating encoders used a 32 kbit/s bitrate
unconditionally for iSAC; I had to change it to 32 kbit/s for 16 kHz
and 56 kbit/s for 32 kHz, which is what the old way of creating
encoders has used since forever.

I also had to change some test expectations on Opus, because the new
way defaults to 32 kbit/s for mono and 64 kbit/s for stereo (which I
believe to be correct), while the old way defaults to 64 kbit/s in
both cases.

Bug: webrtc:8396
Change-Id: I3aab944175a8e27f4c63380e822b27e839bba7f2
Reviewed-on: https://webrtc-review.googlesource.com/94540
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24375}
2018-08-22 07:48:55 +00:00
Karl Wiberg
658a552fd5 Audio encoder tests: Create audio encoders the new way
Specifically, don't expect the ACM to be able to create encoders; we
have to give it an encoder that we make ourselves.

Bug: webrtc:8396
Change-Id: I032b12f3813af6ac3ea0dfb688006899dffe4855
Reviewed-on: https://webrtc-review.googlesource.com/94150
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24323}
2018-08-17 06:38:09 +00:00
Minyue Li
c97933fb82 Clean up code regarding jitter buffer plot in event log visualizer.
Bug: webrtc:9147
Change-Id: I2c1f0b383706ae9a788eb8b5d308d4c7fe612730
Reviewed-on: https://webrtc-review.googlesource.com/92390
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24261}
2018-08-10 11:19:56 +00:00
Ivo Creusen
80006b9922 Add command-line flag to enable the bugfix to postpone decoding after expand.
This CL also excludes several codec mappings depending on compile-time flags.

Bug: webrtc:9289
Change-Id: I1a9183f88378307925b747576a5513e54be3782e
Reviewed-on: https://webrtc-review.googlesource.com/93462
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24259}
2018-08-10 10:06:56 +00:00
Karl Wiberg
133cff009b AudioCodingModuleTest.TestAllCodecs: Create audio encoders the new way
Specifically, don't expect the ACM to be able to create encoders; we
have to give it an encoder that we make ourselves.

To make it work, I had to add support for the "ptime" parameter to the
L16 codec.

Bug: webrtc:8396
Change-Id: I3869422882611d2eed65d6c849ea7cd3ad6bd126
Reviewed-on: https://webrtc-review.googlesource.com/87423
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24217}
2018-08-08 01:38:05 +00:00
Oleh Prypin
d2f4e8bd90 Explicitly add -mfpu=neon to all targets that use NEON
Remove obsolete comment about Chromium not defining NEON for Android.

Semi-related fix: don't use `rtc_remove_configs` directly, `suppressed_configs` is the "public interface".

Bug: webrtc:9579
Change-Id: I512628feb462a29432f1356cfef00efe1ddaf84f
Reviewed-on: https://webrtc-review.googlesource.com/91761
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24165}
2018-08-01 13:15:42 +00:00
Artem Titov
75caa597a3 Untangle fft third party lib from dependon WebRTC
TBR=phoglund

Bug: webrtc:9558
Change-Id: I6cc1936549f008694c3617c1d990524c34da16e3
Reviewed-on: https://webrtc-review.googlesource.com/90411
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24115}
2018-07-26 13:44:30 +00:00
Niels Möller
a15fd0dee6 Add missing include of stdint.h in MIPS code.
Needed after cl https://webrtc-review.googlesource.com/c/src/+/90249,
which deleted the include of typedefs.h.

Bug: webrtc:6854
Change-Id: I4ab86fae40843613a76da378658343198a800d0c
Reviewed-on: https://webrtc-review.googlesource.com/90414
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24112}
2018-07-26 11:30:19 +00:00
Niels Möller
a12c42a6b2 Delete root header file typedef.h.
Usage replaced with stdint.h, rtc_base/system/arch.h and
rtc_base/system/unused.h, as appropriate.

Bug: webrtc:6854
Change-Id: I97225465d14b969903d92979e2df3c3c05d35f18
Reviewed-on: https://webrtc-review.googlesource.com/90249
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24100}
2018-07-25 14:59:26 +00:00
Artem Titov
52b9000380 Move g722 to proper third_party directory
Bug: webrtc:8366
Change-Id: I81b051dd25da2d7eaa2902af284d8b669ad8e3c9
Reviewed-on: https://webrtc-review.googlesource.com/85620
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24096}
2018-07-25 11:56:59 +00:00
Artem Titov
e095b81940 Move g711 to proper third_party directory
Bug: webrtc:8366
Change-Id: Ic57bd5c5c01871aee2956b2a098a79b106f54c9e
Reviewed-on: https://webrtc-review.googlesource.com/85375
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24095}
2018-07-25 10:27:08 +00:00
Artem Titov
8a838fd207 Move fft to proper third_party directory
Bug: webrtc:8366
Change-Id: I741a381fe1cf18909baefd89743b2ff4fe0a6bae
Reviewed-on: https://webrtc-review.googlesource.com/86822
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24091}
2018-07-25 08:39:28 +00:00
Artem Titov
5d7a4c6692 Fixing py lint errors
Bug: webrtc:9548
Change-Id: I0daf8dc06fdaac1637c32994ef6ad542ed52202a
Reviewed-on: https://webrtc-review.googlesource.com/90045
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24068}
2018-07-23 15:28:48 +00:00
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
Jonas Olsson
3531ee18ec change a stringstream over to stringbuilder
Bug: webrtc:8982
Change-Id: I4d8605acd59926a5873bfc7ca4ce902854f2708e
Reviewed-on: https://webrtc-review.googlesource.com/64880
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23095}
2018-05-03 11:40:41 +00:00
Minyue Li
2a35c43779 Removing shared_ptr in a unittest in audio coding.
Bug: webrtc:9222
Change-Id: I26aee886896416af98c39511046d5cfd836cb01e
Reviewed-on: https://webrtc-review.googlesource.com/73720
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23078}
2018-05-02 13:52:28 +00:00
Bjorn Terelius
c4ca1d3f37 Reland "Create new API for RtcEventLogParser."
The new API stores events gathered by event type. For example, it is
possible to ask for a list of all incoming RTCP messages or all audio
playout events.

The new API is experimental and may change over next few weeks. Once
it has stabilized and all unit tests and existing tools have been
ported to the new API, the old one will be removed.

This CL also updates the event_log_visualizer tool to use the new
parser API. This is not a funcional change except for:
- Incoming and outgoing audio level are now drawn in two separate plots.
- Incoming and outgoing timstamps are now drawn in two separate plots.
- RTCP count is no longer split into Video and Audio. It also counts
  all RTCP packets rather than only specific message types.
- Slight timing difference in sendside BWE simulation due to only
  iterating over transport feedbacks and not over all RTCP packets.
  This timing changes are not visible in the plots.


Media type for RTCP messages might not be identified correctly by
rtc_event_log2text anymore. On the other hand, assigning a specific
media type to an RTCP packet was a bit hacky to begin with.

Bug: webrtc:8111
Change-Id: Ib244338c86a2c1a010c668a7aba440482023b512
Reviewed-on: https://webrtc-review.googlesource.com/73140
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23056}
2018-04-27 14:46:51 +00:00
Karl Wiberg
6f3d01c829 "Fix" signed integer overflow in old code
It's safe to ignore this overflow since it only affects audio data,
not indices or anything like that.

Bug: chromium:835637
Change-Id: I60162e4627b08d5e3ba3a21fdae8087f098c7e46
Reviewed-on: https://webrtc-review.googlesource.com/72701
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23030}
2018-04-26 13:38:57 +00:00
Björn Terelius
ff61273c01 Revert "Create new API for RtcEventLogParser."
This reverts commit 9e336ec0b8.

Reason for revert: Code can accidentally include the deprecated parser but link with the new one, or vice versa. Reverting to fix naming.

Original change's description:
> Create new API for RtcEventLogParser.
> 
> The new API stores events gathered by event type. For example, it is
> possible to ask fo a list of all incoming RTCP messages or all audio
> playout events.
> 
> The new API is experimental and may change over next few weeks. Once
> it has stabilized and all unit tests and existing tools have been
> ported to the new API, the old one will be removed.
> 
> This CL also updates the event_log_visualizer tool to use the new
> parser API. This is not a funcional change except for:
> - Incoming and outgoing audio level are now drawn in two separate plots.
> - Incoming and outgoing timstamps are now drawn in two separate plots.
> - RTCP count is no longer split into Video and Audio. It also counts
>   all RTCP packets rather than only specific message types.
> - Slight timing difference in sendside BWE simulation due to only
>   iterating over transport feedbacks and not over all RTCP packets.
>   This timing changes are not visible in the plots.
> 
> 
> Media type for RTCP messages might not be identified correctly by
> rtc_event_log2text anymore. On the other hand, assigning a specific
> media type to an RTCP packet was a bit hacky to begin with.
> 
> Bug: webrtc:8111
> Change-Id: I8e7168302beb69b2e163a097a2a142b86dd4a26b
> Reviewed-on: https://webrtc-review.googlesource.com/60865
> Reviewed-by: Minyue Li <minyue@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23015}

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

Change-Id: Ib4bbcf0563423675a3cc1dce59ebf665e0c5dae9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8111
Reviewed-on: https://webrtc-review.googlesource.com/72500
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23026}
2018-04-25 14:23:14 +00:00
Bjorn Terelius
9e336ec0b8 Create new API for RtcEventLogParser.
The new API stores events gathered by event type. For example, it is
possible to ask fo a list of all incoming RTCP messages or all audio
playout events.

The new API is experimental and may change over next few weeks. Once
it has stabilized and all unit tests and existing tools have been
ported to the new API, the old one will be removed.

This CL also updates the event_log_visualizer tool to use the new
parser API. This is not a funcional change except for:
- Incoming and outgoing audio level are now drawn in two separate plots.
- Incoming and outgoing timstamps are now drawn in two separate plots.
- RTCP count is no longer split into Video and Audio. It also counts
  all RTCP packets rather than only specific message types.
- Slight timing difference in sendside BWE simulation due to only
  iterating over transport feedbacks and not over all RTCP packets.
  This timing changes are not visible in the plots.


Media type for RTCP messages might not be identified correctly by
rtc_event_log2text anymore. On the other hand, assigning a specific
media type to an RTCP packet was a bit hacky to begin with.

Bug: webrtc:8111
Change-Id: I8e7168302beb69b2e163a097a2a142b86dd4a26b
Reviewed-on: https://webrtc-review.googlesource.com/60865
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23015}
2018-04-25 09:37:03 +00:00
Karl Wiberg
bb23c838f5 GN hack to tag targets as poisonous (and use it with audio codecs)
Only specially taggged targets may transitively depend on poisonous
targets. We first apply it to audio codecs.

This makes it much clearer exactly what parts of the code still have
dependencies on the audio codecs (and we want to eventually get rid of
pretty much all of them).

Bug: webrtc:8396, webrtc:9121
Change-Id: Iba5c2e806c702b5cfe881022674705f647896d43
Reviewed-on: https://webrtc-review.googlesource.com/69520
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22979}
2018-04-23 13:41:47 +00:00
Minyue Li
e999b3fdf7 Let NetEq stats getter provide time for each stats query.
Bug: webrtc:9147
Change-Id: Idb3677bfa41bac7c050361b2ade220a84bb399be
Reviewed-on: https://webrtc-review.googlesource.com/70401
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22978}
2018-04-23 12:53:26 +00:00
Minyue Li
753f72e1b8 Allow NetEq stats getter to config stats query interval.
Bug: webrtc:9147
Change-Id: I42164dd784535ca31dd345ac4e199d6b6c802974
Reviewed-on: https://webrtc-review.googlesource.com/70200
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22973}
2018-04-23 11:13:26 +00:00
Minyue Li
2b415da8d0 Seperate NetEq stats getter to use in other tools.
Bug: webrtc:9147
Change-Id: I251618bbb542d89b3d38c3ea424b1e55c0a5f2b2
Reviewed-on: https://webrtc-review.googlesource.com/69806
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Alex Narest <alexnarest@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22971}
2018-04-23 08:49:06 +00:00
Henrik Lundin
6719017d19 NetEq: Remove background noise fill during long expansions
NetEq was (up until this CL) capable of fading over to generating a
constant background noise when voice expansion had lasted too long.
However, the code has for a really long time only ever used the "off"
mode, which meant that long expansions are faded down to complete
silence (only zeros), i.e., background noise fill was not used.
Removing the other two modes ("on" and "fade") simplifies the code.

Bug: webrtc:9180
Change-Id: Ia2d46960208f3d75c9659ad3f027c52e5ecfb6b0
Reviewed-on: https://webrtc-review.googlesource.com/71485
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22969}
2018-04-23 06:59:46 +00:00
Mirko Bonadei
6e396b0188 Moving transform_tables.c to isac_fix_common.
The target modules/audio_coding:isac_neon needs to link with
transform_tables.c but adding a dependency between isac_neon and
isac_fix_c creates a circular dependency.

This CL moves transform_tables.c to isac_fix_common (which is already a
dependency of isac_neon).

Bug: None
Change-Id: I4135ec772b0017e77f1411e9a8093b495220c636
Reviewed-on: https://webrtc-review.googlesource.com/71581
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22968}
2018-04-23 06:56:06 +00:00
Jiawei Ou
89f645ad18 Add missing header include for filterbanks_neon.c
Proper header include is missing for this file causing clang to complain about missing prototype for function `WebRtcIsacfix_AllpassFilter2FixDec16Neon`

Bug: None
Change-Id: Idb32e9fab6760a9a56f1db2d43e7c8e2e1fe5359
Reviewed-on: https://webrtc-review.googlesource.com/70370
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22967}
2018-04-21 18:21:44 +00:00
Karl Wiberg
36b096c38e Ignore overflowing left shift
It's audio data, not an index or anything like that, so the most an
overflow can do is make it sound worse.

Bug: chromium:834531
Change-Id: Icb39c1bb011219c1a6fe67bc582390daa2693379
Reviewed-on: https://webrtc-review.googlesource.com/71160
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22947}
2018-04-19 21:22:49 +00:00
Danil Chapovalov
8aba6b4114 Remove incompatiblities with absl::optional in audio_coding
PCMFile.cc uses RTC_DCHECK. include and depend on rtc_base:checks target directly

change usage of value_or by using explicit constructor instead of implicit

Bug: webrtc:9078
Change-Id: I63c596b8a05b387e56df846b15c33a605fbad4e6
Reviewed-on: https://webrtc-review.googlesource.com/69985
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22897}
2018-04-17 12:05:13 +00:00
Fredrik Solenberg
bbf21a3fd6 Remove dependencies on modules:module_api from AudioProcessing.
- Directly include api/audio/audio_frame.h everywhere AudioFrame is used.
- This *will* remove transient dependencies on libjpeg and a bunch of other things from the e.g. APM.
- audio_frame.h still included from module_common_types.h for backwards compatibility with clients.

Bug: webrtc:9139, webrtc:7504
Change-Id: Id96f9268c01667fbcc29a01f5c1dd25a37836897
Reviewed-on: https://webrtc-review.googlesource.com/62464
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22845}
2018-04-12 22:05:27 +00:00
Alex Narest
2734a066c2 Fix neteq_rtpplay crash in case new concealment event does not have voice concealed smaples
Bug: webrtc:9114
Change-Id: I97a55a780384e6a710fdeb286124eea642000dc8
Reviewed-on: https://webrtc-review.googlesource.com/69240
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Alex Narest <alexnarest@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22837}
2018-04-12 11:33:05 +00:00
Henrik Lundin
3ef3bfc2aa Add new histograms WebRTC.Audio.(Speech)ExpandRatePercent
These two new histograms relate to the packet-loss concealment that
happens when audio packets are lost or late for decoding, and the
NetEq must resort to extrapolating audio from the previously
decoded data.

Bug: webrtc:9126
Change-Id: I99cc97e653169fb742da0092653ab99fd10e5d7b
Reviewed-on: https://webrtc-review.googlesource.com/67861
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22812}
2018-04-10 21:32:55 +00:00
Karl Wiberg
bb19fcf3bd Add explicit cast to void to silence -Wcomma warning
Bug: webrtc:9014
Change-Id: I390a8d722e40a101c29ca7a71c6429cba26c17ee
Reviewed-on: https://webrtc-review.googlesource.com/67560
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22787}
2018-04-09 10:00:09 +00:00
Danil Chapovalov
4da18e89bd compare Optional<unsigned> only to unsigned integers
more standard optional<T> inlines compares instead of converting second argument to T.
that leads to warnings about comparing unsigned to signed integers.

Bug: webrtc:9078
Change-Id: I43cc729d3b85d789b0c394064dc7e11dc27a37aa
Reviewed-on: https://webrtc-review.googlesource.com/66782
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22779}
2018-04-07 10:07:47 +00:00
Karl Wiberg
5817d3dfaa AudioCodingModule::Create(): Require caller to supply an AudioDecoderFactory
So that we don't have to be capable of creating one ourselves, which
requires a dependency on the audio decoders.

BUG=webrtc:5801, webrtc:8396

Change-Id: I80749ec3b86cba73994307046d05964f59167d44
Reviewed-on: https://webrtc-review.googlesource.com/18440
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22774}
2018-04-06 15:10:27 +00:00
Karl Wiberg
338f58d95c iSAC decoder: Don't read past the end of the buffer of encoded bytes
Bug: chromium:825524
Change-Id: Iff40a9fd62a34474af71b51dd3831a16412fbf3b
Reviewed-on: https://webrtc-review.googlesource.com/66361
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22748}
2018-04-05 13:22:53 +00:00
Jonas Olsson
abbe841721 This CL removes all usages of our custom ostream << overloads.
This prepares us for removing them altogether.

Bug: webrtc:8982
Change-Id: I66002cc8d4bf0e07925766d568d2498422f0f38e
Reviewed-on: https://webrtc-review.googlesource.com/64142
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22707}
2018-04-03 12:51:00 +00:00
Tommi
16a140287e Remove a couple of unnecessary winsock2.h includes
Bug: None
Change-Id: I3f36aaff9cc957e5c404e23e99702eb9ff28517d
Reviewed-on: https://webrtc-review.googlesource.com/65720
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22702}
2018-04-03 08:49:58 +00:00
Karl Wiberg
2b85792b01 Move rw_lock_wrapper.h to rtc_base/synchronization/
This moves it from an API directory (system_wrappers/include/) to a
non-API directory, which is exactly what we want for utilities like
this.

BUG=webrtc:8445
NOPRESUBMIT=true

Change-Id: Ie2879aca5fc1667e4222499d2a8fc2bba9ae2425
Reviewed-on: https://webrtc-review.googlesource.com/21328
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22587}
2018-03-23 19:47:08 +00:00
Ivo Creusen
767a2ced73 Fix for crash when reading from audio file in NetEq.
The neteq_rtpplay tool can crash when the replacement audio file is too short. The desired behavior is that the audio file is looped as much as necessary.

Bug: webrtc:9061
Change-Id: Iefba4c47271584845662a415598bf2197dba0fae
Reviewed-on: https://webrtc-review.googlesource.com/64460
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22585}
2018-03-23 18:29:05 +00:00
Karl Wiberg
6a4d411023 Move file_wrapper.h to rtc_base/system/
This moves it from an API directory (system_wrappers/include/) to a
non-API directory, which is exactly what we want for utilities like
this.

BUG=webrtc:8445

Change-Id: I440974da4d347b09ff042478720d7983056b62b9
Reviewed-on: https://webrtc-review.googlesource.com/21226
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22579}
2018-03-23 11:17:15 +00:00
Karl Wiberg
7aabd39b4b Move asm_defines.h to rtc_base/system/
This moves it from an API directory (system_wrappers/include/) to a
non-API directory, which is exactly what we want for utilities like
this.

Bug: webrtc:8445
NOPRESUBMIT=true

Change-Id: I30d01fcb9cbe1427a7703a3cdd7befae751066b5
Reviewed-on: https://webrtc-review.googlesource.com/21982
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22550}
2018-03-22 03:12:13 +00:00
Karl Wiberg
08126349f5 Pass a real audio codec pair ID to decoders that we create
Bug: webrtc:8941
Change-Id: Ic2aed2ca759eb378164f3f65465e23fd7c13a9f8
Reviewed-on: https://webrtc-review.googlesource.com/63261
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22538}
2018-03-21 13:55:18 +00:00
Mirko Bonadei
d7573563a4 Fixing -Wstrict-prototypes warnings.
Bug: webrtc:8984
Change-Id: I9a7ffb0038f341bfec055f021fc203c7d45d72fa
Reviewed-on: https://webrtc-review.googlesource.com/60903
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22501}
2018-03-19 16:57:21 +00:00
Patrik Höglund
7696bef463 Remove the public_deps to fileutils from test_support.
Bug: webrtc:8946
Change-Id: Ia01d8bb1b42485e29f26792b9266228743d7fd90
No-Presubmit: true
Reviewed-on: https://webrtc-review.googlesource.com/62100
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22465}
2018-03-16 09:06:27 +00:00
Henrik Lundin
e55313988e NetEq: fix a typo by replacing a comma with a semicolon
Bug: webrtc:8999
Change-Id: I6e2fc51d74bfdc2c7009a6aedbfbb3a36edcbc54
Reviewed-on: https://webrtc-review.googlesource.com/61504
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22409}
2018-03-13 17:15:11 +00:00
Karl Wiberg
d6fbf2a4b1 Tests: Pass codec ID argument to audio codecs
Bug: webrtc:8941
Change-Id: Ia6d51dcbf7d69b38f3615e01d3f7031b8f5c31d0
Reviewed-on: https://webrtc-review.googlesource.com/58092
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22383}
2018-03-12 13:25:29 +00:00
Karl Wiberg
12edf4ce34 Separate build target for rtc_base/numerics/safe_minmax.h
So that we can avoid dependency cycles.

Bug: none
Change-Id: I821d9f1319dff01403d6e4e310cbb2d4b2b125e8
Reviewed-on: https://webrtc-review.googlesource.com/60500
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22328}
2018-03-07 14:12:00 +00:00
Karl Wiberg
98cd810d31 Production code: Pass codec ID argument to audio codecs
Just a null ID for now, but future CLs will fix that.

Bug: webrtc:8941
Change-Id: I393af0fef752ca3711421bdaf4b2e41cbe286bcf
Reviewed-on: https://webrtc-review.googlesource.com/58093
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22296}
2018-03-05 18:55:19 +00:00
Patrik Höglund
1631dc6118 Make isac_fix_test correctly parse --isolated-script-test-perf-output.
The flag is passed as --isolated-script-test-perf-output=/b/whatever
on the bots, but this code expected a blank space instead of =.

Bug: webrtc:8932
Change-Id: I9ca48c9b285e365ac23a04ea2e89d9a8e75f5540
Reviewed-on: https://webrtc-review.googlesource.com/58088
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22211}
2018-02-27 16:33:39 +00:00
Henrik Lundin
8b84365c81 NetEq: Guarding against reading outside of memory
In rare and pathological circumstances, it could happen that the input
length to the merge function is very short. This CL will avoid one of
the problems with out-of-bounds read that could result from this.

Bug: chromium:799499
Change-Id: I6bde105ae88f9d130764b6dfb3d25443d07e214b
Reviewed-on: https://webrtc-review.googlesource.com/57582
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22180}
2018-02-26 09:30:00 +00:00
Mirko Bonadei
6ce03592c6 Adding missing ASM dependencies.
Bug: webrtc:8603
Change-Id: I7b417759fcdd01879029afcc5afc50300016fd72
Reviewed-on: https://webrtc-review.googlesource.com/56840
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22159}
2018-02-22 16:58:38 +00:00
Sebastian Jansson
5d436ac0bf Removed Die mock from MockAudioEncoder
MockAudioEncoder was calling a mocked Die function on itself in its
destructor. This outputs "Uninteresting mock function call" warning if
the Die call was not expected. This is true even if a NiceMock is used
to suppress the warnings.

The purpose of testing that the destructor is called might be to protect
against memory leaks when audio encoder ownership is transferred using a
raw pointer. However, this case is already covered by msan checks.

Bug: None
Change-Id: I0603c417b4b239027859228e05ebcf83ff5aaf18
Reviewed-on: https://webrtc-review.googlesource.com/56183
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22146}
2018-02-22 12:53:38 +00:00
Alex Loiko
6df09f6f6a Add decibel conversion functions to //common_audio:common_audio
The functions replace some existing code and will be used in the
the new AutomaticGainController.

Bug: webrtc:7949
Change-Id: I9a32132d4a4699a507b8548a2eac10972a2f3fd6
Reviewed-on: https://webrtc-review.googlesource.com/53141
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22045}
2018-02-16 10:46:48 +00:00
Alex Narest
2d06e366e8 Adds fixed PL loss mode to neteq_quality_test.
It will be available in all inheriting tests.
The mode allows setting start time and duration for every loss event.

Bug: webrtc:8877
Change-Id: Ife36db6d431387083ac22406a0814e02117100bc
Reviewed-on: https://webrtc-review.googlesource.com/51822
Commit-Queue: Alex Narest <alexnarest@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22005}
2018-02-13 15:34:04 +00:00
Edward Lemur
0c15a09293 Don't use gtest-parallel when running webrtc_perf_tests.
When we run webrtc_perf_tests with gtest-parallel, each test is run
individually, and this results in the file with the perf results being
overwritten each time.

To avoid this, we won't use gtest-parallel when running webrtc_perf_tests,
so we will simply run the binary directly.

TBR=phoglund@chromium.org

Bug: chromium:755660
Change-Id: I24db36e512fcf604a3de2adf4d0b4325b2c3d1ae
Reviewed-on: https://webrtc-review.googlesource.com/49340
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21982}
2018-02-12 13:10:04 +00:00
Alex Narest
7ff6ca5844 Adds voice concealment periods reporting to neteq_rtpplay.
Change-Id: Ie5a89eacef8c1cf7d5a6220b045d2c331fef199e

Bug: webrtc:8847
Change-Id: Ie5a89eacef8c1cf7d5a6220b045d2c331fef199e
Reviewed-on: https://webrtc-review.googlesource.com/48100
Commit-Queue: Alex Narest <alexnarest@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21950}
2018-02-07 18:41:42 +00:00
Henrik Lundin
2cbc20bb56 NetEq quality tests: avoid default preloading of the buffer
Before this change, the test used to preload the buffer with 10
packets before starting to pull out audio. With this change, the
preloading is determined by a new flag (--preload_packets) which
defaults to 0.

This affects all tests derived from NetEqQualityTest, i.e., all
binaries called neteq_*_quality_test.

Bug: none
Change-Id: I920845b968a81ea9972ce8a8e646df29aff200ba
Reviewed-on: https://webrtc-review.googlesource.com/49261
Reviewed-by: Alex Narest <alexnarest@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21943}
2018-02-07 16:19:31 +00:00
Mirko Bonadei
96a48ef70a Reland "Removing forward headers in modules/audio_coding/codecs.""
This reverts commit 1d0b9d04bd.

Reason for revert: Downstream projects have been updated.

Original change's description:
> Revert "Removing forward headers in modules/audio_coding/codecs."
> 
> This reverts commit 2279aec00b.
> 
> Reason for revert: breaks downstream project.
> 
> Original change's description:
> > Removing forward headers in modules/audio_coding/codecs.
> > 
> > Bug: webrtc:5805
> > Change-Id: Ie0b1d1d1ef01039bcadbfe42dd67d770d93983a9
> > Reviewed-on: https://webrtc-review.googlesource.com/47382
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21870}
> 
> TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
> 
> Change-Id: I35dc09ec1988d3d614d8facd5378a5db70942fb4
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:5805
> Reviewed-on: https://webrtc-review.googlesource.com/47520
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21875}

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

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

Bug: webrtc:5805
Change-Id: I044537655012062b2a084559e90ca799286e3994
Reviewed-on: https://webrtc-review.googlesource.com/48400
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21905}
2018-02-06 10:38:19 +00:00
Mirko Bonadei
dbbb33cd00 Stop using public_deps in common_audio.
Bug: webrtc:8603
Change-Id: I315311977f2a75476a7028b8d3eaf3c98caf4178
Reviewed-on: https://webrtc-review.googlesource.com/47920
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21902}
2018-02-06 09:44:20 +00:00
Karl Wiberg
80ba333fc5 Move FALLTHROUGH macro to a separate header, and give it an RTC_ prefix
Bug: chromium:805946
Change-Id: Ibb5dce9af27d0e48c9aee6b0a860b6f62b3c76a0
Reviewed-on: https://webrtc-review.googlesource.com/46145
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21889}
2018-02-05 11:24:59 +00:00
Alex Narest
7ef9a0bb46 Add pcm16b quality test supporting 48khz.
Change-Id: I7abb394c61f6fd260f060ca5c16167ae6b44ef68

Bug: webrtc:8836
Change-Id: I7abb394c61f6fd260f060ca5c16167ae6b44ef68
Reviewed-on: https://webrtc-review.googlesource.com/47400
Commit-Queue: Alex Narest <alexnarest@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21878}
2018-02-02 17:18:06 +00:00
Mirko Bonadei
1d0b9d04bd Revert "Removing forward headers in modules/audio_coding/codecs."
This reverts commit 2279aec00b.

Reason for revert: breaks downstream project.

Original change's description:
> Removing forward headers in modules/audio_coding/codecs.
> 
> Bug: webrtc:5805
> Change-Id: Ie0b1d1d1ef01039bcadbfe42dd67d770d93983a9
> Reviewed-on: https://webrtc-review.googlesource.com/47382
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21870}

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

Change-Id: I35dc09ec1988d3d614d8facd5378a5db70942fb4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:5805
Reviewed-on: https://webrtc-review.googlesource.com/47520
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21875}
2018-02-02 15:15:37 +00:00
Mirko Bonadei
7272453558 Using fully qualified #include paths in pcm16b code.
WebRTC internal code should always use include paths that start
from the root of the project and that clearly identify the header file.

This allows 'gn check' to actually keep dependencies under control
because 'gn check' cannot enforce anything if the include path
is not fully qualified (starting from the root of the project).

Bug: webrtc:8815
Change-Id: I8a7ab64dfecdb3da4099fdec61e5fc27af4f8ccc
Reviewed-on: https://webrtc-review.googlesource.com/47380
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21874}
2018-02-02 14:15:36 +00:00
Edward Lemur
8e2852d506 Add chartjson_result_file argument to isac_fix_test.
So we can report perf results using JSON and not parsing stdout.

I reordered the way the arguments are parsed, so that options go
at the end, and not at the middle, which is an awkward place to put them.

Regular usage specifying [-I], bottleneck_value, infile and outfile
shouldn't be affected.

Bug: chromium:807737
Change-Id: Ida863846400326c33e443d723f384971b891b6e5
Reviewed-on: https://webrtc-review.googlesource.com/47161
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21873}
2018-02-02 14:08:26 +00:00
Mirko Bonadei
06c2aa9f7b Using fully qualified #include paths in ilbc code.
WebRTC internal code should always use include paths that start
from the root of the project and that clearly identify the header file.

This allows 'gn check' to actually keep dependencies under control
because 'gn check' cannot enforce anything if the include path
is not fully qualified (starting from the root of the project).

Bug: webrtc:8815
Change-Id: I36f01784fa5f5b77eefc02db479b1f7f6ee1a8c3
Reviewed-on: https://webrtc-review.googlesource.com/46263
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21871}
2018-02-02 13:28:13 +00:00
Mirko Bonadei
2279aec00b Removing forward headers in modules/audio_coding/codecs.
Bug: webrtc:5805
Change-Id: Ie0b1d1d1ef01039bcadbfe42dd67d770d93983a9
Reviewed-on: https://webrtc-review.googlesource.com/47382
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21870}
2018-02-02 13:23:40 +00:00
Qingsi Wang
970b088878 Reland "Break up rtc_event_log_api to solve circular dependencies."
This is a reland of 001546da95
Original change's description:
> Break up rtc_event_log_api to solve circular dependencies.
>
> The original rtc_event_log_api is refactored to a pure API target plus
> multiple targets coupled with WebRTC implementations.
>
> Bug: None
> Change-Id: Iab9eee3f7bf4228c52d94a5f26fc39bb99b5033f
> Reviewed-on: https://webrtc-review.googlesource.com/43247
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Qingsi Wang <qingsi@google.com>
> Cr-Commit-Position: refs/heads/master@{#21811}

TBR=pthatcher@webrtc.org,deadbeef@webrtc.org,terelius@webrtc.org,stefan@webrtc.org

Bug: None
Change-Id: I3e7213733741cbfd5dd0076f32209e6bc42a0647
Reviewed-on: https://webrtc-review.googlesource.com/46900
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21862}
2018-02-01 22:47:52 +00:00
Mirko Bonadei
bc3b782813 Using fully qualified #include paths in g722 code.
WebRTC internal code should always use include paths that start
from the root of the project and that clearly identify the header file.

This allows 'gn check' to actually keep dependencies under control
because 'gn check' cannot enforce anything if the include path
is not fully qualified (starting from the root of the project).

Bug: webrtc:8815
Change-Id: I1fc4cb50d81522a486888a626d4a95df7847d591
Reviewed-on: https://webrtc-review.googlesource.com/46743
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21849}
2018-02-01 15:11:25 +00:00
Mirko Bonadei
2bf82c1842 Using fully qualified #include paths in g711 code.
WebRTC internal code should always use include paths that start
from the root of the project and that clearly identify the header file.

This allows 'gn check' to actually keep dependencies under control
because 'gn check' cannot enforce anything if the include path
is not fully qualified (starting from the root of the project).

Bug: webrtc:8815
Change-Id: I6c345c38fd990f66bc1a8129e7f7cee7d161e926
Reviewed-on: https://webrtc-review.googlesource.com/47120
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21848}
2018-02-01 15:05:44 +00:00
Mirko Bonadei
08973eed36 Using fully qualified #include paths in isac code.
WebRTC internal code should always used include paths that starts
from the root of the project and that clearly identify the header file.

This allows 'gn check' to actually keep dependencies under control
because 'gn check' cannot enforce anything if the include path
is not fully qualified (starting from the root of the project).

Bug: webrtc:8815
Change-Id: I23fb4fed0c27a4d98bea360315b959af843587bc
Reviewed-on: https://webrtc-review.googlesource.com/46101
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21847}
2018-02-01 14:57:44 +00:00
Mirko Bonadei
75df7282eb Revert "Break up rtc_event_log_api to solve circular dependencies."
This reverts commit 001546da95.

Reason for revert: breaks downstream projects.

Original change's description:
> Break up rtc_event_log_api to solve circular dependencies.
> 
> The original rtc_event_log_api is refactored to a pure API target plus
> multiple targets coupled with WebRTC implementations.
> 
> Bug: None
> Change-Id: Iab9eee3f7bf4228c52d94a5f26fc39bb99b5033f
> Reviewed-on: https://webrtc-review.googlesource.com/43247
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Commit-Queue: Qingsi Wang <qingsi@google.com>
> Cr-Commit-Position: refs/heads/master@{#21811}

TBR=phoglund@webrtc.org,deadbeef@webrtc.org,terelius@webrtc.org,stefan@webrtc.org,pthatcher@google.com,pthatcher@webrtc.org,qingsi@google.com

Change-Id: I82540eac176c4abfb7e50dc51671585b32a1bace
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/46581
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21823}
2018-01-31 09:39:44 +00:00
Qingsi Wang
001546da95 Break up rtc_event_log_api to solve circular dependencies.
The original rtc_event_log_api is refactored to a pure API target plus
multiple targets coupled with WebRTC implementations.

Bug: None
Change-Id: Iab9eee3f7bf4228c52d94a5f26fc39bb99b5033f
Reviewed-on: https://webrtc-review.googlesource.com/43247
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@google.com>
Cr-Commit-Position: refs/heads/master@{#21811}
2018-01-30 17:54:06 +00:00
Mirko Bonadei
cf30d8b1ec Adding :isac_fix_c_arm_asm missing dependency.
TBR=phoglund@webrtc.org

Bug: None
Change-Id: I6cb1a442274a627e03a58098d74c8bbf00e492a3
Reviewed-on: https://webrtc-review.googlesource.com/46100
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21806}
2018-01-30 13:26:39 +00:00
Henrik Lundin
4f2a4a12df NetEq: Make the fix for Opus DTX permanent
This change makes the fix for too long delays during Opus DTX periods
permanent. The fix has up until now been under an experiment, named
WebRTC-NetEqOpusDtxDelayFix.

Bug: webrtc:8488,chromium:780849
Change-Id: I006abb67f96d9d7880bf2215d7d6b52db6cbbfbc
Reviewed-on: https://webrtc-review.googlesource.com/44420
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21786}
2018-01-29 08:51:27 +00:00
Mirko Bonadei
65ce31158f Removing useless dependencies on //testing/gmock.
If a WebRTC build target requires gmock it has to include
test/gmock.h and just depend on //test:test_support.

Unfortunately //testtest_support was a leaky abstraction because it
wasn't propagating the correct -I compiler flag. To make everything
work, all the targets that use gmock started also to depend on
//testing/gmock (even if they were not including any gmock header
directly).

This CL makes //testtest_support propagate the include path up in the
dependency chain so it is possible to remove unused dependencies.

Note: all_dependent_configs should probably be used in the original
gmock target. There is an ongoing discussion about it. This CL solves
the problem on WebRTC side and it is forward compatible.

TBR=phoglund@webrtc.org

Bug: webrtc:8603
Change-Id: If08daf2ce9a6431a6e881a236743b4ec33b59ea7
Reviewed-on: https://webrtc-review.googlesource.com/44340
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21776}
2018-01-26 13:34:12 +00:00
Dan Minor
9c68613080 Update gn files to support Mozilla build
Bug: webrtc:8670
No-Presubmit: true
Change-Id: I085dc63daa8274b5068540cbf56b6330f40643fa
Reviewed-on: https://webrtc-review.googlesource.com/38920
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21624}
2018-01-16 07:51:23 +00:00
Per Kjellander
a7f2d84ad1 Revert "Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*"""
This reverts commit c73e1f4378.

Reason for revert: 
The problem with failed deps in chrome content/renderer had already been fixed in https://webrtc-review.googlesource.com/c/src/+/38660

Original change's description:
> Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*""
> 
> This reverts commit 588c548657.
> 
> Reason for revert: 
> 
> Breaks Chrome FYI:
> 
> /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
>   -> returned 1
> ERROR at //build/split_static_library.gni:12:5: Dependency not allowed.
>     static_library(target_name) {
>     ^----------------------------
> The item //content/renderer:renderer
> can not depend on //third_party/webrtc/media:rtc_internal_video_codecs
> because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [
>   //third_party/webrtc/*
>   //third_party/webrtc_overrides/*
> ]
> 
>  https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout
> 
> Original change's description:
> > GN rtc_* templates: Set default visibility to webrtc_root + "/*"
> > 
> > This means that by default, targets are visible to everything under
> > the WebRTC root, but not visible to anything else.
> > 
> > API targets are manually tagged with visibility "*", so that targets
> > outside the WebRTC tree can see them.
> > 
> > BUG=webrtc:8254
> > 
> > Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509
> > Reviewed-on: https://webrtc-review.googlesource.com/24140
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21548}
> 
> TBR=mbonadei@webrtc.org,kwiberg@webrtc.org
> 
> Change-Id: I06620ce3d6f67482935c22efa231dd6cab91625a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8254
> Reviewed-on: https://webrtc-review.googlesource.com/38760
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Per Kjellander <perkj@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21555}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org

Change-Id: I6f720078ce21bd172e0a6471bae8c4c011e4a657
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8254
Reviewed-on: https://webrtc-review.googlesource.com/38860
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21558}
2018-01-10 15:55:04 +00:00
Per Kjellander
c73e1f4378 Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*""
This reverts commit 588c548657.

Reason for revert: 

Breaks Chrome FYI:

/b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
  -> returned 1
ERROR at //build/split_static_library.gni:12:5: Dependency not allowed.
    static_library(target_name) {
    ^----------------------------
The item //content/renderer:renderer
can not depend on //third_party/webrtc/media:rtc_internal_video_codecs
because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [
  //third_party/webrtc/*
  //third_party/webrtc_overrides/*
]

 https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout

Original change's description:
> GN rtc_* templates: Set default visibility to webrtc_root + "/*"
> 
> This means that by default, targets are visible to everything under
> the WebRTC root, but not visible to anything else.
> 
> API targets are manually tagged with visibility "*", so that targets
> outside the WebRTC tree can see them.
> 
> BUG=webrtc:8254
> 
> Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509
> Reviewed-on: https://webrtc-review.googlesource.com/24140
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21548}

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

Change-Id: I06620ce3d6f67482935c22efa231dd6cab91625a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8254
Reviewed-on: https://webrtc-review.googlesource.com/38760
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21555}
2018-01-10 15:14:54 +00:00
Karl Wiberg
588c548657 GN rtc_* templates: Set default visibility to webrtc_root + "/*"
This means that by default, targets are visible to everything under
the WebRTC root, but not visible to anything else.

API targets are manually tagged with visibility "*", so that targets
outside the WebRTC tree can see them.

BUG=webrtc:8254

Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509
Reviewed-on: https://webrtc-review.googlesource.com/24140
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21548}
2018-01-10 13:08:11 +00:00
Mirko Bonadei
81ca3bfb18 Including rtc_base/flags.h after test/gtest.h.
Bug: None
Change-Id: Ic3c0db875902d006935e39139d58dfb842c7a2d6
Reviewed-on: https://webrtc-review.googlesource.com/38180
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21527}
2018-01-09 10:00:33 +00:00
Edward Lemur
e66572bede Reland "iOS: Save perf results under Documents/perf_result.json"
This will require a manual roll to downstream projects, since
the //test:perf_test target was introduced.

This is a reland of 10a8e7a9b5
Original change's description:
> iOS: Save perf results under Documents/perf_result.json
>
> TBR=henrika@webrtc.org
>
> Bug: webrtc:7156
> Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5
> Reviewed-on: https://webrtc-review.googlesource.com/29202
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21244}

R=henrika@webrtc.org, phoglund@webrtc.org

Bug: webrtc:7156
Change-Id: I85fc7bc5fce0894af90017b71b9952b61b523424
Reviewed-on: https://webrtc-review.googlesource.com/37643
Reviewed-by: Patrik Höglund <phoglund@google.com>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21518}
2018-01-08 14:12:42 +00:00
Patrik Höglund
b960e4193e Add missing files to audio_coding
Bug: webrtc:7650
Change-Id: I8d7d8c3998799404ec6283896883d195468cdfdc
Reviewed-on: https://webrtc-review.googlesource.com/37622
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21502}
2018-01-05 14:03:09 +00:00
Patrik Höglund
731082ce7e Reland: Add mock_rtc_event_log.h.
Bug: webrtc:7642
Change-Id: I3f97a8b603e34819e1563b335c1eeb51f89b11ac
Reviewed-on: https://webrtc-review.googlesource.com/37081
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21480}
2018-01-03 08:37:12 +00:00
Edward Lemur
5a25ab298d Revert "Add mock_rtc_event_log.h."
This reverts commit 63aea46a6e.

Reason for revert: 
Breaks Chromium build:
https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2Fios-simulator%2F6721%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files__mb_%2F0%2Fstdout

ERROR at //third_party/webrtc/logging/BUILD.gn:295:5: Can't load input file.
    "../../test:test_support",
    ^------------------------
Unable to load:
  /b/build/slave/mac64/build/src/third_party/test/BUILD.gn
I also checked in the secondary tree for:
  /b/build/slave/mac64/build/src/build/secondary/third_party/test/BUILD.gn

Maybe this should be guarded by an "if (!build_with_chromium)"?

Original change's description:
> Add mock_rtc_event_log.h.
> 
> Bug: webrtc:7642
> Change-Id: Id3aa84d79e5e1a0520a968117cee550c9dd33c16
> Reviewed-on: https://webrtc-review.googlesource.com/37040
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21475}

TBR=phoglund@webrtc.org,mbonadei@webrtc.org

Change-Id: Ib49c7812261c46226ec0b7b3c99af2c3a8b78add
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7642
Reviewed-on: https://webrtc-review.googlesource.com/36981
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21477}
2018-01-02 18:26:52 +00:00
Patrik Höglund
63aea46a6e Add mock_rtc_event_log.h.
Bug: webrtc:7642
Change-Id: Id3aa84d79e5e1a0520a968117cee550c9dd33c16
Reviewed-on: https://webrtc-review.googlesource.com/37040
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21475}
2018-01-02 18:11:10 +00:00
Patrik Höglund
91fedfbedf Add missing iSAC headers.
Bug: webrtc:7619
Change-Id: I08df7774ca7e333e84bb5ca97805181f375af942
Reviewed-on: https://webrtc-review.googlesource.com/34647
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21467}
2018-01-02 13:01:11 +00:00
Oleh Prypin
fd7df98826 Fix sign-compare warnings on win_clang
that appear after clang roll at https://webrtc-review.googlesource.com/35741

Bug: None
Change-Id: I31193491f167e21277b9266b4331ea9212fddcbe
Reviewed-on: https://webrtc-review.googlesource.com/35783
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21421}
2017-12-22 08:59:23 +00:00
Joachim Bauch
4e90919ad6 Use generic MessageDigest class instead of MD5 / SHA-1 specific classes.
This allows removing the specific classes in a later CL.

Bug: webrtc:8677
Change-Id: I3b9c1f3191c38e6d31a3de990e2d882505e79adc
Reviewed-on: https://webrtc-review.googlesource.com/35040
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Joachim Bauch <jbauch@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21412}
2017-12-21 12:39:50 +00:00
Patrik Höglund
3e113438b1 Fix circular dependencies in webrtc_common.
One reason for the circular deps is that common_types.h is a
historical dumping ground for various structs and defines that
are believed to be generally useful. I tried moving things out
that did not appear to be used downstream (StreamCounters,
RtpCounters etc) and moved the things that seemed used
(RtpHeader + supporting structs) to a new file api/rtp_headers.h.
This makes their place in the api more clear while moving out
the things that don't belong in the API in the first place.

I had to extract out typedefs.h from webrtc_common to resolve
another circular dependency. I believe checks includes typedefs,
but common depends on checks.

Bug: webrtc:7745
Change-Id: I725d49616b1ec0cdc8b74be7c078f7a4d46f084b
Reviewed-on: https://webrtc-review.googlesource.com/33001
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21295}
2017-12-15 14:33:26 +00:00