mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 21:30:45 +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}
117 lines
5 KiB
Markdown
117 lines
5 KiB
Markdown
<!-- go/cmark -->
|
|
<!--* freshness: {owner: 'hta' reviewed: '2021-01-01'} *-->
|
|
|
|
# API header files
|
|
|
|
As a user of the WebRTC library, you may use headers and build files
|
|
in the following directories:
|
|
|
|
API directory | Including subdirectories?
|
|
--------------|-------------------------
|
|
`api` | Yes
|
|
|
|
For now, you may also use headers and build files in the following
|
|
legacy API directories—but see the
|
|
[disclaimer](#legacy-disclaimer) below.
|
|
|
|
Legacy API directory | Including subdirectories?
|
|
-------------------------------------------|--------------------------
|
|
`common_audio/include` | No
|
|
`media/base` | No
|
|
`media/engine` | No
|
|
`modules/audio_coding/include` | No
|
|
`modules/audio_device/include` | No
|
|
`modules/audio_processing/include` | No
|
|
`modules/congestion_controller/include` | No
|
|
`modules/include` | No
|
|
`modules/rtp_rtcp/include` | No
|
|
`modules/rtp_rtcp/source` | No
|
|
`modules/utility/include` | No
|
|
`modules/video_coding/codecs/h264/include` | No
|
|
`modules/video_coding/codecs/vp8/include` | No
|
|
`modules/video_coding/codecs/vp9/include` | No
|
|
`modules/video_coding/include` | No
|
|
`pc` | No
|
|
`rtc_base` | No
|
|
`system_wrappers/include` | No
|
|
|
|
While the files, types, functions, macros, build targets, etc. in the
|
|
API and legacy API directories will sometimes undergo incompatible
|
|
changes, such changes will be announced in advance to
|
|
[discuss-webrtc@googlegroups.com][discuss-webrtc], and a migration
|
|
path will be provided.
|
|
|
|
[discuss-webrtc]: https://groups.google.com/forum/#!forum/discuss-webrtc
|
|
|
|
In the directories not listed in the tables above, incompatible
|
|
changes may happen at any time, and are not announced.
|
|
|
|
## <a name="legacy-disclaimer"></a>The legacy API directories contain some things you shouldn’t use
|
|
|
|
The legacy API directories, in addition to things that genuinely
|
|
should be part of the API, also contain things that should *not* be
|
|
part of the API. We are in the process of moving the good stuff to the
|
|
`api` directory tree, and will remove directories from the legacy list
|
|
once they no longer contain anything that should be in the API.
|
|
|
|
In other words, if you find things in the legacy API directories that
|
|
don’t seem like they belong in the WebRTC native API,
|
|
don’t grow too attached to them.
|
|
|
|
## All these worlds are yours—except Europa
|
|
|
|
In the API headers, or in files included by the API headers, there are
|
|
types, functions, namespaces, etc. that have `impl` or `internal` in
|
|
their names (in various styles, such as `CamelCaseImpl`,
|
|
`snake_case_impl`). They are not part of the API, and may change
|
|
incompatibly at any time; do not use them.
|
|
|
|
# Preprocessor macros
|
|
|
|
The following preprocessor macros are read (but never set) by WebRTC; they allow
|
|
you to enable or disable parts of WebRTC at compile time.
|
|
|
|
Be sure to set them the same way in all translation units that include WebRTC
|
|
code.
|
|
|
|
## `WEBRTC_EXCLUDE_BUILT_IN_SSL_ROOT_CERTS`
|
|
If you want to ship your own set of SSL certificates and inject them into WebRTC
|
|
PeerConnections, you will probably want to avoid to compile and ship WebRTC's
|
|
default set of SSL certificates.
|
|
|
|
You can achieve this by defining the preprocessor macro
|
|
`WEBRTC_EXCLUDE_BUILT_IN_SSL_ROOT_CERTS`. If you use GN, you can just set the GN
|
|
argument `rtc_builtin_ssl_root_certificates` to false and GN will define the
|
|
macro for you.
|
|
|
|
## `WEBRTC_EXCLUDE_FIELD_TRIAL_DEFAULT`
|
|
If you want to provide your own implementation of `webrtc::field_trial` functions
|
|
(more info [here][field_trial_h]) you will have to exclude WebRTC's default
|
|
implementation.
|
|
|
|
You can achieve this by defining the preprocessor macro
|
|
`WEBRTC_EXCLUDE_FIELD_TRIAL_DEFAULT`. If you use GN, you can just set the GN
|
|
argument `rtc_exclude_field_trial_default` to true and GN will define the
|
|
macro for you.
|
|
|
|
[field_trial_h]: https://webrtc.googlesource.com/src/+/main/system_wrappers/include/field_trial.h
|
|
|
|
## `WEBRTC_EXCLUDE_METRICS_DEFAULT`
|
|
If you want to provide your own implementation of `webrtc::metrics` functions
|
|
(more info [here][metrics_h]) you will have to exclude WebRTC's default
|
|
implementation.
|
|
|
|
You can achieve this by defining the preprocessor macro
|
|
`WEBRTC_EXCLUDE_METRICS_DEFAULT`. If you use GN, you can just set the GN
|
|
argument `rtc_exclude_metrics_default` to true and GN will define the
|
|
macro for you.
|
|
|
|
[metrics_h]: https://webrtc.googlesource.com/src/+/main/system_wrappers/include/metrics.h
|
|
|
|
## `WEBRTC_EXCLUDE_TRANSIENT_SUPPRESSOR`
|
|
The transient suppressor functionality in the audio processing module is not
|
|
always used. If you wish to exclude it from the build in order to preserve
|
|
binary size, then define the preprocessor macro
|
|
`WEBRTC_EXCLUDE_TRANSIENT_SUPPRESSOR`. If you use GN, you can just set the GN
|
|
argument `rtc_exclude_transient_suppressor` to true and GN will define the macro
|
|
for you.
|