Artem Titov 3eceaf4669 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}
2023-01-26 14:58:00 +00:00

2.5 KiB

The WebRTC Audio Coding Module

WebRTC audio coding module can handle both audio sending and receiving. Folder acm2 contains implementations of the APIs.

  • Audio Sending Audio frames, each of which should always contain 10 ms worth of data, are provided to the audio coding module through Add10MsData(). The audio coding module uses a provided audio encoder to encoded audio frames and deliver the data to a pre-registered audio packetization callback, which is supposed to wrap the encoded audio into RTP packets and send them over a transport. Built-in audio codecs are included the codecs folder. The audio network adaptor provides an add-on functionality to an audio encoder (currently limited to Opus) to make the audio encoder adaptive to network conditions (bandwidth, packet loss rate, etc).

  • Audio Receiving Audio packets are provided to the audio coding module through IncomingPacket(), and are processed by an audio jitter buffer (NetEq), which includes decoding of the packets. Audio decoders are provided by an audio decoder factory. Decoded audio samples should be queried by calling PlayoutData10Ms().