|
| 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—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’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’t seem like they belong in the WebRTC native API, |
| 59 | +don’t grow too attached to them. |
| 60 | + |
| 61 | +## All these worlds are yours—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