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

..21-Oct-2021-

adaptation/H21-Oct-2021-13475

audio/H21-Oct-2021-2,8231,995

audio_codecs/H21-Oct-2021-5,3263,489

call/H21-Oct-2021-21897

crypto/H21-Oct-2021-345175

neteq/H21-Oct-2021-1,169628

numerics/H21-Oct-2021-491334

rtc_event_log/H21-Oct-2021-354192

stats/H21-Oct-2021-1,298838

task_queue/H21-Oct-2021-819472

test/H21-Oct-2021-5,7533,335

transport/H21-Oct-2021-5,7714,199

units/H21-Oct-2021-1,7081,297

video/H21-Oct-2021-5,7453,660

video_codecs/H21-Oct-2021-5,4273,633

voip/H21-Oct-2021-954439

BUILD.gnH A D21-Oct-202126.4 KiB1,1141,004

DEPSH A D21-Oct-20216.3 KiB317264

DESIGN.mdH A D21-Oct-20213.1 KiB7257

OWNERSH A D21-Oct-2021848 2622

README.mdH A D21-Oct-20211.2 KiB2519

array_view.hH A D21-Oct-202112.2 KiB329175

array_view_unittest.ccH A D21-Oct-202119.4 KiB631503

async_dns_resolver.hH A D21-Oct-20213.1 KiB8630

async_resolver_factory.hH A D21-Oct-20211 KiB3312

audio_options.ccH A D21-Oct-20215.5 KiB134113

audio_options.hH A D21-Oct-20213.6 KiB8839

candidate.ccH A D21-Oct-20215.4 KiB14499

candidate.hH A D21-Oct-20217.5 KiB206123

create_peerconnection_factory.ccH A D21-Oct-20213.2 KiB7456

create_peerconnection_factory.hH A D21-Oct-20212.1 KiB5732

crypto_params.hH A D21-Oct-20211.2 KiB4221

data_channel_interface.ccH A D21-Oct-20211 KiB4424

data_channel_interface.hH A D21-Oct-20217.2 KiB19889

dtls_transport_interface.ccH A D21-Oct-20212 KiB5638

dtls_transport_interface.hH A D21-Oct-20214.1 KiB10965

dtmf_sender_interface.hH A D21-Oct-20215.2 KiB12641

fec_controller.hH A D21-Oct-20213.7 KiB9344

fec_controller_override.hH A D21-Oct-2021840 2911

frame_transformer_interface.hH A D21-Oct-20213.5 KiB10052

function_view.hH A D21-Oct-20214.6 KiB13164

function_view_unittest.ccH A D21-Oct-20214.6 KiB177133

ice_transport_factory.ccH A D21-Oct-20212.1 KiB6842

ice_transport_factory.hH A D21-Oct-20211.7 KiB4815

ice_transport_interface.hH A D21-Oct-20213.6 KiB9652

jsep.ccH A D21-Oct-20211.8 KiB5840

jsep.hH A D21-Oct-20219.7 KiB254108

jsep_ice_candidate.ccH A D21-Oct-20212.1 KiB7751

jsep_ice_candidate.hH A D21-Oct-20212.9 KiB9050

jsep_session_description.hH A D21-Oct-20213.1 KiB9260

media_stream_interface.ccH A D21-Oct-20211 KiB3921

media_stream_interface.hH A D21-Oct-202112.6 KiB342165

media_stream_proxy.hH A D21-Oct-20211.5 KiB4526

media_stream_track.hH A D21-Oct-20211.8 KiB6441

media_stream_track_proxy.hH A D21-Oct-20212.4 KiB6641

media_types.ccH A D21-Oct-20211 KiB3821

media_types.hH A D21-Oct-20211.1 KiB4520

network_state_predictor.hH A D21-Oct-20211.7 KiB5726

notifier.hH A D21-Oct-20211.7 KiB6135

packet_socket_factory.hH A D21-Oct-20212.5 KiB8250

peer_connection_factory_proxy.hH A D21-Oct-20212.6 KiB6950

peer_connection_interface.ccH A D21-Oct-20213.7 KiB10871

peer_connection_interface.hH A D21-Oct-202168.9 KiB1,532539

peer_connection_proxy.hH A D21-Oct-20217.2 KiB165139

priority.hH A D21-Oct-2021639 2711

proxy.ccH A D21-Oct-2021434 131

proxy.hH A D21-Oct-202117.1 KiB424300

ref_counted_base.hH A D21-Oct-20211.1 KiB4425

rtc_error.ccH A D21-Oct-20212 KiB8157

rtc_error.hH A D21-Oct-202111.6 KiB332137

rtc_error_unittest.ccH A D21-Oct-20217.3 KiB243167

rtc_event_log_output.hH A D21-Oct-20211.5 KiB4313

rtc_event_log_output_file.ccH A D21-Oct-20213 KiB8650

rtc_event_log_output_file.hH A D21-Oct-20211.8 KiB5926

rtc_event_log_output_file_unittest.ccH A D21-Oct-20216 KiB168112

rtp_headers.ccH A D21-Oct-20211.6 KiB5536

rtp_headers.hH A D21-Oct-20216.7 KiB19097

rtp_packet_info.ccH A D21-Oct-20212 KiB6140

rtp_packet_info.hH A D21-Oct-20213.2 KiB9854

rtp_packet_info_unittest.ccH A D21-Oct-20213.7 KiB180113

rtp_packet_infos.hH A D21-Oct-20214.2 KiB13184

rtp_packet_infos_unittest.ccH A D21-Oct-20212.4 KiB8653

rtp_parameters.ccH A D21-Oct-20219.2 KiB233189

rtp_parameters.hH A D21-Oct-202125.7 KiB670292

rtp_parameters_unittest.ccH A D21-Oct-20211.7 KiB5131

rtp_receiver_interface.ccH A D21-Oct-20211.2 KiB4525

rtp_receiver_interface.hH A D21-Oct-20216.3 KiB14968

rtp_sender_interface.ccH A D21-Oct-20211 KiB3719

rtp_sender_interface.hH A D21-Oct-20215.5 KiB13464

rtp_transceiver_direction.hH A D21-Oct-2021753 2812

rtp_transceiver_interface.ccH A D21-Oct-20212.3 KiB8655

rtp_transceiver_interface.hH A D21-Oct-20218.3 KiB18056

scoped_refptr.hH A D21-Oct-20214.2 KiB16674

scoped_refptr_unittest.ccH A D21-Oct-20212.9 KiB11279

sctp_transport_interface.ccH A D21-Oct-20211 KiB3316

sctp_transport_interface.hH A D21-Oct-20213.6 KiB9353

sequence_checker.hH A D21-Oct-20213.8 KiB11727

sequence_checker_unittest.ccH A D21-Oct-20215 KiB175125

set_local_description_observer_interface.hH A D21-Oct-20211.1 KiB3111

set_remote_description_observer_interface.hH A D21-Oct-20211.1 KiB3211

stats_types.ccH A D21-Oct-202126.8 KiB848719

stats_types.hH A D21-Oct-202115.8 KiB456310

turn_customizer.hH A D21-Oct-20211.4 KiB4621

uma_metrics.hH A D21-Oct-20218.2 KiB212116

video_track_source_proxy.hH A D21-Oct-20212 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