Name Date Size #Lines LOC

..--

adaptation/H25-Apr-2025-13374

audio/H25-Apr-2025-2,8622,036

audio_codecs/H25-Apr-2025-4,7493,100

call/H25-Apr-2025-21394

crypto/H25-Apr-2025-345175

g3doc/H25-Apr-2025-12693

metronome/H25-Apr-2025-262150

neteq/H25-Apr-2025-1,161624

numerics/H25-Apr-2025-500341

rtc_event_log/H25-Apr-2025-372203

stats/H25-Apr-2025-1,431993

task_queue/H25-Apr-2025-1,426848

test/H25-Apr-2025-11,0937,312

transport/H25-Apr-2025-5,8214,240

units/H25-Apr-2025-1,7301,315

video/H25-Apr-2025-9,1406,284

video_codecs/H25-Apr-2025-7,4505,004

voip/H25-Apr-2025-954439

BUILD.gnH A D25-Apr-202535.6 KiB1,4871,347

DEPSH A D25-Apr-20257 KiB347288

OWNERS.webrtcH A D25-Apr-2025288 1510

README.mdH A D25-Apr-20251.2 KiB2519

array_view.hH A D25-Apr-202512.4 KiB331177

array_view_unittest.ccH A D25-Apr-202519.4 KiB631503

async_dns_resolver.hH A D25-Apr-20254.1 KiB10539

async_resolver_factory.hH A D25-Apr-20251 KiB3312

audio_options.ccH A D25-Apr-20254 KiB10887

audio_options.hH A D25-Apr-20253.2 KiB8132

candidate.ccH A D25-Apr-20256.5 KiB168115

candidate.hH A D25-Apr-20258.3 KiB223133

create_peerconnection_factory.ccH A D25-Apr-20253.5 KiB8464

create_peerconnection_factory.hH A D25-Apr-20252.1 KiB5833

crypto_params.hH A D25-Apr-20251.2 KiB4422

data_channel_interface.ccH A D25-Apr-20251.1 KiB4827

data_channel_interface.hH A D25-Apr-20257.6 KiB20390

dtls_transport_interface.ccH A D25-Apr-20252.6 KiB7454

dtls_transport_interface.hH A D25-Apr-20254.7 KiB12579

dtmf_sender_interface.hH A D25-Apr-20255.2 KiB12641

fec_controller.hH A D25-Apr-20253.7 KiB9344

fec_controller_override.hH A D25-Apr-2025840 2911

field_trials.ccH A D25-Apr-20253.9 KiB10865

field_trials.hH A D25-Apr-20251.9 KiB6023

field_trials_registry.ccH A D25-Apr-2025989 3217

field_trials_registry.hH A D25-Apr-20251.8 KiB5525

field_trials_unittest.ccH A D25-Apr-20255.3 KiB153116

field_trials_view.hH A D25-Apr-20251.5 KiB5020

frame_transformer_factory.ccH A D25-Apr-20251 KiB3416

frame_transformer_factory.hH A D25-Apr-20251.5 KiB4015

frame_transformer_interface.hH A D25-Apr-20253.9 KiB11360

function_view.hH A D25-Apr-20254.6 KiB13164

function_view_unittest.ccH A D25-Apr-20254.6 KiB177133

ice_transport_factory.ccH A D25-Apr-20252.1 KiB6842

ice_transport_factory.hH A D25-Apr-20251.7 KiB4815

ice_transport_interface.hH A D25-Apr-20256.3 KiB15891

jsep.ccH A D25-Apr-20251.8 KiB5840

jsep.hH A D25-Apr-20259.7 KiB254108

jsep_ice_candidate.ccH A D25-Apr-20252.1 KiB7751

jsep_ice_candidate.hH A D25-Apr-20253 KiB9150

jsep_session_description.hH A D25-Apr-20253.1 KiB9260

legacy_stats_types.ccH A D25-Apr-202526.8 KiB846718

legacy_stats_types.hH A D25-Apr-202515.9 KiB456310

make_ref_counted.hH A D25-Apr-20254.4 KiB12051

media_stream_interface.ccH A D25-Apr-20251 KiB3921

media_stream_interface.hH A D25-Apr-202514.1 KiB377192

media_stream_track.hH A D25-Apr-20251.8 KiB6542

media_types.ccH A D25-Apr-20251 KiB3821

media_types.hH A D25-Apr-20251.1 KiB4520

network_state_predictor.hH A D25-Apr-20251.7 KiB5726

notifier.hH A D25-Apr-20252 KiB6942

packet_socket_factory.hH A D25-Apr-20253.3 KiB10161

peer_connection_interface.ccH A D25-Apr-20253.7 KiB10974

peer_connection_interface.hH A D25-Apr-202575.1 KiB1,697675

priority.hH A D25-Apr-2025639 2711

ref_counted_base.hH A D25-Apr-20253.1 KiB9948

rtc_error.ccH A D25-Apr-20252 KiB8157

rtc_error.hH A D25-Apr-202511.6 KiB332137

rtc_error_unittest.ccH A D25-Apr-20257.3 KiB243167

rtc_event_log_output.hH A D25-Apr-20251.5 KiB4514

rtc_event_log_output_file.ccH A D25-Apr-20253 KiB8650

rtc_event_log_output_file.hH A D25-Apr-20251.8 KiB5926

rtc_event_log_output_file_unittest.ccH A D25-Apr-20256 KiB168112

rtp_headers.ccH A D25-Apr-20251.6 KiB5536

rtp_headers.hH A D25-Apr-20256.4 KiB18189

rtp_packet_info.ccH A D25-Apr-20252 KiB5736

rtp_packet_info.hH A D25-Apr-20253.8 KiB11867

rtp_packet_info_unittest.ccH A D25-Apr-20255.2 KiB219143

rtp_packet_infos.hH A D25-Apr-20254.3 KiB13285

rtp_packet_infos_unittest.ccH A D25-Apr-20253.7 KiB11477

rtp_parameters.ccH A D25-Apr-202510.6 KiB295233

rtp_parameters.hH A D25-Apr-202527.9 KiB720312

rtp_parameters_unittest.ccH A D25-Apr-202513.7 KiB304256

rtp_receiver_interface.ccH A D25-Apr-20251.2 KiB4525

rtp_receiver_interface.hH A D25-Apr-20255.1 KiB12445

rtp_sender_interface.ccH A D25-Apr-2025742 238

rtp_sender_interface.hH A D25-Apr-20254.9 KiB12453

rtp_transceiver_direction.hH A D25-Apr-2025753 2812

rtp_transceiver_interface.ccH A D25-Apr-20251.6 KiB6135

rtp_transceiver_interface.hH A D25-Apr-20258.2 KiB17956

scoped_refptr.hH A D25-Apr-20255.8 KiB223121

scoped_refptr_unittest.ccH A D25-Apr-20252.9 KiB11279

sctp_transport_interface.ccH A D25-Apr-20251 KiB3316

sctp_transport_interface.hH A D25-Apr-20253.6 KiB9353

sequence_checker.hH A D25-Apr-20254.1 KiB12226

sequence_checker_unittest.ccH A D25-Apr-20255.4 KiB195137

set_local_description_observer_interface.hH A D25-Apr-20251.1 KiB3111

set_remote_description_observer_interface.hH A D25-Apr-20251.1 KiB3211

turn_customizer.hH A D25-Apr-20251.4 KiB4721

uma_metrics.hH A D25-Apr-20257.1 KiB185103

video_track_source_constraints.hH A D25-Apr-20251.1 KiB3310

video_track_source_proxy_factory.hH A D25-Apr-20251.1 KiB3011

webrtc_key_value_config.hH A D25-Apr-2025653 184

wrapping_async_dns_resolver.ccH A D25-Apr-2025911 3217

wrapping_async_dns_resolver.hH A D25-Apr-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