trisquel-icecat/icecat/third_party/libwebrtc/api
2025-10-06 02:35:48 -06:00
..
adaptation icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
array_view_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
async_dns_resolver_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
audio icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
audio_codecs icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
audio_options_api_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
bitrate_allocation_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
call icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
call_api_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
crypto icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
environment icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
fec_controller_api_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
field_trials_registry_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
field_trials_view_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
frame_transformer_interface_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
function_view_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
g3doc icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
libjingle_logging_api_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
libjingle_peerconnection_api_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
location_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
make_ref_counted_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
media_stream_interface_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
metronome icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
neteq icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
network_state_predictor_api_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
numerics icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
priority_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
ref_count_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
refcountedbase_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtc_error_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtc_event_log icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_headers_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_packet_info_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_packet_sender_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_parameters_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_sender_interface_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_sender_setparameters_callback_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_transceiver_direction_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
scoped_refptr_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
sequence_checker_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
simulated_network_api_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
stats icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
task_queue icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
test icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
transport icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
transport_api_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
units icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
video icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
video_codecs icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
video_track_source_constraints_gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
voip icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
array_view.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
array_view_unittest.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
async_dns_resolver.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
audio_options.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
audio_options.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
BUILD.gn icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
candidate.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
candidate.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
candidate_unittest.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
create_peerconnection_factory.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
create_peerconnection_factory.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
data_channel_interface.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
data_channel_interface.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
DEPS icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
dtls_transport_interface.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
dtls_transport_interface.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
dtmf_sender_interface.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
enable_media.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
enable_media.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
enable_media_with_defaults.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
enable_media_with_defaults.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
fec_controller.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
fec_controller_override.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
field_trials.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
field_trials.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
field_trials_registry.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
field_trials_registry.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
field_trials_unittest.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
field_trials_view.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
frame_transformer_factory.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
frame_transformer_factory.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
frame_transformer_interface.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
frame_transformer_interface.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
function_view.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
function_view_unittest.cc icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
ice_transport_factory.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
ice_transport_factory.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
ice_transport_interface.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
jsep.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
jsep.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
jsep_ice_candidate.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
jsep_ice_candidate.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
jsep_session_description.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
jsep_unittest.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
legacy_stats_types.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
legacy_stats_types.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
location.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
make_ref_counted.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
media_stream_interface.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
media_stream_interface.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
media_stream_track.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
media_types.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
media_types.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
network_state_predictor.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
notifier.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
OWNERS icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
packet_socket_factory.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
peer_connection_interface.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
peer_connection_interface.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
priority.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
README.md icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
ref_count.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
ref_counted_base.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtc_error.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtc_error.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtc_error_unittest.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtc_event_log_output.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtc_event_log_output_file.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtc_event_log_output_file.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtc_event_log_output_file_unittest.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_headers.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_headers.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_packet_info.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_packet_info.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_packet_info_unittest.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_packet_infos.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_packet_infos_unittest.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_packet_sender.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_parameters.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_parameters.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_parameters_unittest.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_receiver_interface.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_receiver_interface.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_sender_interface.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_sender_interface.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_sender_setparameters_callback.cc icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
rtp_sender_setparameters_callback.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
rtp_transceiver_direction.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
rtp_transceiver_interface.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
rtp_transceiver_interface.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
scoped_refptr.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
scoped_refptr_unittest.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
sctp_transport_interface.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
sctp_transport_interface.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
sequence_checker.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
sequence_checker_unittest.cc icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
set_local_description_observer_interface.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
set_remote_description_observer_interface.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
turn_customizer.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
uma_metrics.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
video_track_source_constraints.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
video_track_source_proxy_factory.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06:00
webrtc_key_value_config.h icecat: add release 140.3.1-1gnu1 2025-10-06 02:35:48 -06: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/.
  • Avoid structs in api, prefer classes.

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.

Avoid defining api with structs as it makes harder for the api to evolve. Your struct may gain invariant, or change how it represents data. Evolving struct from the api is particular challenging as it is designed to be used in other code bases and thus needs to be updated independetly from its usage. Class with accessors and setters makes such migration safer. See Google C++ style guide for more.

If you need to evolve existent struct in api, prefer first to convert it into a class.