mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 22:00:47 +01:00

This reverts commit0f2ce5cc1c
. Reason for revert: Downstream infrastructure should be ready now Original change's description: > Revert "Migrate WebRTC documentation to new renderer" > > This reverts commit3eceaf4669
. > > Reason for revert: > > Original change's description: > > Migrate WebRTC documentation to new renderer > > > > Bug: b/258408932 > > Change-Id: Ib96f39fe0c3912f9746bcc09d079097a145d6115 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290987 > > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > > Commit-Queue: Artem Titov <titovartem@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#39205} > > Bug: b/258408932 > Change-Id: I16cb4088bee3fc15c2bb88bd692c592b3a7db9fe > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291560 > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> > Owners-Override: Artem Titov <titovartem@webrtc.org> > Commit-Queue: Artem Titov <titovartem@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#39209} Bug: b/258408932 Change-Id: Ia172e4a6ad1cc7953b48eed08776e9d1e44eb074 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291660 Owners-Override: Artem Titov <titovartem@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/main@{#39231}
26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
<!-- go/cmark -->
|
|
<!--* freshness: {owner: 'peah' reviewed: '2021-04-13'} *-->
|
|
|
|
# Audio Processing Module (APM)
|
|
|
|
## Overview
|
|
|
|
The APM is responsible for applying speech enhancements effects to the
|
|
microphone signal. These effects are required for VoIP calling and some
|
|
examples include echo cancellation (AEC), noise suppression (NS) and
|
|
automatic gain control (AGC).
|
|
|
|
The API for APM resides in [`/modules/audio_processing/include`][https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/modules/audio_processing/include].
|
|
APM is created using the [`AudioProcessingBuilder`][https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/modules/audio_processing/include/audio_processing.h]
|
|
builder that allows it to be customized and configured.
|
|
|
|
Some specific aspects of APM include that:
|
|
* APM is fully thread-safe in that it can be accessed concurrently from
|
|
different threads.
|
|
* APM handles for any input sample rates < 384 kHz and achieves this by
|
|
automatic reconfiguration whenever a new sample format is observed.
|
|
* APM handles any number of microphone channels and loudspeaker channels, with
|
|
the same automatic reconfiguration as for the sample rates.
|
|
|
|
|
|
APM can either be used as part of the WebRTC native pipeline, or standalone.
|