Nagram/TMessagesProj/jni/voip/webrtc/api
2023-02-19 01:24:25 +04:00
..
adaptation Update to 8.6.0 2022-03-11 19:49:54 +03:00
audio update to 9.4.3 2023-02-19 01:24:25 +04:00
audio_codecs update to 9.4.3 2023-02-19 01:24:25 +04:00
call update to 9.4.3 2023-02-19 01:24:25 +04:00
crypto Update to 8.6.0 2022-03-11 19:49:54 +03:00
metronome update to 9.4.3 2023-02-19 01:24:25 +04:00
neteq update to 9.4.3 2023-02-19 01:24:25 +04:00
numerics update to 9.4.3 2023-02-19 01:24:25 +04:00
rtc_event_log update to 9.4.3 2023-02-19 01:24:25 +04:00
stats update to 9.4.3 2023-02-19 01:24:25 +04:00
task_queue update to 9.4.3 2023-02-19 01:24:25 +04:00
test update to 9.4.3 2023-02-19 01:24:25 +04:00
transport update to 9.4.3 2023-02-19 01:24:25 +04:00
units update to 9.4.3 2023-02-19 01:24:25 +04:00
video update to 9.4.3 2023-02-19 01:24:25 +04:00
video_codecs update to 9.4.3 2023-02-19 01:24:25 +04:00
voip Update to 8.6.0 2022-03-11 19:49:54 +03:00
array_view.h Update to 8.6.0 2022-03-11 19:49:54 +03:00
async_dns_resolver.h update to 9.4.3 2023-02-19 01:24:25 +04:00
async_resolver_factory.h Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
audio_options.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
audio_options.h update to 9.4.3 2023-02-19 01:24:25 +04:00
candidate.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
candidate.h update to 9.4.3 2023-02-19 01:24:25 +04:00
create_peerconnection_factory.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
create_peerconnection_factory.h update to 9.4.3 2023-02-19 01:24:25 +04:00
crypto_params.h update to 9.4.3 2023-02-19 01:24:25 +04:00
data_channel_interface.cc Update to 8.6.0 2022-03-11 19:49:54 +03:00
data_channel_interface.h Update to 8.6.0 2022-03-11 19:49:54 +03:00
dtls_transport_interface.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
dtls_transport_interface.h update to 9.4.3 2023-02-19 01:24:25 +04:00
dtmf_sender_interface.h Update to 8.6.0 2022-03-11 19:49:54 +03:00
fec_controller_override.h Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
fec_controller.h Update to 8.6.0 2022-03-11 19:49:54 +03:00
field_trials_registry.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
field_trials_registry.h update to 9.4.3 2023-02-19 01:24:25 +04:00
field_trials_view.h update to 9.4.3 2023-02-19 01:24:25 +04:00
field_trials.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
field_trials.h update to 9.4.3 2023-02-19 01:24:25 +04:00
frame_transformer_interface.h update to 9.4.3 2023-02-19 01:24:25 +04:00
function_view.h Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
ice_transport_factory.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
ice_transport_factory.h Update to 8.6.0 2022-03-11 19:49:54 +03:00
ice_transport_interface.h update to 9.4.3 2023-02-19 01:24:25 +04:00
jsep_ice_candidate.cc Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
jsep_ice_candidate.h update to 9.4.3 2023-02-19 01:24:25 +04:00
jsep_session_description.h update to 9.4.3 2023-02-19 01:24:25 +04:00
jsep.cc Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
jsep.h Update to 8.6.0 2022-03-11 19:49:54 +03:00
make_ref_counted.h update to 9.4.3 2023-02-19 01:24:25 +04:00
media_stream_interface.cc Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
media_stream_interface.h update to 9.4.3 2023-02-19 01:24:25 +04:00
media_stream_track.h update to 9.4.3 2023-02-19 01:24:25 +04:00
media_types.cc Update to 8.6.0 2022-03-11 19:49:54 +03:00
media_types.h Update to 7.3.0 (2195) 2020-12-23 11:48:30 +04:00
network_state_predictor.h Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
notifier.h update to 9.4.3 2023-02-19 01:24:25 +04:00
OWNERS update to 9.4.3 2023-02-19 01:24:25 +04:00
packet_socket_factory.h Update to 8.6.0 2022-03-11 19:49:54 +03:00
peer_connection_interface.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
peer_connection_interface.h update to 9.4.3 2023-02-19 01:24:25 +04:00
priority.h Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
proxy.cc Update to 7.3.0 (2195) 2020-12-23 11:48:30 +04:00
README.md Update to 7.8.0 (2359) 2021-06-25 03:43:10 +03:00
ref_counted_base.h update to 9.4.3 2023-02-19 01:24:25 +04:00
rtc_error.cc Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
rtc_error.h update to 9.4.3 2023-02-19 01:24:25 +04:00
rtc_event_log_output_file.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
rtc_event_log_output_file.h update to 9.4.3 2023-02-19 01:24:25 +04:00
rtc_event_log_output.h update to 9.4.3 2023-02-19 01:24:25 +04:00
rtp_headers.cc Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
rtp_headers.h update to 9.4.3 2023-02-19 01:24:25 +04:00
rtp_packet_info.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
rtp_packet_info.h update to 9.4.3 2023-02-19 01:24:25 +04:00
rtp_packet_infos.h update to 9.4.3 2023-02-19 01:24:25 +04:00
rtp_parameters.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
rtp_parameters.h update to 9.4.3 2023-02-19 01:24:25 +04:00
rtp_receiver_interface.cc Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
rtp_receiver_interface.h Update to 8.6.0 2022-03-11 19:49:54 +03:00
rtp_sender_interface.h update to 9.4.3 2023-02-19 01:24:25 +04:00
rtp_transceiver_direction.h Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
rtp_transceiver_interface.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
rtp_transceiver_interface.h update to 9.4.3 2023-02-19 01:24:25 +04:00
scoped_refptr.h update to 9.4.3 2023-02-19 01:24:25 +04:00
sctp_transport_interface.cc Update to 7.1.0 (2090) 2020-09-30 16:48:47 +03:00
sctp_transport_interface.h Update to 7.8.0 (2359) 2021-06-25 03:43:10 +03:00
sequence_checker.h update to 9.4.3 2023-02-19 01:24:25 +04:00
set_local_description_observer_interface.h Update to 8.6.0 2022-03-11 19:49:54 +03:00
set_remote_description_observer_interface.h Update to 8.6.0 2022-03-11 19:49:54 +03:00
stats_types.cc update to 9.4.3 2023-02-19 01:24:25 +04:00
stats_types.h update to 9.4.3 2023-02-19 01:24:25 +04:00
turn_customizer.h update to 9.4.3 2023-02-19 01:24:25 +04:00
uma_metrics.h update to 9.4.3 2023-02-19 01:24:25 +04:00
video_track_source_constraints.h Update to 8.6.0 2022-03-11 19:49:54 +03:00
video_track_source_proxy_factory.h update to 9.4.3 2023-02-19 01:24:25 +04:00
webrtc_key_value_config.h update to 9.4.3 2023-02-19 01:24:25 +04:00
wrapping_async_dns_resolver.cc Update to 8.6.0 2022-03-11 19:49:54 +03:00
wrapping_async_dns_resolver.h update to 9.4.3 2023-02-19 01:24:25 +04: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.