1000 Commits

Author SHA1 Message Date
Takuto Ikuta
5c5bb5b099 add missing includes for the build with use_libcxx_modules
This is to fix build error when we set use_libcxx_modules=true in
chromium build.

Bug: chromium:40440396
Change-Id: Iad165a78a6920ccb858567d31fbe5e48d8a7b629
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/371620
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Auto-Submit: Takuto Ikuta <tikuta@google.com>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43574}
2024-12-16 01:47:31 -08:00
Takuto Ikuta
000f04375b add missing includes for the build with use_libcxx_modules
This is to fix build error when we set use_libcxx_modules=true in
chromium build.

Bug: chromium:40440396
Change-Id: I5ab1cfcc0d060021892aae0e5ff3f0b647ae4266
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370860
Commit-Queue: Takuto Ikuta <tikuta@google.com>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Auto-Submit: Takuto Ikuta <tikuta@google.com>
Cr-Commit-Position: refs/heads/main@{#43541}
2024-12-11 17:32:19 -08:00
Björn Terelius
711e1a8beb Create a custom test launcher for android
Set use_default_launcher=false in rtc_test on android

Bug: webrtc:42223878
Change-Id: If05da40b420d5da8f9e0f39560eb07380ebada14
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368921
Owners-Override: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43505}
2024-12-06 09:30:37 +00:00
Jakob Ivarsson
ff88950833 Reland "Add InsertPacket method that takes RtpPacketInfo."
This is a reland of commit 38ddea5ee3320bf3441aeb3654e099b3695c9789

Original change's description:
> Add InsertPacket method that takes RtpPacketInfo.
>
> The version which only passes receive_time will be removed (once migrated).
> Keeping the version that only passes header and payload for convenience.
>
> This will allow us to attach more metadata on the worker thread before InsertPacket, instead of on the playout thread after GetAudio. Eventually, the plan is to split the RTP handling on the worker thread into a separate class.
>
> Bug: webrtc:42223109
> Change-Id: I5399b53b9fc5c2f1c996e109054b1b0877ecca05
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/369000
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#43445}

Bug: webrtc:42223109
Change-Id: I97d1d3d390e6d3de8bf9355b895ec336339d079f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/369260
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43454}
2024-11-26 09:42:11 +00:00
Jakob Ivarsson‎
a08189b948 Revert "Add InsertPacket method that takes RtpPacketInfo."
This reverts commit 38ddea5ee3320bf3441aeb3654e099b3695c9789.

Reason for revert: not backwards compatible

Original change's description:
> Add InsertPacket method that takes RtpPacketInfo.
>
> The version which only passes receive_time will be removed (once migrated).
> Keeping the version that only passes header and payload for convenience.
>
> This will allow us to attach more metadata on the worker thread before InsertPacket, instead of on the playout thread after GetAudio. Eventually, the plan is to split the RTP handling on the worker thread into a separate class.
>
> Bug: webrtc:42223109
> Change-Id: I5399b53b9fc5c2f1c996e109054b1b0877ecca05
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/369000
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#43445}

Bug: webrtc:42223109
Change-Id: Ie7cf397cfbe5dedca009f16e5e9e3af40adbe99b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/369200
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43450}
2024-11-25 15:25:10 +00:00
Jakob Ivarsson
38ddea5ee3 Add InsertPacket method that takes RtpPacketInfo.
The version which only passes receive_time will be removed (once migrated).
Keeping the version that only passes header and payload for convenience.

This will allow us to attach more metadata on the worker thread before InsertPacket, instead of on the playout thread after GetAudio. Eventually, the plan is to split the RTP handling on the worker thread into a separate class.

Bug: webrtc:42223109
Change-Id: I5399b53b9fc5c2f1c996e109054b1b0877ecca05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/369000
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43445}
2024-11-22 17:01:01 +00:00
Alessio Bazzica
cd013b1d59 Opus decoder: stereo decoding by default (behind field trial)
- Add `WebRTC-Audio-OpusDecodeStereoByDefault` field trial
- Behind that field trial, `AudioDecoderOpus::SdpToConfig` uses 2
  instead of 1 as default number of channels when the `stereo` codec
  param is unspecified
- Instead of wiring up `FieldTrialsView` to `SdpToConfig`, which
  requires API changes that break downstream projects, a change in
  `AudioDecoderOpus::Config` is made to signal when the number of
  channels is forced via SDP config

Bug: webrtc:379996136
Change-Id: If70eb19bc7e3bc74dd0423610cb04ae33ea602fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368860
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43440}
2024-11-22 07:37:10 +00:00
Alessio Bazzica
4c9dbd508d Remove/update TODOs assigned to alessiob
Bug: webrtc:379542219
Change-Id: I1da54a9a13187d9e7d836dd4e1a85e49b685d971
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368540
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43420}
2024-11-18 21:06:18 +00:00
Alessio Bazzica
ebb11c4c87 With stereo decoding and mono packets produce mono after CN/PLC
The workaround in https://webrtc-review.googlesource.com/c/src/+/367740
is incomplete because it does not fix the issue for the first decoded
mono packet after CN/PLC. This CL extends the workaround to such a case
and adds a unit test for it.

Note: it was verified that the 2nd packet after CN/PLC is trivial
stereo.

Credits: jakobi@webrtc.org for raising the concern

Bug: webrtc:376493209
Change-Id: Ide27e411781693f14629cf9db8b6c0c0fc762a17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/368160
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43393}
2024-11-13 14:47:29 +00:00
Alessio Bazzica
c7824dba06 With stereo decoding and mono packets produce mono DTX/concealment
Adding a temporary workaround in the WebRTC Opus decoder wrapper to fix
https://issues.webrtc.org/376493209. Once the issue is fixed in libopus,
the workaround must be removed (TODO added in the code).

The workaround keeps track of the number of channels for the last
decoded packet and, if the decoder operates in stereo mode and the last
packet was a mono one, the left channel is copied into the right one
when comfort noise / PLC audio is generated.

Bug: webrtc:376493209
Change-Id: Iad3bfb1b393bd68833decf51b69b5238cb0ec4b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367740
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43371}
2024-11-07 16:11:32 +00:00
Alessio Bazzica
a287ffa681 Add unit tests for AudioDecoderOpusImpl for stereo
- With mono encoding and stereo decoding check that the decoded
  signal is trivial stereo
- DTX tests
  - With mono encoding and stereo decoding check that the comfort
    noise generated by Opus is NOT(*) trivially stereo
  - With stereo encoding and stereo decoding check that the comfort
    noise generated by Opus is not trivially stereo

*: the test shows the behavior described in [1] and that needs to
be fixed.

[1] https://issues.webrtc.org/376493209

Bug: webrtc:376493209
Change-Id: I34aacd4bd7c79be9df05c242e912c9981896a73d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367206
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43363}
2024-11-06 15:00:04 +00:00
Alessio Bazzica
db40c1cd5f Opus wrapper: remove misleading comment
- WebRTC does use the libopus DTX implementation
- The removed detail is anyways irrelevant in a docstring

Bug: webrtc:376493209
Change-Id: I3dfe1521259e596dbfa0db97f91ffb75deeb16b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/367200
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43344}
2024-11-01 07:56:18 +00:00
Dor Hen
c118881416 Comment unused variables in implemented functions 12\n
Bug: webrtc:370878648
Change-Id: Ia9b1db4f6c393a016c3769cd57c540704e9ca4f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366526
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Dor Hen <dorhen@meta.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43329}
2024-10-29 17:26:38 +00:00
Dor Hen
a154b73097 Comment unused variables in implemented functions 11\n
Bug: webrtc:370878648
Change-Id: Ic31d7744cc8516e4c014bc044fbe2dba9e4d835b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366525
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Dor Hen <dorhen@meta.com>
Cr-Commit-Position: refs/heads/main@{#43328}
2024-10-29 17:25:36 +00:00
Alessio Bazzica
4a482a2160 Add TODO in the Opus encoder where the application param is set
Bug: webrtc:376071290
Change-Id: Idd9017435bab9f8b53771c0dd642fd4ce3db048e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366981
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43323}
2024-10-29 13:58:21 +00:00
Alessio Bazzica
e8c8218f1b Clean-up iLBC nits
Bug: webrtc:372395680
Change-Id: Ic33295bdc6e14abe35404dd969d5d51008e698f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366602
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43322}
2024-10-29 12:40:33 +00:00
Takuto Ikuta
337f6f2f93 remove proto_data_sources usages
Indirect input deps for imported proto is now handled by deps in
proto_library template, so we don't need to use proto_data_sources
anymore after https://crrev.com/c/5919027.

To remove proto_data_sources from proto_library template, let me clean
up proto_data_sources usages from this repository.

Bug: chromium:366137880
Change-Id: I288a30004f7d622be502477a0567b00d19432e89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366060
Auto-Submit: Takuto Ikuta <tikuta@google.com>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43261}
2024-10-18 08:50:11 +00:00
Alessio Bazzica
01a9264959 Remove the iLBC audio codec
Bug: webrtc:372395680
Change-Id: I228777281a26ada5336aefc9168b2537e029aca3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365101
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43234}
2024-10-14 12:13:31 +00:00
Jakob Ivarsson
b507daf411 Refactor NetEq delay constraint logic.
This makes the delay manager interface significantly simpler and easier to expose.

Bug: None
Change-Id: Ie3d37c3b869eb17ca421a76e9d1af8f0a1a36ee5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364781
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43186}
2024-10-07 15:23:43 +00:00
Dor Hen
f653f476f0 Remove unused parameters from "WebRtcSpl_FilterAR"
Bug: webrtc:370878648
Change-Id: Ia7c9046a7c0f415e1f28df9610f818af402e055f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364503
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43158}
2024-10-03 10:37:49 +00:00
Henrik Lundin
7dd164df7f Reland "Delete AcmReceiver"
This is a reland of commit 0d3dcc499767166b32a941abc9563e259ce1770f.

Downstream problems were resolved.

Original change's description:
> Delete AcmReceiver
>
> The code now uses NetEq directly instead of AcmReceiver.
>
> Bug: webrtc:14867
> Change-Id: I11c7e2ca00060ab15bba5ec67dfd92ec413196f6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364140
> Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
> Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#43108}

Bug: webrtc:14867
Change-Id: Ic8d5c5ca62692fbc7caeaa76bf2e8c9c860b3ac5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364480
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43143}
2024-10-02 13:35:03 +00:00
Jakob Ivarsson
09c043a4bb Start counting NetEq stats after first packet is decoded.
A slight behavior change is that we only increment total samples received when GetAudio is successful.

Bug: webrtc:370424996
Change-Id: I8607418c179ca3bc22963b98792a9e8b9af2d451
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364220
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43139}
2024-10-02 10:50:30 +00:00
Henrik Lundin
0a281e2c1a Revert "Delete AcmReceiver"
This reverts commit 0d3dcc499767166b32a941abc9563e259ce1770f.

Reason for revert: Potentially causing downstream issues. Revert and investigate.

Original change's description:
> Delete AcmReceiver
>
> The code now uses NetEq directly instead of AcmReceiver.
>
> Bug: webrtc:14867
> Change-Id: I11c7e2ca00060ab15bba5ec67dfd92ec413196f6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364140
> Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
> Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#43108}

Bug: webrtc:14867
Change-Id: Icf82d9d8148d219563a1a7edd472b28349599e31
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364261
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Auto-Submit: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#43111}
2024-09-30 17:28:32 +00:00
Henrik Lundin
0d3dcc4997 Delete AcmReceiver
The code now uses NetEq directly instead of AcmReceiver.

Bug: webrtc:14867
Change-Id: I11c7e2ca00060ab15bba5ec67dfd92ec413196f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364140
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43108}
2024-09-30 14:08:45 +00:00
Jakob Ivarsson
a6e555648e Move expand uma logger into statistics calculator.
Bug: webrtc:370424996
Change-Id: I525758eaa5430a4d1cf63cfd663de0079e7d3d68
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364100
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43106}
2024-09-30 12:52:39 +00:00
Mirko Bonadei
39a22380a3 Remove default_neteq_factory.h backwards compatible header.
Bug: None
Change-Id: I5935ce49d584ee03bbb8118edfc0abf46c9728e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363943
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43103}
2024-09-30 07:24:35 +00:00
Henrik Lundin
1131c26b25 Move default_neteq_factory to api/neteq and make it publicly visible
Bug: webrtc:14867
Change-Id: I30eefba754a3aae28ffa761f706f5655a2de657d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363860
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43092}
2024-09-27 08:34:56 +00:00
Mirko Bonadei
a8829eb5f3 macro cleanup: "(const override)" -> "(const, override)"
Bug: None
Change-Id: Iffd5db39b1a5ae70b403193b40054df04cf5600b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362800
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43065}
2024-09-22 18:30:29 +00:00
Takuto Ikuta
b08a045e92 fix missing deps for proto compile actions
We need to have imported proto as proto_data_sources in BUILD.gn to
run the action remotely without workaround config in siso.

Bug: b/366137880
Change-Id: I053774f00b761520a8a85154e386da3edb8f39b4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362680
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Auto-Submit: Takuto Ikuta <tikuta@google.com>
Commit-Queue: Takuto Ikuta <tikuta@google.com>
Cr-Commit-Position: refs/heads/main@{#43040}
2024-09-18 05:38:30 +00:00
Lionel Koenig
098c128a15 Explicitly use the Opus DTX encoder state.
Use the DTX state from inside the Opus encoder instead of trying to
mimic the logic outside.

Bug: None
Change-Id: I852044fee261a5b7f9255c557a27adfd0b1701bd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362640
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Lionel Koenig <lionelk@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43034}
2024-09-17 13:28:45 +00:00
Henrik Lundin
8487d3248b Remove all use of AcmReceiver from WebRTC
The class itself and its unit test remains, for now, but will be removed
later.

Bug: webrtc:14867
Change-Id: I36cec8fca7913663f63c53622ed2760e5e048c2f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362580
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43023}
2024-09-16 08:49:25 +00:00
Lionel Koenig
ec38238af7 Ensure the AudioCodingModule is reset when sending is stopped.
Bug: webrtc:42226041
Change-Id: Ife3548bda3042a7447b7c50f48f023a2bc0bc443
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362103
Commit-Queue: Lionel Koenig <lionelk@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43017}
2024-09-12 22:47:11 +00:00
Jeremy Leconte
1bd331f102 Ensure <netinet/in.h> is included by using rtc_base/ip_address.h.
Change-Id: I1b48275ef458bcd579d027b879240c702975ab56
Bug: b/236227627
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362280
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#43001}
2024-09-11 08:11:44 +00:00
Henrik Lundin
c9aaf11985 Remove use of AcmReceiver in ChannelReceive
ChannelReceive is now owning and interfacing with NetEq directly.
A new ResamplerHelper is added to acm_resampler.cc/.h, to do the
audio resampling that was previously done inside AcmReceiver.

AcmReceiver still remains, since it is used in other places for now.

Bug: webrtc:14867
Change-Id: If3eb6415e06b9b5e729d393713f3fccb31b0570f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361820
Auto-Submit: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42974}
2024-09-06 12:47:36 +00:00
Florent Castelli
8037fc6ffa Migrate absl::optional to std::optional
Bug: webrtc:342905193
No-Try: True
Change-Id: Icc968be43b8830038ea9a1f5f604307220457807
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361021
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42911}
2024-09-02 12:16:47 +00:00
Jakob Ivarsson
b5f4006589 Inject field trials in NetEqTest instead of setting global.
We can avoid using the global now that field trials from Environment are
used in NetEq. This allows running multiple instances in parallel with
different settings.

Bug: webrtc:42220378
Change-Id: Icff8539e3ae9b61c86bb393d9a313e786e032b93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359720
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42894}
2024-08-30 09:11:50 +00:00
Jakob Ivarsson
04cc4ce2f2 Deprecate NetEq::GetDecoderFormat and remove implementation.
Bug: None
Change-Id: I9c90b41ee528984d1a3cd1632565c6dc1598e4d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360920
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42881}
2024-08-29 10:47:29 +00:00
Jakob Ivarsson
44df591447 Use NetEq::GetCurrentDecoderFormat in AcmReceiver.
This replaces the payload type tracking in AcmReceiver with the one in
NetEq and should be a noop.

Bug: None
Change-Id: Iaf124b5e56a646f994b5c2af65d349ede550b7fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360840
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Cr-Commit-Position: refs/heads/main@{#42875}
2024-08-28 17:33:36 +00:00
Jakob Ivarsson
32dd2ed745 Improve NetEq simulation frame size estimation.
This fixes an edge case where the frame size changes for a DTX packet.
We should avoid having the frame size larger than the timestamp gap.

Bug: None
Change-Id: I0a384cfb06f5aebc1654c1e3d127541fd24e05c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360722
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42873}
2024-08-28 13:09:23 +00:00
Jakob Ivarsson
b6046aece2 Add NetEq API to get info about the current decoder.
This is currenly tracked in both AcmReceiver and NetEq. Adding this API
enables us to have it in just one place.

Bug: None
Change-Id: Ia537f87f36b0aedf19c00a57bd6cec4425a49df1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360743
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Cr-Commit-Position: refs/heads/main@{#42872}
2024-08-28 12:50:50 +00:00
Danil Chapovalov
24823c502b Add AudioDecoderOpus::MakeAudioDecoder overload taking Environment
Mark old overload deprecated.
This allows to migrate both calls through AudioDecoderFactory and direct calls to AudioDecpderOpus trait.

Bug: webrtc:356878416
Change-Id: I1502aee5b18aac43a8258e77b770c8e73a056f92
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359741
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42793}
2024-08-16 15:10:30 +00:00
Danil Chapovalov
e0fe4200eb Provide Environment to consturct AudioDecoder in tests
Bug: webrtc:356878416
Change-Id: Id2803736d06445b536f2ced02509eaaaf8fd804c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359361
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42792}
2024-08-16 14:34:37 +00:00
Danil Chapovalov
759f8d80f0 Delete expired and unused field trial WebRTC-Audio-OpusPlcUsePrevDecodedSamples
Bug: b/143582588, webrtc:42221607
Change-Id: I49f477ab785801c8ef7143ab8b8654dd7379dfbd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359560
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42783}
2024-08-14 17:21:39 +00:00
Danil Chapovalov
eb26634e6a Cleanup NetEqControllerFactory interface
Finalize change started in https://webrtc-review.googlesource.com/c/src/+/359243
Remove fallback to old interface and unneeded clock member in the config struct.

Bug: None
Change-Id: I4c2b65a09dd1c8a0d44ee76320b095516e2c61fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359561
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42782}
2024-08-14 16:43:57 +00:00
Danil Chapovalov
ce807810be Change AudioDecoderFactory api to provide Environment to construct AudioDecoders
Bug: webrtc:356878416
Change-Id: Id910bef48138b1b659938b1c1a6d23b5634967f5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359540
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42781}
2024-08-14 16:02:30 +00:00
Danil Chapovalov
2bc77cebf2 Propagate field trials into NetEq DelayManager
Bug: webrtc:42220378
Change-Id: Idf261b0966fb76a68ec610544c705f0aa0f026bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359243
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42779}
2024-08-14 11:03:29 +00:00
Danil Chapovalov
9b1c0c8245 Propagate Environment to DecoderDatabase::DecoderInfo
to make it available for creating AudioDecoders

Bug: webrtc:356878416
Change-Id: Ibd24a55df70985dfe02d924da037618f13661032
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359241
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42771}
2024-08-13 13:05:27 +00:00
Danil Chapovalov
96370309a0 Propagate field trials into audio NackTracker
Bug: webrtc:42220378
Change-Id: Ibf831e15b5931925a9efa9099178f71b1a23c147
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/359280
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42769}
2024-08-13 10:04:05 +00:00
Danil Chapovalov
defe1358a5 Pass Environment into NetEqImpl
To propagate field trials in addition to clock

Bug: webrtc:356878416
Change-Id: Idefc4848ec4af30c8aed0f93b7fadfc3181bddb1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358980
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42761}
2024-08-12 13:33:38 +00:00
Danil Chapovalov
0c4c4e6070 Provide Environment to create NetEq in tests
Bug: webrtc:356878416
Change-Id: I1d01c61ad6822fb018873fed949154f72b90a11b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358920
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42748}
2024-08-08 13:45:59 +00:00