Commit graph

203 commits

Author SHA1 Message Date
Jakob Ivarsson
e0f08a325a Add SSRC filter and NetEq accessor to NetEq simulator.
Bug: None
Change-Id: I6b3f9c564199d75adf5830a7d0f58aeb50674c39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/345440
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42002}
2024-04-05 10:02:38 +00:00
Joachim Reiersen
5075cb4a60 Expose AudioLevel as an absl::optional struct in api/rtp_headers.h
Start migrating away from `hasAudioLevel`, `voiceActivity`, `audioLevel` fields in RTPHeaderExtension and switch usages to a more modern absl::optional<AudioLevel> accessor instead.

The old fields are preserved for compatibility with downstream projects, but will be removed in the future.

Bug: webrtc:15788
Change-Id: I76599124fd68dd4d449f850df3b9814d6a002f5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/336303
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41947}
2024-03-22 10:07:47 +00:00
Jakob Ivarsson
5ff04d1b60 Avoid zero duration packets in NetEq test with replacement audio.
Fixes a crash when the timestamp difference between two packets is zero,
which can happen due to probing for example.

Bug: none
Change-Id: If04dfaed0b10aecd7b1a1e5487161c2d82ad9e44
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/338020
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <hlundin@google.com>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41669}
2024-02-05 14:48:25 +00:00
Michael Klingbeil
9a9b462e16 Add Opus FEC options to rtp_encode tool
Bug: None
Change-Id: I7be70951c20069207963b0fa43564c4008eda870
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318220
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40668}
2023-08-31 06:11:46 +00:00
Jakob Ivarsson
2bd878180a Add delayed packet outage event metric.
Can be used to calculate the average delayed packet outage duration and
number of packet loss events by subtracting from concealment events.

Only used in simulations currently.

Bug: None
Change-Id: I03740a2bcb781af09e28a4d13d9e41c0f84bc506
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/303600
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39957}
2023-04-26 13:40:17 +00:00
Jakob Ivarsson
ecdedac3da Remove NetEq simulation step size restriction.
This should not be relevant anymore and is causing some issues due to
SetMinimumDelay events early in the log.

Bug: None
Change-Id: Ib7e3c624608c9bceaed31bd6669db59887d24659
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/303580
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39956}
2023-04-26 13:07:12 +00:00
Jared Siskin
c018bae807 Format /modules
git ls-files | grep -e  "\(\.h\|\.cc\)$" | grep -e  "^modules/" | xargs clang-format -i ; git cl format
after landing: add to .git-blame-ignore-revs

Bug: webrtc:15082
Change-Id: I2c3cd28740062794f8c10e39d8406aadb9e9a35a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301620
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Jared Siskin <jtsiskin@meta.com>
Cr-Commit-Position: refs/heads/main@{#39901}
2023-04-20 02:02:45 +00:00
Jakob Ivarsson
51cd709d11 Refactor NetEq fake decode from file.
More or less bit-exact, only difference is that we don't seek in the
input file before returning silence for DTX packets.

Bug: webrtc:13322
Change-Id: I147b70d4a0f2c78719c9673b55df6617e064bd61
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301104
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39851}
2023-04-13 14:48:41 +00:00
Jakob Ivarsson
d5ebc33562 Refactor NetEq rtp dump input.
NetEq packet source input doesn't have any other uses than rtp dump,
so remove that layer.

Bug: None
Change-Id: I667bb4aead9f0f2fe8a1c0d6d911a4670ded67e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300542
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39810}
2023-04-11 14:32:35 +00:00
Jakob Ivarsson
27d70f3133 Refactor NetEq test event log input.
Remove duplicate implementions and complex inheritance.

Slight change to the event log visualizer NetEq simulations to only
include time after the first packet has been received.

Bug: None
Change-Id: I8a7bd3d4d2b601fc134292554476020f9b3eee92
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300300
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39773}
2023-04-05 23:22:36 +00:00
Björn Terelius
2b742f7eaa Revert "Unifying the handling of the events in NetEqInput."
This reverts commit d93b7b91e0.

Reason for revert: Breaks downstream tests

Original change's description:
> Unifying the handling of the events in NetEqInput.
>
> Bug: webrtc:14763
> Change-Id: I9615a9ce41c9b577c4ebd4cdcc9885bfbc5dac48
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293040
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39706}

Bug: webrtc:14763
Change-Id: If076c8fc59a38f011dfa20829f2dd91dd2f914b2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299420
Owners-Override: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#39711}
2023-03-29 08:01:46 +00:00
Jesús de Vicente Peña
d93b7b91e0 Unifying the handling of the events in NetEqInput.
Bug: webrtc:14763
Change-Id: I9615a9ce41c9b577c4ebd4cdcc9885bfbc5dac48
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293040
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39706}
2023-03-28 15:53:09 +00:00
Jesús de Vicente Peña
d234cef304 Handling NetEqSetMinimumDelay events in neteq_rtpplay.
Bug: webrtc:14763
Change-Id: I81a832209249468f8cec682b13bd025a1cec47b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291322
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Lionel Koenig <lionelk@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39280}
2023-02-09 09:39:29 +00:00
Henrik Lundin
84f75699c6 Break apart AudioCodingModule and AcmReceiver
This change makes AudioCodingModule a pure sender and AcmReceiver a pure
receiver.

The Config struct is in practice no longer used by AudioCodingModule,
so a new definition is included in AcmReceiver. The old definition
remains in AudioCodingModule while downstream clients are being
updated.

Bug: webrtc:14867
Change-Id: If0d0b4214c5aa278cf6c85c5b62c6da644de20e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291533
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39244}
2023-02-01 16:09:26 +00:00
Evan Shrubsole
c3891e3a4e [Unwrap] Migrate NetEqDelayAnalyzer to use RtpTimestampUnwrapper
Bug: webrtc:13982
Change-Id: I35c08921c8c1be31f0de4bd81f918250bee25313
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288961
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39052}
2023-01-10 09:53:17 +00:00
Jesús de Vicente Peña
01cac31d58 Fixes for the neteq_test clock.
The problem occurs when more than one call is made to the method RunToNextGetAudio. Except for the first call to that method, the clock was not properly updated on the first iteration of the inner loop in RunToNextGetAudio.

Pair: lionelk@webrtc.org

Bug: webrtc:14735
Change-Id: If6fb5c2c700b0f715f626fedf95672a56b04ab12
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/285942
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38843}
2022-12-08 10:13:00 +00:00
Lionel Koenig
a8c300e36f neteq: Add legend in test plot tools
Add a legend when on the python plots generated with neteq_rtpplay.


Bug: None
Change-Id: I4299858bb9e8e59564c824c99272e4fabc610162
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/286840
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Lionel Koenig <lionelk@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38838}
2022-12-07 15:28:00 +00:00
Alessio Bazzica
0c56aef5d5 Remove iSAC from NetEQ tests
Bug: webrtc:14450, chromium:1387892
Change-Id: I44e1ff1a5dd717072a0e8f6afa6e53e96920ea2a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/284460
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38708}
2022-11-22 11:41:00 +00:00
Alessio Bazzica
17887eb04a Reland "[ACM] iSAC audio codec removed"
This is a reland of commit b46c4bf27b

Original change's description:
> [ACM] iSAC audio codec removed
>
> Note: this CL has to leave behind one part of iSAC, which is its VAD
> currently used by AGC1 in APM. The target visibility has been
> restricted and the VAD will be removed together with AGC1 when the
> time comes.
>
> Tested: see https://chromium-review.googlesource.com/c/chromium/src/+/4013319
>
> Bug: webrtc:14450
> Change-Id: I69cc518b16280eae62a1f1977cdbfa24c08cf5f9
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/282421
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38652}

Bug: webrtc:14450
Change-Id: Ia22c4d7724b6022238235fede93e36e570a49376
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283843
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38665}
2022-11-17 12:52:35 +00:00
Alessio Bazzica
fbeb76ab51 Revert "[ACM] iSAC audio codec removed"
This reverts commit b46c4bf27b.

Reason for revert: breaks a downstream project

Original change's description:
> [ACM] iSAC audio codec removed
>
> Note: this CL has to leave behind one part of iSAC, which is its VAD
> currently used by AGC1 in APM. The target visibility has been
> restricted and the VAD will be removed together with AGC1 when the
> time comes.
>
> Tested: see https://chromium-review.googlesource.com/c/chromium/src/+/4013319
>
> Bug: webrtc:14450
> Change-Id: I69cc518b16280eae62a1f1977cdbfa24c08cf5f9
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/282421
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38652}

Bug: webrtc:14450
Change-Id: Ice138004e84e8c5f896684e8d01133d4b2a77bb7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283800
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Owners-Override: Mirko Bonadei <mbonadei@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#38655}
2022-11-16 20:40:52 +00:00
Alessio Bazzica
b46c4bf27b [ACM] iSAC audio codec removed
Note: this CL has to leave behind one part of iSAC, which is its VAD
currently used by AGC1 in APM. The target visibility has been
restricted and the VAD will be removed together with AGC1 when the
time comes.

Tested: see https://chromium-review.googlesource.com/c/chromium/src/+/4013319

Bug: webrtc:14450
Change-Id: I69cc518b16280eae62a1f1977cdbfa24c08cf5f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/282421
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38652}
2022-11-16 16:42:55 +00:00
Mirko Bonadei
84fcc269f6 Make it easier to specify in/out files for neteq_quality_test.
Bug: b/251155608
Change-Id: I174351d76a83de651f5ef025606712333a83cf52
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278786
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38358}
2022-10-11 21:10:11 +00:00
Ali Tofigh
714e3cbb48 Adopt absl::string_view in modules/audio_coding/
Bug: webrtc:13579
Change-Id: Ifec66fb6ba9724d18539de7245a358c2d13c7939
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268547
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37573}
2022-07-20 13:34:23 +00:00
Niels Möller
105711e9ad Move rtc::make_ref_counted to api/
Bug: webrtc:12701
Change-Id: If49095b101c1a1763c2a44a0284c0d670cce953f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265390
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37219}
2022-06-15 09:47:38 +00:00
Jakob Ivarsson
664e30ff57 Remove redundant LastDecodedTimestamps.
The same information can be found in `AudioFrame.packet_infos_`.

Bug: none
Change-Id: Ib63bc41ffb896677a445d875afce0a98acea6999
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265161
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37153}
2022-06-08 13:31:52 +00:00
Jakob Ivarsson
1a5a81340d Rename discarded_primary_packets to packets_discarded.
This it what it is called in the spec:
https://w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-packetsdiscarded

Also log the metric in neteq_rtpplay.

Bug: webrtc:8199
Change-Id: Ie0262d17b913eb6949daa703844d90327eee0aa4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263725
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37063}
2022-05-31 13:24:24 +00:00
Sarah Pham
e9c3f0158c Add support for stand-alone Fuchsia build.
When target_os is set to "fuchsia":
BUILD: suppress Wundef flag
DEPS: download the Fuchsia SDK
audio_encoding: add header include
video_capture: video_capture_factory is not yet implemented for Fuchsia
so we add a null capture factory when building for Fuchsia.

Bug: webrtc:14061
Change-Id: Id6ca7418859c85293a0a5e2a8427807ee039db2c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262200
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37030}
2022-05-30 09:24:43 +00:00
Jakob Ivarsson
a9f10c8189 Make fake decode from file produce 10 ms comfort noise frames.
This is to more accurately simulate Opus CNG.

Bug: None
Change-Id: I3244d88e1f7410190551b6fa24cdd08599b5771e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262661
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36913}
2022-05-17 13:11:34 +00:00
Jakob Ivarsson
098c4ea2ca Add generated comfort noise counter.
Currently only implemented for codec internal CNG (Opus).

Bug: webrtc:13322
Change-Id: I00622f2967f066dba64a792e26081038ae0cb0d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259200
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36590}
2022-04-20 14:25:03 +00:00
Ali Tofigh
fd6a4d6e2a Adopt absl::string_view in rtc_base/string_encode.*
Bug: webrtc:13579
Change-Id: If52108d151a12bde0e8d552ce7940948c08cef3a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256812
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36424}
2022-04-04 12:30:56 +00:00
Ali Tofigh
62238097c9 Remove top-level const from parameters in function declarations.
This is a safe cleanup change since top-level const applied to
parameters in function declarations (that are not also
definitions) are ignored by the compiler. Hence, such changes do
not change the type of the declared functions and are simply
no-ops.

Bug: webrtc:13610
Change-Id: Ibafb92c45119a6d8bdb6f9109aa8dad6385163a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249086
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35802}
2022-01-26 11:05:25 +00:00
Byoungchan Lee
604fd2f1ab Remove RTC_DISALLOW_COPY_AND_ASSIGN from modules/
Bug: webrtc:13555, webrtc:13082
Change-Id: I2c2cbcbd918f0cfa970c1a964893220ba11d4b41
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247960
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: (Daniel.L) Byoungchan Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#35771}
2022-01-24 11:50:20 +00:00
Artem Titov
d3251968d1 Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED
Add implementation of RTC_DCHECK_NOTREACHED equal to the RTC_NOTREACHED.
The new macros will replace the old one when old one's usage will be
removed. The idea of the renaming to provide a clear signal that this
is debug build only macros and will be stripped in the production build.

Bug: webrtc:9065
Change-Id: I4c35d8b03e74a4b3fd1ae75dba2f9c05643101db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237802
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35348}
2021-11-15 21:44:59 +00:00
Jakob Ivarsson
4a97d7281f Remove NetEq extra delay option.
Bug: b/156734419
Change-Id: I787e6961ad283990d633029c0cf296e10b825875
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237403
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35326}
2021-11-09 17:25:46 +00:00
Danil Chapovalov
5ce7d14f81 Delete legacy rtp header parser as no longer used
Bug: None
Change-Id: I3c532eee7f2d9e5295874dd538730625c8d423ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227086
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Minyue Li <minyue@google.com>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34676}
2021-08-09 12:14:52 +00:00
Artem Titov
d00ce747c7 Use backticks not vertical bars to denote variables in comments for /modules/audio_coding
Bug: webrtc:12338
Change-Id: I02613d9fca45d00e2477f334b7a0416e7912e26b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227037
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34621}
2021-08-02 10:45:40 +00:00
Mirko Bonadei
190244bb59 Remove all #include <assert.h>/<cassert> and usage in Obj-C code.
This CL completes the removal of assert() and relative headers from
the codebase (excluded
//examples/objc/AppRTCMobile/third_party/SocketRocket which is in a
third_party sub-directory).

Bug: webrtc:6779
Change-Id: I93ed57168d2c0e011626873d66529488c5f484f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225546
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34528}
2021-07-22 14:00:26 +00:00
Mirko Bonadei
25ab3228f3 Replace assert() with RTC_DCHECK().
CL partially auto-generated with:

git grep -l "\bassert(" | grep "\.[c|h]" | \
  xargs sed -i 's/\bassert(/RTC_DCHECK(/g'

And with:

git grep -l "RTC_DCHECK(false)" |  \
  xargs sed -i 's/RTC_DCHECK(false)/RTC_NOTREACHED()/g'

With some manual changes to include "rtc_base/checks.h" where
needed.

A follow-up CL will remove assert() from Obj-C code as well
and remove the #include of <assert.h>.

The choice to replace with RTC_DCHECK is because assert()
is because RTC_DCHECK has similar behavior as assert()
based on NDEBUG.

This CL also contains manual changes to switch from
basic RTC_DCHECK to other (preferred) versions like
RTC_DCHECK_GT (and similar).

Bug: webrtc:6779
Change-Id: I00bed8886e03d685a2f42324e34aef2c9b7a63b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224846
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34442}
2021-07-09 07:49:43 +00:00
Danil Chapovalov
b4100ad06a Avoid using legacy rtp parser in neteq test::Packet
Bug: None
Change-Id: I9184954d9c99f0a34ae335d03843171864071e5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222648
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34316}
2021-06-17 08:38:14 +00:00
Tommi
3cc68ec32e Report stats from ChannelReceive::GetAudioFrameWithInfo at 1Hz.
This is a change from the previous 100Hz frequency.
Also changing the  locks slightly in AcmReceiver so that grabbing the
neteq lock right after we've let it go, isn't necessary inside of
AcmReceiver::GetAudio and also to avoid grabbing the neteq lock while
holding the AcmReceiver lock.

Bug: webrtc:12868
Change-Id: If6ee35f3dca20eb5bdbc615123aa099ccecf57c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221371
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34258}
2021-06-09 18:41:47 +00:00
Tommi
87f7090fd9 Replace more instances of rtc::RefCountedObject with make_ref_counted.
This is essentially replacing `new rtc::RefCountedObject` with
`rtc::make_ref_counted` in many files. In a couple of places I
made minor tweaks to make things compile such as adding parenthesis
when they were missing.

Bug: webrtc:12701
Change-Id: I3828dbf3ee0eb0232f3a47067474484ac2f4aed2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215973
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33852}
2021-04-27 17:01:59 +00:00
Mirko Bonadei
5686e3457e Optimize calls to std::string::find() and friends for a single char.
The character literal overload is more efficient.

No-Presubmit: True
No-Try: True
Bug: None
Change-Id: Ice0b8478accd8a252ab81a0496d46c0f71db3db6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197810
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32841}
2020-12-16 09:01:44 +00:00
Mirko Bonadei
01719fbeb5 Reland "Rename FATAL() into RTC_FATAL()."
This is a reland of 9653d26f8e

Original change's description:
> Rename FATAL() into RTC_FATAL().
>
> No-Try: True
> Bug: webrtc:8454
> Change-Id: I9130487a92463a2128cf1493e6c5117b2fab313a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193703
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32620}

No-Try: True
Bug: webrtc:8454
Change-Id: Idb80125ac31ea307d1434bc9a65f148ac2017a3c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193864
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32635}
2020-11-18 20:49:08 +00:00
Mirko Bonadei
a4fd641f51 Revert "Rename FATAL() into RTC_FATAL()."
This reverts commit 9653d26f8e.

Reason for revert: Breaks downstream project.

Original change's description:
> Rename FATAL() into RTC_FATAL().
>
> No-Try: True
> Bug: webrtc:8454
> Change-Id: I9130487a92463a2128cf1493e6c5117b2fab313a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193703
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32620}

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

Change-Id: I0ad01bcac60c87b30bd4575a9d631e7dd8f34992
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8454
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193863
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32627}
2020-11-18 07:03:54 +00:00
Mirko Bonadei
9653d26f8e Rename FATAL() into RTC_FATAL().
No-Try: True
Bug: webrtc:8454
Change-Id: I9130487a92463a2128cf1493e6c5117b2fab313a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193703
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32620}
2020-11-17 16:12:40 +00:00
Ivo Creusen
b9b74569df Reset NetEq simulation step time if a large gap is detected.
Large gaps can cause issues in NetEq simulations, so the simulation is
ended whenever we encounter one. However, the time span of the gap is
still included in the simulation time, leading to incorrect results.

Bug: webrtc:10337
Change-Id: I94a1a0b46259e3718b1b73522a3886a17bedbb7d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190287
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32514}
2020-10-28 16:24:41 +00:00
Niels Möller
4461f059d1 Delete unused NetEq stats currentPacketLossRate, currentDiscardRate and addedSamples
Bug: webrtc:11622
Change-Id: I097bb7284d952ada41f4f38dd7adf3536bd040ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183620
Reviewed-by: Minyue Li <minyue@google.com>
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@{#32148}
2020-09-21 12:19:16 +00:00
Ivo Creusen
876a3dc88a Fix for NetEq simulations containing large gaps and multiple SSRCs.
This CL fixes 2 issues that affect NetEq simulations.
- When using event logs with multiple SSRCs, it does not make sense to
  use more than a single SSRC. If the user does not provide an SSRC
  filter, we should use the first SSRC we find and no others.
- It is possible for event logs to have a gap in the middle, and
  sometimes we don't store/mark the gap properly. If is possible to
  detect gaps by looking at the wallclock time delta between getAudio
  events. These should be 10 ms nominally, so values greater than 1000
  should never happen and indicate an error.

Bug: webrtc:11855
Change-Id: Idc3b8a7902be4159da48b063ef5c5c82fd484071
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181940
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31960}
2020-08-19 09:11:10 +00:00
Ivo Creusen
9030994e91 Update default max nr of packets to 200.
In production code, the maximum number of packets is by default set to
200, so we should adopt the same behavior in tests.

Bug: None
Change-Id: I415790b7cd9fb170ea7ac94685cc6bbe14efac4d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178744
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31646}
2020-07-07 13:07:26 +00:00
Henrik Lundin
c49e9c253f Adding a delay line to NetEq's output
This change adds an optional delay to NetEq's output. Note, this is not
equivalent to increasing the jitter buffer with the same extra length.

Bug: b/156734419
Change-Id: I8b70b6b3bffcfd3da296ccf29853864baa03d6bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175110
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31343}
2020-05-25 12:03:39 +00:00