• Home
  • History
  • Annotate
Name
Date
Size
#Lines
LOC

..--

adaptation/23-Nov-2023-13072

audio/23-Nov-2023-2,7371,945

audio_codecs/23-Nov-2023-5,3223,487

call/23-Nov-2023-21796

crypto/23-Nov-2023-347175

neteq/23-Nov-2023-1,158623

rtc_event_log/23-Nov-2023-348186

stats/23-Nov-2023-1,258803

task_queue/23-Nov-2023-814472

test/23-Nov-2023-5,0942,994

transport/23-Nov-2023-5,5824,069

units/23-Nov-2023-1,7081,297

video/23-Nov-2023-5,2123,307

video_codecs/23-Nov-2023-5,1423,427

voip/23-Nov-2023-513212

BUILD.gnD23-Nov-202324.8 KiB1,053948

DEPSD23-Nov-20236.1 KiB308256

DESIGN.mdD23-Nov-20233.1 KiB7257

OWNERS.webrtcD23-Nov-2023273 1512

README.mdD23-Nov-20231.2 KiB2519

array_view.hD23-Nov-202311.8 KiB316162

array_view_unittest.ccD23-Nov-202318 KiB579461

async_resolver_factory.hD23-Nov-20231 KiB3312

audio_options.ccD23-Nov-20235.5 KiB134113

audio_options.hD23-Nov-20233.6 KiB8839

candidate.ccD23-Nov-20235.4 KiB14499

candidate.hD23-Nov-20237.5 KiB206123

create_peerconnection_factory.ccD23-Nov-20232.9 KiB6951

create_peerconnection_factory.hD23-Nov-20232 KiB5530

crypto_params.hD23-Nov-20231.2 KiB4221

data_channel_interface.ccD23-Nov-20231 KiB4424

data_channel_interface.hD23-Nov-20237.2 KiB19889

dtls_transport_interface.ccD23-Nov-20232 KiB5638

dtls_transport_interface.hD23-Nov-20234.1 KiB10965

dtmf_sender_interface.hD23-Nov-20235.2 KiB12641

fec_controller.hD23-Nov-20233.7 KiB9344

fec_controller_override.hD23-Nov-2023840 2911

frame_transformer_interface.hD23-Nov-20233.5 KiB10052

function_view.hD23-Nov-20234.6 KiB13164

function_view_unittest.ccD23-Nov-20234.6 KiB177133

ice_transport_factory.ccD23-Nov-20232 KiB6741

ice_transport_factory.hD23-Nov-20231.7 KiB4815

ice_transport_interface.hD23-Nov-20233.6 KiB9652

jsep.ccD23-Nov-20231.8 KiB5840

jsep.hD23-Nov-20239.4 KiB248106

jsep_ice_candidate.ccD23-Nov-20232.1 KiB7751

jsep_ice_candidate.hD23-Nov-20232.8 KiB8848

jsep_session_description.hD23-Nov-20233.1 KiB9160

media_stream_interface.ccD23-Nov-20231 KiB3921

media_stream_interface.hD23-Nov-202312.4 KiB337164

media_stream_proxy.hD23-Nov-20231.5 KiB4526

media_stream_track_proxy.hD23-Nov-20232.3 KiB6641

media_types.ccD23-Nov-2023944 3619

media_types.hD23-Nov-20231 KiB4015

network_state_predictor.hD23-Nov-20231.7 KiB5726

notifier.hD23-Nov-20231.7 KiB6135

packet_socket_factory.hD23-Nov-20232.5 KiB8250

peer_connection_factory_proxy.hD23-Nov-20232.4 KiB6647

peer_connection_interface.ccD23-Nov-20233.4 KiB10165

peer_connection_interface.hD23-Nov-202364.6 KiB1,455520

peer_connection_proxy.hD23-Nov-20236.2 KiB148129

priority.hD23-Nov-2023639 2711

proxy.ccD23-Nov-20231 KiB3821

proxy.hD23-Nov-202316.8 KiB413290

ref_counted_base.hD23-Nov-20231.1 KiB4425

rtc_error.ccD23-Nov-20232 KiB8157

rtc_error.hD23-Nov-202311.5 KiB332137

rtc_error_unittest.ccD23-Nov-20237.3 KiB243167

rtc_event_log_output.hD23-Nov-20231.5 KiB4313

rtc_event_log_output_file.ccD23-Nov-20233 KiB8650

rtc_event_log_output_file.hD23-Nov-20231.8 KiB5926

rtc_event_log_output_file_unittest.ccD23-Nov-20236 KiB168112

rtp_headers.ccD23-Nov-20231.6 KiB5536

rtp_headers.hD23-Nov-20236.9 KiB19298

rtp_packet_info.ccD23-Nov-20232 KiB6140

rtp_packet_info.hD23-Nov-20233.2 KiB9854

rtp_packet_info_unittest.ccD23-Nov-20233.7 KiB180113

rtp_packet_infos.hD23-Nov-20234.2 KiB13184

rtp_packet_infos_unittest.ccD23-Nov-20232.4 KiB8653

rtp_parameters.ccD23-Nov-20238.8 KiB227183

rtp_parameters.hD23-Nov-202325.2 KiB659287

rtp_parameters_unittest.ccD23-Nov-20231.7 KiB5131

rtp_receiver_interface.ccD23-Nov-20231.2 KiB4525

rtp_receiver_interface.hD23-Nov-20236.3 KiB15069

rtp_sender_interface.ccD23-Nov-20231 KiB3719

rtp_sender_interface.hD23-Nov-20235.5 KiB13464

rtp_transceiver_direction.hD23-Nov-2023753 2812

rtp_transceiver_interface.ccD23-Nov-20231.4 KiB5129

rtp_transceiver_interface.hD23-Nov-20236.7 KiB15048

scoped_refptr.hD23-Nov-20234.2 KiB16573

scoped_refptr_unittest.ccD23-Nov-20232.9 KiB11279

sctp_transport_interface.ccD23-Nov-20231 KiB3316

sctp_transport_interface.hD23-Nov-20233.4 KiB9151

set_remote_description_observer_interface.hD23-Nov-20231.1 KiB3211

stats_types.ccD23-Nov-202326.8 KiB848719

stats_types.hD23-Nov-202315.8 KiB456310

turn_customizer.hD23-Nov-20231.4 KiB4621

uma_metrics.hD23-Nov-20235.3 KiB16099

video_track_source_proxy.hD23-Nov-20231.9 KiB5030

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