webrtc/native-api.md
Karl Wiberg d4f01c1e87 Tell users where they can find the native API headers
The listed directories are the same as in PRESUBMIT.py, which
was previously the only way to look this stuff up...

BUG=webrtc:8445
NOTRY=true

Change-Id: I218c91e554f3163ae13fc75b9cbf76b42f70624e
Reviewed-on: https://webrtc-review.googlesource.com/16432
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20670}
2017-11-14 10:36:46 +00:00

2.9 KiB
Raw Blame History

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 below.

Legacy API directory Including subdirectories?
common_audio/include No
media No
modules/audio_coding/include No
modules/audio_device/include No
modules/audio_processing/include No
modules/bitrate_controller/include No
modules/congestion_controller/include No
modules/include No
modules/remote_bitrate_estimator/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/i420/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
voice_engine/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, and a migration path will be provided.

In the directories not listed in the tables above, incompatible changes may happen at any time, and are not announced.

The legacy API directories contain some things you shouldnt 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 dont seem like they belong in the WebRTC native API, dont 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.