Skip to content

Commit d4f01c1

Browse files
Karl WibergCommit Bot
Karl Wiberg
authored and
Commit Bot
committed
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}
1 parent 558cabf commit d4f01c1

File tree

3 files changed

+72
-0
lines changed

3 files changed

+72
-0
lines changed

PRESUBMIT.py

+2
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@
9393
'voice_engine/include',
9494
)
9595

96+
# NOTE: The set of directories in API_DIRS should be the same as those
97+
# listed in the table in native-api.md.
9698
API_DIRS = NATIVE_API_DIRS[:] + LEGACY_API_DIRS[:]
9799

98100
# TARGET_RE matches a GN target, and extracts the target name and the contents.

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ amongst others.
1414
See http://www.webrtc.org/native-code/development for instructions on how to get
1515
started developing with the native code.
1616

17+
[Authoritative list](native-api.md) of directories that contain the
18+
native API header files.
19+
1720
### More info
1821

1922
* Official web site: http://www.webrtc.org

native-api.md

+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# API header files
2+
3+
As a user of the WebRTC library, you may use headers and build files
4+
in the following directories:
5+
6+
API directory | Including subdirectories?
7+
--------------|-------------------------
8+
`api` | Yes
9+
10+
For now, you may also use headers and build files in the following
11+
legacy API directories&mdash;but see the
12+
[disclaimer](#legacy-disclaimer) below.
13+
14+
Legacy API directory | Including subdirectories?
15+
-------------------------------------------|--------------------------
16+
`common_audio/include` | No
17+
`media` | No
18+
`modules/audio_coding/include` | No
19+
`modules/audio_device/include` | No
20+
`modules/audio_processing/include` | No
21+
`modules/bitrate_controller/include` | No
22+
`modules/congestion_controller/include` | No
23+
`modules/include` | No
24+
`modules/remote_bitrate_estimator/include` | No
25+
`modules/rtp_rtcp/include` | No
26+
`modules/rtp_rtcp/source` | No
27+
`modules/utility/include` | No
28+
`modules/video_coding/codecs/h264/include` | No
29+
`modules/video_coding/codecs/i420/include` | No
30+
`modules/video_coding/codecs/vp8/include` | No
31+
`modules/video_coding/codecs/vp9/include` | No
32+
`modules/video_coding/include` | No
33+
`pc` | No
34+
`rtc_base` | No
35+
`system_wrappers/include` | No
36+
`voice_engine/include` | No
37+
38+
While the files, types, functions, macros, build targets, etc. in the
39+
API and legacy API directories will sometimes undergo incompatible
40+
changes, such changes will be announced in advance to
41+
[discuss-webrtc@googlegroups.com][discuss-webrtc], and a migration
42+
path will be provided.
43+
44+
[discuss-webrtc]: https://groups.google.com/forum/#!forum/discuss-webrtc
45+
46+
In the directories not listed in the tables above, incompatible
47+
changes may happen at any time, and are not announced.
48+
49+
## <a name="legacy-disclaimer"></a>The legacy API directories contain some things you shouldn&rsquo;t use
50+
51+
The legacy API directories, in addition to things that genuinely
52+
should be part of the API, also contain things that should *not* be
53+
part of the API. We are in the process of moving the good stuff to the
54+
`api` directory tree, and will remove directories from the legacy list
55+
once they no longer contain anything that should be in the API.
56+
57+
In other words, if you find things in the legacy API directories that
58+
don&rsquo;t seem like they belong in the WebRTC native API,
59+
don&rsquo;t grow too attached to them.
60+
61+
## All these worlds are yours&mdash;except Europa
62+
63+
In the API headers, or in files included by the API headers, there are
64+
types, functions, namespaces, etc. that have `impl` or `internal` in
65+
their names (in various styles, such as `CamelCaseImpl`,
66+
`snake_case_impl`). They are not part of the API, and may change
67+
incompatibly at any time; do not use them.

0 commit comments

Comments
 (0)