webrtc/api
2023-02-17 11:35:29 -05:00
..
adaptation Remove rtc_base:rtc_base_approved 2022-05-05 09:43:31 +00:00
audio Finish resolving merge conflicts 2022-11-11 19:10:59 -05:00
audio_codecs Merge branch 'm110' into 5481 2023-02-17 11:35:29 -05:00
call Make header files self contained. 2022-10-08 08:38:36 +00:00
crypto ks 2021-10-29 07:49:26 -06:00
g3doc Update links to point at main branch 2021-07-22 16:41:26 +00:00
metronome Cleanup merge differences from upstream 2023-01-25 17:17:55 -08:00
neteq Finish resolving merge conflicts 2022-11-11 19:10:59 -05:00
numerics Migrate CallSimulator to the new perf metrics logging API 2022-09-26 19:37:51 +00:00
rtc_event_log Change RTCEventLogFactory to have a const Create function 2022-06-28 23:48:37 +00:00
stats Merge branch 'm110' into 5481 2023-02-17 11:35:29 -05:00
task_queue Fix post-merge errors 2022-11-16 17:17:11 -05:00
test Merge branch 'm110' into 5481 2023-02-17 11:35:29 -05:00
transport Merge branch 'm110' into 5481 2023-02-17 11:35:29 -05:00
units Add IWYU pragmas for some api headers 2022-10-31 15:43:16 +00:00
video Rename VideoFrameMetadata tests to RTPVideoHeaderTest. 2022-11-29 16:03:20 +00:00
video_codecs Make requested_resolution_alignment of webrtc::EncoderInfo as uint32_t. 2022-12-12 06:02:59 +00:00
voip Clean up diff 2022-11-18 15:39:11 -05:00
array_view.h Fix array_view nested namespace. 2021-08-16 14:38:57 +00:00
array_view_unittest.cc Update to WebRTC 4389 (e7d9f74) 2021-04-16 13:26:31 -07:00
async_dns_resolver.h Finish resolving merge conflicts 2022-11-11 19:10:59 -05:00
async_resolver_factory.h
audio_options.cc Finish resolving merge conflicts 2022-11-11 19:10:59 -05:00
audio_options.h Finish resolving merge conflicts 2022-11-11 19:10:59 -05:00
BUILD.gn Merge branch 'm110' into 5481 2023-02-17 11:35:29 -05:00
candidate.cc Remove fields from remote candidates that could cause crashes in GetStats 2022-10-19 08:06:23 +00:00
candidate.h Limit number of TURN servers to 32 2022-11-29 17:04:11 +00:00
create_peerconnection_factory.cc Reland "Add TaskQueueStdlib experiment." 2022-08-29 10:48:42 +00:00
create_peerconnection_factory.h WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 16/inf 2022-04-20 06:35:27 +00:00
crypto_params.h Delete variant of rtc::split that copies the output fields 2022-06-09 08:29:33 +00:00
data_channel_interface.cc Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
data_channel_interface.h Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
DEPS Merge branch 'm110' into 5481 2023-02-17 11:35:29 -05:00
dtls_transport_interface.cc Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
dtls_transport_interface.h Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
dtmf_sender_interface.h Use backticks not vertical bars to denote variables in comments for /api 2021-07-26 18:27:34 +00:00
fec_controller.h Use backticks not vertical bars to denote variables in comments for /api 2021-07-26 18:27:34 +00:00
fec_controller_override.h
field_trials.cc Finish resolving merge conflicts 2022-11-11 19:10:59 -05:00
field_trials.h Finish resolving merge conflicts 2022-11-11 19:10:59 -05:00
field_trials_registry.cc Add FieldTrialsRegistry that verifies looked up field trials 2022-10-24 09:12:30 +00:00
field_trials_registry.h Add FieldTrialsRegistry that verifies looked up field trials 2022-10-24 09:12:30 +00:00
field_trials_unittest.cc Use ScopedFieldTrials in FieldTrialsTest 2022-12-02 15:57:57 +00:00
field_trials_view.h Add FieldTrialsRegistry that verifies looked up field trials 2022-10-24 09:12:30 +00:00
frame_transformer_factory.cc Add a clone method to the video frame transformer API. 2022-11-25 11:18:22 +00:00
frame_transformer_factory.h Add a clone method to the video frame transformer API. 2022-11-25 11:18:22 +00:00
frame_transformer_interface.h Add GetContributionSources to TransformableIncomingAudioFrame 2022-10-11 12:52:21 +00:00
function_view.h
function_view_unittest.cc
ice_gatherer_interface.h
ice_transport_factory.cc Add rtc::make_ref_counted to api/ 2022-06-13 15:53:27 +00:00
ice_transport_factory.h Use backticks not vertical bars to denote variables in comments 2021-08-10 10:40:03 +00:00
ice_transport_interface.h Finish resolving merge conflicts 2022-11-11 19:10:59 -05:00
jsep.cc Update to WebRTC 4103 (M83) (#12) 2020-06-25 11:14:34 -07:00
jsep.h Use backticks not vertical bars to denote variables in comments 2021-08-10 10:40:03 +00:00
jsep_ice_candidate.cc
jsep_ice_candidate.h Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
jsep_session_description.h Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
legacy_stats_types.cc Rename api/stats_types.h to api/legacy_stats_types.h. 2022-11-11 10:29:25 +00:00
legacy_stats_types.h Rename api/stats_types.h to api/legacy_stats_types.h. 2022-11-11 10:29:25 +00:00
make_ref_counted.h Move rtc::make_ref_counted to api/ 2022-06-15 09:47:38 +00:00
media_stream_interface.cc
media_stream_interface.h Finish resolving merge conflicts 2022-11-11 19:10:59 -05:00
media_stream_track.h Use string_view to pass track ids to constructors 2022-05-30 10:28:57 +00:00
media_types.cc Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
media_types.h Revert "Define cricket::MediaType in terms of webrtc::MediaType" 2021-05-12 17:06:58 +00:00
network_state_predictor.h
notifier.h Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
OWNERS Rearrange api/OWNERS to show who's backup OWNERS 2022-10-07 05:56:08 +00:00
packet_socket_factory.h Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
peer_connection_interface.cc Merge in M108 2022-11-11 17:02:35 -05:00
peer_connection_interface.h Merge branch 'm110' into 5481 2023-02-17 11:35:29 -05:00
priority.h Merge with 4183 (M85) (#25) 2020-09-01 14:43:30 -07:00
README.md Move style guide and abseil-in-webrtc into g3doc subfolder 2021-05-13 14:43:10 +00:00
ref_counted_base.h Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
rtc_error.cc
rtc_error.h Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
rtc_error_unittest.cc
rtc_event_log_output.h Remove unnecessary overload in RtcEventLogOutput 2022-07-12 22:09:36 +00:00
rtc_event_log_output_file.cc Remove unnecessary std::string overloads 2022-07-07 14:24:14 +00:00
rtc_event_log_output_file.h Remove unnecessary std::string overloads 2022-07-07 14:24:14 +00:00
rtc_event_log_output_file_unittest.cc Remove unnecessary overload in RtcEventLogOutput 2022-07-12 22:09:36 +00:00
rtp_headers.cc Merge with 4183 (M85) (#25) 2020-09-01 14:43:30 -07:00
rtp_headers.h In RemoteEstimatorProxy use Timestamp type 2022-06-13 10:07:46 +00:00
rtp_packet_info.cc RtpPacketInfo: deprecated ctors and getter removed 2022-09-21 12:00:56 +00:00
rtp_packet_info.h RtpPacketInfo: deprecated ctors and getter removed 2022-09-21 12:00:56 +00:00
rtp_packet_info_unittest.cc Surface local_capture_clock_offset from RtpSource 2022-09-20 12:51:22 +00:00
rtp_packet_infos.h Merge in M108 2022-11-11 17:02:35 -05:00
rtp_packet_infos_unittest.cc RtpPacketInfo: new ctor + deprecated ctors clean-up 2022-09-20 08:58:38 +00:00
rtp_parameters.cc Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
rtp_parameters.h Reland "RtpEncodingParameters::request_resolution patch 1" 2022-09-23 11:48:19 +00:00
rtp_parameters_unittest.cc Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
rtp_receiver_interface.cc Update to WebRTC 4103 (M83) (#12) 2020-06-25 11:14:34 -07:00
rtp_receiver_interface.h Use backticks not vertical bars to denote variables in comments for /api 2021-07-26 18:27:34 +00:00
rtp_sender_interface.cc pc: Add asynchronous RtpSender::SetParameters() call 2022-11-15 15:31:40 +00:00
rtp_sender_interface.h pc: Add asynchronous RtpSender::SetParameters() call 2022-11-15 15:31:40 +00:00
rtp_transceiver_direction.h Update to WebRTC 4103 (M83) (#12) 2020-06-25 11:14:34 -07:00
rtp_transceiver_interface.cc Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
rtp_transceiver_interface.h Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
scoped_refptr.h Delete implicit conversion from rtc::scoped_refptr<T> to T* 2022-05-09 09:06:44 +00:00
scoped_refptr_unittest.cc Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
sctp_transport_interface.cc
sctp_transport_interface.h Reland "Fix unsynchronized access to mid_to_transport_ in JsepTransportController" 2021-02-10 13:40:22 +00:00
sequence_checker.h Inline assert in RTC_DCHECK_RUN_ON macro 2022-08-03 13:28:28 +00:00
sequence_checker_unittest.cc Make ExpectationToString generate detailed logs in more cases. 2022-09-26 16:24:04 +00:00
set_local_description_observer_interface.h Use backticks not vertical bars to denote variables in comments 2021-08-10 10:40:03 +00:00
set_remote_description_observer_interface.h Use backticks not vertical bars to denote variables in comments 2021-08-10 10:40:03 +00:00
turn_customizer.h Make header files self contained. 2022-10-08 08:38:36 +00:00
uma_metrics.h Remove the KeyProtocol metric 2022-10-03 14:20:17 +00:00
video_track_source_constraints.h Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
video_track_source_proxy_factory.h Make header files self contained. 2022-10-08 08:38:36 +00:00
webrtc_key_value_config.h Update to 5005 (M102) (#86) 2022-08-24 11:07:33 -04:00
wrapping_async_dns_resolver.cc Update to 4896 (M100) (#72) 2022-04-15 17:13:23 -06:00
wrapping_async_dns_resolver.h Finish resolving merge conflicts 2022-11-11 19:10:59 -05:00

How to write code in the api/ directory

Mostly, just follow the regular style guide, but:

  • Note that api/ code is not exempt from the “.h and .cc files come in pairs” rule, so if you declare something in api/path/to/foo.h, it should be defined in api/path/to/foo.cc.
  • Headers in api/ should, if possible, not #include headers outside api/. Its not always possible to avoid this, but be aware that it adds to a small mountain of technical debt that were trying to shrink.
  • .cc files in api/, on the other hand, are free to #include headers outside api/.

That is, the preferred way for api/ code to access non-api/ code is to call it from a .cc file, so that users of our API headers wont transitively #include non-public headers.

For headers in api/ that need to refer to non-public types, forward declarations are often a lesser evil than including non-public header files. The usual rules still apply, though.

.cc files in api/ should preferably be kept reasonably small. If a substantial implementation is needed, consider putting it with our non-public code, and just call it from the api/ .cc file.