|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| adaptation/ | | 03-May-2024 | - | 130 | 72 |
| audio/ | | 03-May-2024 | - | 2,737 | 1,945 |
| audio_codecs/ | | 03-May-2024 | - | 5,322 | 3,487 |
| call/ | | 03-May-2024 | - | 217 | 96 |
| crypto/ | | 03-May-2024 | - | 347 | 175 |
| neteq/ | | 03-May-2024 | - | 1,158 | 623 |
| rtc_event_log/ | | 03-May-2024 | - | 348 | 186 |
| stats/ | | 03-May-2024 | - | 1,258 | 803 |
| task_queue/ | | 03-May-2024 | - | 814 | 472 |
| test/ | | 03-May-2024 | - | 5,094 | 2,994 |
| transport/ | | 03-May-2024 | - | 5,582 | 4,069 |
| units/ | | 03-May-2024 | - | 1,708 | 1,297 |
| video/ | | 03-May-2024 | - | 5,212 | 3,307 |
| video_codecs/ | | 03-May-2024 | - | 5,142 | 3,427 |
| voip/ | | 03-May-2024 | - | 513 | 212 |
| BUILD.gn | D | 03-May-2024 | 24.8 KiB | 1,053 | 948 |
| DEPS | D | 03-May-2024 | 6.1 KiB | 308 | 256 |
| DESIGN.md | D | 03-May-2024 | 3.1 KiB | 72 | 57 |
| OWNERS.webrtc | D | 03-May-2024 | 273 | 15 | 12 |
| README.md | D | 03-May-2024 | 1.2 KiB | 25 | 19 |
| array_view.h | D | 03-May-2024 | 11.8 KiB | 316 | 162 |
| array_view_unittest.cc | D | 03-May-2024 | 18 KiB | 579 | 461 |
| async_resolver_factory.h | D | 03-May-2024 | 1 KiB | 33 | 12 |
| audio_options.cc | D | 03-May-2024 | 5.5 KiB | 134 | 113 |
| audio_options.h | D | 03-May-2024 | 3.6 KiB | 88 | 39 |
| candidate.cc | D | 03-May-2024 | 5.4 KiB | 144 | 99 |
| candidate.h | D | 03-May-2024 | 7.5 KiB | 206 | 123 |
| create_peerconnection_factory.cc | D | 03-May-2024 | 2.9 KiB | 69 | 51 |
| create_peerconnection_factory.h | D | 03-May-2024 | 2 KiB | 55 | 30 |
| crypto_params.h | D | 03-May-2024 | 1.2 KiB | 42 | 21 |
| data_channel_interface.cc | D | 03-May-2024 | 1 KiB | 44 | 24 |
| data_channel_interface.h | D | 03-May-2024 | 7.2 KiB | 198 | 89 |
| dtls_transport_interface.cc | D | 03-May-2024 | 2 KiB | 56 | 38 |
| dtls_transport_interface.h | D | 03-May-2024 | 4.1 KiB | 109 | 65 |
| dtmf_sender_interface.h | D | 03-May-2024 | 5.2 KiB | 126 | 41 |
| fec_controller.h | D | 03-May-2024 | 3.7 KiB | 93 | 44 |
| fec_controller_override.h | D | 03-May-2024 | 840 | 29 | 11 |
| frame_transformer_interface.h | D | 03-May-2024 | 3.5 KiB | 100 | 52 |
| function_view.h | D | 03-May-2024 | 4.6 KiB | 131 | 64 |
| function_view_unittest.cc | D | 03-May-2024 | 4.6 KiB | 177 | 133 |
| ice_transport_factory.cc | D | 03-May-2024 | 2 KiB | 67 | 41 |
| ice_transport_factory.h | D | 03-May-2024 | 1.7 KiB | 48 | 15 |
| ice_transport_interface.h | D | 03-May-2024 | 3.6 KiB | 96 | 52 |
| jsep.cc | D | 03-May-2024 | 1.8 KiB | 58 | 40 |
| jsep.h | D | 03-May-2024 | 9.4 KiB | 248 | 106 |
| jsep_ice_candidate.cc | D | 03-May-2024 | 2.1 KiB | 77 | 51 |
| jsep_ice_candidate.h | D | 03-May-2024 | 2.8 KiB | 88 | 48 |
| jsep_session_description.h | D | 03-May-2024 | 3.1 KiB | 91 | 60 |
| media_stream_interface.cc | D | 03-May-2024 | 1 KiB | 39 | 21 |
| media_stream_interface.h | D | 03-May-2024 | 12.4 KiB | 337 | 164 |
| media_stream_proxy.h | D | 03-May-2024 | 1.5 KiB | 45 | 26 |
| media_stream_track_proxy.h | D | 03-May-2024 | 2.3 KiB | 66 | 41 |
| media_types.cc | D | 03-May-2024 | 944 | 36 | 19 |
| media_types.h | D | 03-May-2024 | 1 KiB | 40 | 15 |
| network_state_predictor.h | D | 03-May-2024 | 1.7 KiB | 57 | 26 |
| notifier.h | D | 03-May-2024 | 1.7 KiB | 61 | 35 |
| packet_socket_factory.h | D | 03-May-2024 | 2.5 KiB | 82 | 50 |
| peer_connection_factory_proxy.h | D | 03-May-2024 | 2.4 KiB | 66 | 47 |
| peer_connection_interface.cc | D | 03-May-2024 | 3.4 KiB | 101 | 65 |
| peer_connection_interface.h | D | 03-May-2024 | 64.6 KiB | 1,455 | 520 |
| peer_connection_proxy.h | D | 03-May-2024 | 6.2 KiB | 148 | 129 |
| priority.h | D | 03-May-2024 | 639 | 27 | 11 |
| proxy.cc | D | 03-May-2024 | 1 KiB | 38 | 21 |
| proxy.h | D | 03-May-2024 | 16.8 KiB | 413 | 290 |
| ref_counted_base.h | D | 03-May-2024 | 1.1 KiB | 44 | 25 |
| rtc_error.cc | D | 03-May-2024 | 2 KiB | 81 | 57 |
| rtc_error.h | D | 03-May-2024 | 11.5 KiB | 332 | 137 |
| rtc_error_unittest.cc | D | 03-May-2024 | 7.3 KiB | 243 | 167 |
| rtc_event_log_output.h | D | 03-May-2024 | 1.5 KiB | 43 | 13 |
| rtc_event_log_output_file.cc | D | 03-May-2024 | 3 KiB | 86 | 50 |
| rtc_event_log_output_file.h | D | 03-May-2024 | 1.8 KiB | 59 | 26 |
| rtc_event_log_output_file_unittest.cc | D | 03-May-2024 | 6 KiB | 168 | 112 |
| rtp_headers.cc | D | 03-May-2024 | 1.6 KiB | 55 | 36 |
| rtp_headers.h | D | 03-May-2024 | 6.9 KiB | 192 | 98 |
| rtp_packet_info.cc | D | 03-May-2024 | 2 KiB | 61 | 40 |
| rtp_packet_info.h | D | 03-May-2024 | 3.2 KiB | 98 | 54 |
| rtp_packet_info_unittest.cc | D | 03-May-2024 | 3.7 KiB | 180 | 113 |
| rtp_packet_infos.h | D | 03-May-2024 | 4.2 KiB | 131 | 84 |
| rtp_packet_infos_unittest.cc | D | 03-May-2024 | 2.4 KiB | 86 | 53 |
| rtp_parameters.cc | D | 03-May-2024 | 8.8 KiB | 227 | 183 |
| rtp_parameters.h | D | 03-May-2024 | 25.2 KiB | 659 | 287 |
| rtp_parameters_unittest.cc | D | 03-May-2024 | 1.7 KiB | 51 | 31 |
| rtp_receiver_interface.cc | D | 03-May-2024 | 1.2 KiB | 45 | 25 |
| rtp_receiver_interface.h | D | 03-May-2024 | 6.3 KiB | 150 | 69 |
| rtp_sender_interface.cc | D | 03-May-2024 | 1 KiB | 37 | 19 |
| rtp_sender_interface.h | D | 03-May-2024 | 5.5 KiB | 134 | 64 |
| rtp_transceiver_direction.h | D | 03-May-2024 | 753 | 28 | 12 |
| rtp_transceiver_interface.cc | D | 03-May-2024 | 1.4 KiB | 51 | 29 |
| rtp_transceiver_interface.h | D | 03-May-2024 | 6.7 KiB | 150 | 48 |
| scoped_refptr.h | D | 03-May-2024 | 4.2 KiB | 165 | 73 |
| scoped_refptr_unittest.cc | D | 03-May-2024 | 2.9 KiB | 112 | 79 |
| sctp_transport_interface.cc | D | 03-May-2024 | 1 KiB | 33 | 16 |
| sctp_transport_interface.h | D | 03-May-2024 | 3.4 KiB | 91 | 51 |
| set_remote_description_observer_interface.h | D | 03-May-2024 | 1.1 KiB | 32 | 11 |
| stats_types.cc | D | 03-May-2024 | 26.8 KiB | 848 | 719 |
| stats_types.h | D | 03-May-2024 | 15.8 KiB | 456 | 310 |
| turn_customizer.h | D | 03-May-2024 | 1.4 KiB | 46 | 21 |
| uma_metrics.h | D | 03-May-2024 | 5.3 KiB | 160 | 99 |
| video_track_source_proxy.h | D | 03-May-2024 | 1.9 KiB | 50 | 30 |
README.md
1# How to write code in the `api/` directory
2
3Mostly, just follow the regular [style guide](../style-guide.md), but:
4
5* Note that `api/` code is not exempt from the “`.h` and `.cc` files come in
6 pairs” rule, so if you declare something in `api/path/to/foo.h`, it should be
7 defined in `api/path/to/foo.cc`.
8* Headers in `api/` should, if possible, not `#include` headers outside `api/`.
9 It’s not always possible to avoid this, but be aware that it adds to a small
10 mountain of technical debt that we’re trying to shrink.
11* `.cc` files in `api/`, on the other hand, are free to `#include` headers
12 outside `api/`.
13
14That is, the preferred way for `api/` code to access non-`api/` code is to call
15it from a `.cc` file, so that users of our API headers won’t transitively
16`#include` non-public headers.
17
18For headers in `api/` that need to refer to non-public types, forward
19declarations are often a lesser evil than including non-public header files. The
20usual [rules](../style-guide.md#forward-declarations) still apply, though.
21
22`.cc` files in `api/` should preferably be kept reasonably small. If a
23substantial implementation is needed, consider putting it with our non-public
24code, and just call it from the `api/` `.cc` file.
25