• Home
Name
Date
Size
#Lines
LOC

..--

adaptation/03-May-2024-13374

audio/03-May-2024-2,8622,036

audio_codecs/03-May-2024-4,7493,100

call/03-May-2024-21394

crypto/03-May-2024-345175

g3doc/03-May-2024-12693

metronome/03-May-2024-262150

neteq/03-May-2024-1,161624

numerics/03-May-2024-500341

rtc_event_log/03-May-2024-372203

stats/03-May-2024-1,431993

task_queue/03-May-2024-1,426848

test/03-May-2024-11,0937,312

transport/03-May-2024-5,8214,240

units/03-May-2024-1,7301,315

video/03-May-2024-9,1406,284

video_codecs/03-May-2024-7,4505,004

voip/03-May-2024-954439

BUILD.gnD03-May-202435.6 KiB1,4871,347

DEPSD03-May-20247 KiB347288

OWNERS.webrtcD03-May-2024288 1510

README.mdD03-May-20241.2 KiB2519

array_view.hD03-May-202412.4 KiB331177

array_view_unittest.ccD03-May-202419.4 KiB631503

async_dns_resolver.hD03-May-20244.1 KiB10539

async_resolver_factory.hD03-May-20241 KiB3312

audio_options.ccD03-May-20244 KiB10887

audio_options.hD03-May-20243.2 KiB8132

candidate.ccD03-May-20246.5 KiB168115

candidate.hD03-May-20248.3 KiB223133

create_peerconnection_factory.ccD03-May-20243.5 KiB8464

create_peerconnection_factory.hD03-May-20242.1 KiB5833

crypto_params.hD03-May-20241.2 KiB4422

data_channel_interface.ccD03-May-20241.1 KiB4827

data_channel_interface.hD03-May-20247.6 KiB20390

dtls_transport_interface.ccD03-May-20242.6 KiB7454

dtls_transport_interface.hD03-May-20244.7 KiB12579

dtmf_sender_interface.hD03-May-20245.2 KiB12641

fec_controller.hD03-May-20243.7 KiB9344

fec_controller_override.hD03-May-2024840 2911

field_trials.ccD03-May-20243.9 KiB10865

field_trials.hD03-May-20241.9 KiB6023

field_trials_registry.ccD03-May-2024989 3217

field_trials_registry.hD03-May-20241.8 KiB5525

field_trials_unittest.ccD03-May-20245.3 KiB153116

field_trials_view.hD03-May-20241.5 KiB5020

frame_transformer_factory.ccD03-May-20241 KiB3416

frame_transformer_factory.hD03-May-20241.5 KiB4015

frame_transformer_interface.hD03-May-20243.9 KiB11360

function_view.hD03-May-20244.6 KiB13164

function_view_unittest.ccD03-May-20244.6 KiB177133

ice_transport_factory.ccD03-May-20242.1 KiB6842

ice_transport_factory.hD03-May-20241.7 KiB4815

ice_transport_interface.hD03-May-20246.3 KiB15891

jsep.ccD03-May-20241.8 KiB5840

jsep.hD03-May-20249.7 KiB254108

jsep_ice_candidate.ccD03-May-20242.1 KiB7751

jsep_ice_candidate.hD03-May-20243 KiB9150

jsep_session_description.hD03-May-20243.1 KiB9260

legacy_stats_types.ccD03-May-202426.8 KiB846718

legacy_stats_types.hD03-May-202415.9 KiB456310

make_ref_counted.hD03-May-20244.4 KiB12051

media_stream_interface.ccD03-May-20241 KiB3921

media_stream_interface.hD03-May-202414.1 KiB377192

media_stream_track.hD03-May-20241.8 KiB6542

media_types.ccD03-May-20241 KiB3821

media_types.hD03-May-20241.1 KiB4520

network_state_predictor.hD03-May-20241.7 KiB5726

notifier.hD03-May-20242 KiB6942

packet_socket_factory.hD03-May-20243.3 KiB10161

peer_connection_interface.ccD03-May-20243.7 KiB10974

peer_connection_interface.hD03-May-202475.1 KiB1,697675

priority.hD03-May-2024639 2711

ref_counted_base.hD03-May-20243.1 KiB9948

rtc_error.ccD03-May-20242 KiB8157

rtc_error.hD03-May-202411.6 KiB332137

rtc_error_unittest.ccD03-May-20247.3 KiB243167

rtc_event_log_output.hD03-May-20241.5 KiB4514

rtc_event_log_output_file.ccD03-May-20243 KiB8650

rtc_event_log_output_file.hD03-May-20241.8 KiB5926

rtc_event_log_output_file_unittest.ccD03-May-20246 KiB168112

rtp_headers.ccD03-May-20241.6 KiB5536

rtp_headers.hD03-May-20246.4 KiB18189

rtp_packet_info.ccD03-May-20242 KiB5736

rtp_packet_info.hD03-May-20243.8 KiB11867

rtp_packet_info_unittest.ccD03-May-20245.2 KiB219143

rtp_packet_infos.hD03-May-20244.3 KiB13285

rtp_packet_infos_unittest.ccD03-May-20243.7 KiB11477

rtp_parameters.ccD03-May-202410.6 KiB295233

rtp_parameters.hD03-May-202427.9 KiB720312

rtp_parameters_unittest.ccD03-May-202413.7 KiB304256

rtp_receiver_interface.ccD03-May-20241.2 KiB4525

rtp_receiver_interface.hD03-May-20245.1 KiB12445

rtp_sender_interface.ccD03-May-2024742 238

rtp_sender_interface.hD03-May-20244.9 KiB12453

rtp_transceiver_direction.hD03-May-2024753 2812

rtp_transceiver_interface.ccD03-May-20241.6 KiB6135

rtp_transceiver_interface.hD03-May-20248.2 KiB17956

scoped_refptr.hD03-May-20245.8 KiB223121

scoped_refptr_unittest.ccD03-May-20242.9 KiB11279

sctp_transport_interface.ccD03-May-20241 KiB3316

sctp_transport_interface.hD03-May-20243.6 KiB9353

sequence_checker.hD03-May-20244.1 KiB12226

sequence_checker_unittest.ccD03-May-20245.4 KiB195137

set_local_description_observer_interface.hD03-May-20241.1 KiB3111

set_remote_description_observer_interface.hD03-May-20241.1 KiB3211

turn_customizer.hD03-May-20241.4 KiB4721

uma_metrics.hD03-May-20247.1 KiB185103

video_track_source_constraints.hD03-May-20241.1 KiB3310

video_track_source_proxy_factory.hD03-May-20241.1 KiB3011

webrtc_key_value_config.hD03-May-2024653 184

wrapping_async_dns_resolver.ccD03-May-2024911 3217

wrapping_async_dns_resolver.hD03-May-20244.4 KiB13288

README.md

1 # How to write code in the `api/` directory
2 
3 Mostly, 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 
14 That is, the preferred way for `api/` code to access non-`api/` code is to call
15 it from a `.cc` file, so that users of our API headers won’t transitively
16 `#include` non-public headers.
17 
18 For headers in `api/` that need to refer to non-public types, forward
19 declarations are often a lesser evil than including non-public header files. The
20 usual [rules](../g3doc/style-guide.md#forward-declarations) still apply, though.
21 
22 `.cc` files in `api/` should preferably be kept reasonably small. If a
23 substantial implementation is needed, consider putting it with our non-public
24 code, and just call it from the `api/` `.cc` file.
25