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