• Home
Name Date Size #Lines LOC

..--

adaptation/04-Jul-2025-13374

audio/04-Jul-2025-2,8622,036

audio_codecs/04-Jul-2025-4,7493,100

call/04-Jul-2025-21394

crypto/04-Jul-2025-345175

g3doc/04-Jul-2025-12693

metronome/04-Jul-2025-262150

neteq/04-Jul-2025-1,161624

numerics/04-Jul-2025-500341

rtc_event_log/04-Jul-2025-372203

stats/04-Jul-2025-1,431993

task_queue/04-Jul-2025-1,426848

test/04-Jul-2025-11,0937,312

transport/04-Jul-2025-5,8214,240

units/04-Jul-2025-1,7301,315

video/04-Jul-2025-9,1406,284

video_codecs/04-Jul-2025-7,4505,004

voip/04-Jul-2025-954439

BUILD.gnD04-Jul-202535.6 KiB1,4871,347

DEPSD04-Jul-20257 KiB347288

OWNERS.webrtcD04-Jul-2025288 1510

README.mdD04-Jul-20251.2 KiB2519

array_view.hD04-Jul-202512.4 KiB331177

array_view_unittest.ccD04-Jul-202519.4 KiB631503

async_dns_resolver.hD04-Jul-20254.1 KiB10539

async_resolver_factory.hD04-Jul-20251 KiB3312

audio_options.ccD04-Jul-20254 KiB10887

audio_options.hD04-Jul-20253.2 KiB8132

candidate.ccD04-Jul-20256.5 KiB168115

candidate.hD04-Jul-20258.3 KiB223133

create_peerconnection_factory.ccD04-Jul-20253.5 KiB8464

create_peerconnection_factory.hD04-Jul-20252.1 KiB5833

crypto_params.hD04-Jul-20251.2 KiB4422

data_channel_interface.ccD04-Jul-20251.1 KiB4827

data_channel_interface.hD04-Jul-20257.6 KiB20390

dtls_transport_interface.ccD04-Jul-20252.6 KiB7454

dtls_transport_interface.hD04-Jul-20254.7 KiB12579

dtmf_sender_interface.hD04-Jul-20255.2 KiB12641

fec_controller.hD04-Jul-20253.7 KiB9344

fec_controller_override.hD04-Jul-2025840 2911

field_trials.ccD04-Jul-20253.9 KiB10865

field_trials.hD04-Jul-20251.9 KiB6023

field_trials_registry.ccD04-Jul-2025989 3217

field_trials_registry.hD04-Jul-20251.8 KiB5525

field_trials_unittest.ccD04-Jul-20255.3 KiB153116

field_trials_view.hD04-Jul-20251.5 KiB5020

frame_transformer_factory.ccD04-Jul-20251 KiB3416

frame_transformer_factory.hD04-Jul-20251.5 KiB4015

frame_transformer_interface.hD04-Jul-20253.9 KiB11360

function_view.hD04-Jul-20254.6 KiB13164

function_view_unittest.ccD04-Jul-20254.6 KiB177133

ice_transport_factory.ccD04-Jul-20252.1 KiB6842

ice_transport_factory.hD04-Jul-20251.7 KiB4815

ice_transport_interface.hD04-Jul-20256.3 KiB15891

jsep.ccD04-Jul-20251.8 KiB5840

jsep.hD04-Jul-20259.7 KiB254108

jsep_ice_candidate.ccD04-Jul-20252.1 KiB7751

jsep_ice_candidate.hD04-Jul-20253 KiB9150

jsep_session_description.hD04-Jul-20253.1 KiB9260

legacy_stats_types.ccD04-Jul-202526.8 KiB846718

legacy_stats_types.hD04-Jul-202515.9 KiB456310

make_ref_counted.hD04-Jul-20254.4 KiB12051

media_stream_interface.ccD04-Jul-20251 KiB3921

media_stream_interface.hD04-Jul-202514.1 KiB377192

media_stream_track.hD04-Jul-20251.8 KiB6542

media_types.ccD04-Jul-20251 KiB3821

media_types.hD04-Jul-20251.1 KiB4520

network_state_predictor.hD04-Jul-20251.7 KiB5726

notifier.hD04-Jul-20252 KiB6942

packet_socket_factory.hD04-Jul-20253.3 KiB10161

peer_connection_interface.ccD04-Jul-20253.7 KiB10974

peer_connection_interface.hD04-Jul-202575.1 KiB1,697675

priority.hD04-Jul-2025639 2711

ref_counted_base.hD04-Jul-20253.1 KiB9948

rtc_error.ccD04-Jul-20252 KiB8157

rtc_error.hD04-Jul-202511.6 KiB332137

rtc_error_unittest.ccD04-Jul-20257.3 KiB243167

rtc_event_log_output.hD04-Jul-20251.5 KiB4514

rtc_event_log_output_file.ccD04-Jul-20253 KiB8650

rtc_event_log_output_file.hD04-Jul-20251.8 KiB5926

rtc_event_log_output_file_unittest.ccD04-Jul-20256 KiB168112

rtp_headers.ccD04-Jul-20251.6 KiB5536

rtp_headers.hD04-Jul-20256.4 KiB18189

rtp_packet_info.ccD04-Jul-20252 KiB5736

rtp_packet_info.hD04-Jul-20253.8 KiB11867

rtp_packet_info_unittest.ccD04-Jul-20255.2 KiB219143

rtp_packet_infos.hD04-Jul-20254.3 KiB13285

rtp_packet_infos_unittest.ccD04-Jul-20253.7 KiB11477

rtp_parameters.ccD04-Jul-202510.6 KiB295233

rtp_parameters.hD04-Jul-202527.9 KiB720312

rtp_parameters_unittest.ccD04-Jul-202513.7 KiB304256

rtp_receiver_interface.ccD04-Jul-20251.2 KiB4525

rtp_receiver_interface.hD04-Jul-20255.1 KiB12445

rtp_sender_interface.ccD04-Jul-2025742 238

rtp_sender_interface.hD04-Jul-20254.9 KiB12453

rtp_transceiver_direction.hD04-Jul-2025753 2812

rtp_transceiver_interface.ccD04-Jul-20251.6 KiB6135

rtp_transceiver_interface.hD04-Jul-20258.2 KiB17956

scoped_refptr.hD04-Jul-20255.8 KiB223121

scoped_refptr_unittest.ccD04-Jul-20252.9 KiB11279

sctp_transport_interface.ccD04-Jul-20251 KiB3316

sctp_transport_interface.hD04-Jul-20253.6 KiB9353

sequence_checker.hD04-Jul-20254.1 KiB12226

sequence_checker_unittest.ccD04-Jul-20255.4 KiB195137

set_local_description_observer_interface.hD04-Jul-20251.1 KiB3111

set_remote_description_observer_interface.hD04-Jul-20251.1 KiB3211

turn_customizer.hD04-Jul-20251.4 KiB4721

uma_metrics.hD04-Jul-20257.1 KiB185103

video_track_source_constraints.hD04-Jul-20251.1 KiB3310

video_track_source_proxy_factory.hD04-Jul-20251.1 KiB3011

webrtc_key_value_config.hD04-Jul-2025653 184

wrapping_async_dns_resolver.ccD04-Jul-2025911 3217

wrapping_async_dns_resolver.hD04-Jul-20254.4 KiB13288

README.md

1# How to write code in the `api/` directory
2
3Mostly, just follow the regular [style guide](../g3doc/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](../g3doc/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