fune/third_party/libwebrtc/api
2024-05-28 16:14:47 +00:00
..
adaptation Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
array_view_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
async_dns_resolver_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
audio Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
audio_codecs Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
audio_options_api_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
bitrate_allocation_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
call Bug 1892299 - Vendor libwebrtc from 5ace0710bf 2024-04-29 20:29:56 -07:00
call_api_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
crypto Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
environment Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
fec_controller_api_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
field_trials_registry_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
field_trials_view_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
frame_transformer_interface_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
function_view_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
g3doc Bug 1833237 - Vendor libwebrtc from a617867a45 2023-06-01 15:13:08 -07:00
libjingle_logging_api_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
libjingle_peerconnection_api_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
location_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
make_ref_counted_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
media_stream_interface_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
metronome Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
neteq Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
network_state_predictor_api_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
numerics Bug 1839451 - Vendor libwebrtc from 8566e779e3 2023-06-23 11:20:18 -04:00
priority_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
ref_count_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
refcountedbase_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
rtc_error_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
rtc_event_log Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
rtp_headers_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
rtp_packet_info_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
rtp_parameters_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
rtp_sender_interface_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
rtp_sender_setparameters_callback_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
rtp_transceiver_direction_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
scoped_refptr_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
sequence_checker_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
simulated_network_api_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
stats Bug 1888181 - Vendor libwebrtc from 523eff622e 2024-04-03 21:56:27 +02:00
task_queue Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
test Bug 1892299 - Vendor libwebrtc from 329f0ead43 2024-04-29 20:57:32 -07:00
transport Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
transport_api_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
units Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
video Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
video_codecs Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
video_track_source_constraints_gn Bug 1898601 - Automatic libwebrtc moz.build regeneration. r=webrtc-reviewers,pehrsons 2024-05-28 16:14:47 +00:00
voip Bug 1847074 - Vendor libwebrtc from bceec84aee 2023-08-10 12:47:32 -05:00
array_view.h Bug 1843113 - Vendor libwebrtc from 0e1d3c5675 2023-07-13 18:20:48 -05:00
array_view_unittest.cc
async_dns_resolver.h Bug 1860685 - Vendor libwebrtc from 96e1882860 2023-10-27 15:32:35 -05:00
audio_options.cc Bug 1851693 - Vendor libwebrtc from 87e74f9fb7 2023-09-18 15:26:59 -06:00
audio_options.h Bug 1851693 - Vendor libwebrtc from 87e74f9fb7 2023-09-18 15:26:59 -06:00
BUILD.gn Bug 1892299 - Vendor libwebrtc from afaae4e38a 2024-05-02 00:40:58 -07:00
candidate.cc Bug 1892299 - Vendor libwebrtc from c7a4b2a7eb 2024-04-26 01:06:59 -07:00
candidate.h Bug 1892299 - Vendor libwebrtc from 0242939296 2024-04-29 20:46:14 -07:00
candidate_unittest.cc Bug 1892299 - Vendor libwebrtc from c7a4b2a7eb 2024-04-26 01:06:59 -07:00
create_peerconnection_factory.cc Bug 1883116 - Vendor libwebrtc from 151003d341 2024-03-15 13:26:08 -06:00
create_peerconnection_factory.h Bug 1876843 - Vendor libwebrtc from 9aa115358e 2024-02-07 12:20:01 -05:00
data_channel_interface.cc Bug 1843113 - Vendor libwebrtc from a50a81a150 2023-07-13 19:10:41 -05:00
data_channel_interface.h Bug 1876843 - Vendor libwebrtc from 78f905e5cc 2024-02-08 09:05:38 -05:00
DEPS Bug 1883116 - Vendor libwebrtc from 7d637a9788 2024-03-16 08:44:34 -06:00
dtls_transport_interface.cc
dtls_transport_interface.h Bug 1876843 - Vendor libwebrtc from e8a2b3c834 2024-02-02 17:51:29 -05:00
dtmf_sender_interface.h Bug 1876843 - Vendor libwebrtc from e8a2b3c834 2024-02-02 17:51:29 -05:00
enable_media.cc Bug 1883116 - Vendor libwebrtc from 3d9c3687a4 2024-03-15 09:49:56 -06:00
enable_media.h Bug 1876843 - Vendor libwebrtc from 93214073f1 2024-02-02 17:57:23 -05:00
enable_media_with_defaults.cc Bug 1876843 - Vendor libwebrtc from 554f7db01c 2024-02-02 18:19:44 -05:00
enable_media_with_defaults.h Bug 1876843 - Vendor libwebrtc from 554f7db01c 2024-02-02 18:19:44 -05:00
fec_controller.h Bug 1883116 - Vendor libwebrtc from c95ad5fe9d 2024-03-15 17:05:02 -06:00
fec_controller_override.h
field_trials.cc
field_trials.h
field_trials_registry.cc Bug 1839451 - Vendor libwebrtc from 9109e856d5 2023-06-27 18:49:36 -04:00
field_trials_registry.h
field_trials_unittest.cc Bug 1822194 - Vendor libwebrtc from 2e3069bf07 2023-04-01 10:57:26 -05:00
field_trials_view.h Bug 1843113 - Vendor libwebrtc from e14abcb20b 2023-07-13 16:38:26 -05:00
frame_transformer_factory.cc Bug 1851693 - Vendor libwebrtc from 097a4decc2 2023-09-19 14:23:15 -06:00
frame_transformer_factory.h Bug 1851693 - Vendor libwebrtc from 097a4decc2 2023-09-19 14:23:15 -06:00
frame_transformer_interface.h Bug 1888181 - Vendor libwebrtc from 7aa797244d 2024-04-03 22:45:55 +02:00
function_view.h
function_view_unittest.cc
ice_transport_factory.cc
ice_transport_factory.h
ice_transport_interface.h Bug 1876843 - Vendor libwebrtc from 24510d43dc 2024-02-10 17:11:30 -05:00
jsep.cc
jsep.h Bug 1876843 - Vendor libwebrtc from e8a2b3c834 2024-02-02 17:51:29 -05:00
jsep_ice_candidate.cc
jsep_ice_candidate.h
jsep_session_description.h Bug 1839451 - Vendor libwebrtc from 7f4270d160 2023-06-29 17:19:45 -04:00
legacy_stats_types.cc Bug 1851693 - Vendor libwebrtc from 51b82067ca 2023-09-19 13:55:19 -06:00
legacy_stats_types.h Bug 1876843 - Vendor libwebrtc from e8a2b3c834 2024-02-02 17:51:29 -05:00
location.h Bug 1839451 - Vendor libwebrtc from 2a256c82ec 2023-06-23 12:11:33 -04:00
make_ref_counted.h Bug 1839451 - Vendor libwebrtc from 6cf8b486eb 2023-06-29 17:16:26 -04:00
media_stream_interface.cc Bug 1847074 - Vendor libwebrtc from bceec84aee 2023-08-10 12:47:32 -05:00
media_stream_interface.h Bug 1876843 - Vendor libwebrtc from e8a2b3c834 2024-02-02 17:51:29 -05:00
media_stream_track.h
media_types.cc
media_types.h
network_state_predictor.h
notifier.h Bug 1843113 - Vendor libwebrtc from c848268ab1 2023-07-13 16:10:46 -05:00
OWNERS
packet_socket_factory.h Bug 1876843 - Vendor libwebrtc from 24510d43dc 2024-02-10 17:11:30 -05:00
peer_connection_interface.cc Bug 1876843 - Vendor libwebrtc from fe66dda733 2024-02-10 17:53:51 -05:00
peer_connection_interface.h Bug 1892299 - Vendor libwebrtc from 14613639bf 2024-04-26 11:37:49 -07:00
priority.h
README.md Bug 1867099 - Vendor libwebrtc from 541756ff6b 2023-11-29 12:05:21 -06:00
ref_count.h Bug 1876843 - Vendor libwebrtc from d6bac61b64 2024-02-02 14:50:20 -05:00
ref_counted_base.h
rtc_error.cc Bug 1839451 - Vendor libwebrtc from a2d85e4565 2023-06-30 14:08:31 -04:00
rtc_error.h Bug 1851693 - Vendor libwebrtc from be316dab88 2023-09-19 09:46:15 -06:00
rtc_error_unittest.cc Bug 1839451 - Vendor libwebrtc from a2d85e4565 2023-06-30 14:08:31 -04:00
rtc_event_log_output.h
rtc_event_log_output_file.cc
rtc_event_log_output_file.h
rtc_event_log_output_file_unittest.cc Bug 1888181 - Vendor libwebrtc from 4efc830e53 2024-04-04 13:33:23 +02:00
rtp_headers.cc Bug 1839451 - Vendor libwebrtc from b40aedf911 2023-06-29 20:58:00 -04:00
rtp_headers.h Bug 1839451 - Vendor libwebrtc from b40aedf911 2023-06-29 20:58:00 -04:00
rtp_packet_info.cc
rtp_packet_info.h
rtp_packet_info_unittest.cc
rtp_packet_infos.h
rtp_packet_infos_unittest.cc
rtp_parameters.cc Bug 1883116 - Vendor libwebrtc from b9405c4748 2024-03-15 16:54:02 -06:00
rtp_parameters.h Bug 1883116 - Vendor libwebrtc from b9405c4748 2024-03-15 16:54:02 -06:00
rtp_parameters_unittest.cc
rtp_receiver_interface.cc
rtp_receiver_interface.h Bug 1876843 - Vendor libwebrtc from e8a2b3c834 2024-02-02 17:51:29 -05:00
rtp_sender_interface.cc Bug 1822194 - Vendor libwebrtc from acabb3641b 2023-03-31 11:24:54 -05:00
rtp_sender_interface.h Bug 1876843 - Vendor libwebrtc from e8a2b3c834 2024-02-02 17:51:29 -05:00
rtp_sender_setparameters_callback.cc Bug 1822194 - (fix-acabb3641b) Break the new SetParametersCallback stuff into stand-alone files. 2023-03-31 16:21:41 -05:00
rtp_sender_setparameters_callback.h Bug 1822194 - (fix-acabb3641b) Break the new SetParametersCallback stuff into stand-alone files. 2023-03-31 16:21:41 -05:00
rtp_transceiver_direction.h
rtp_transceiver_interface.cc
rtp_transceiver_interface.h Bug 1876843 - Vendor libwebrtc from e8a2b3c834 2024-02-02 17:51:29 -05:00
scoped_refptr.h Bug 1876843 - Vendor libwebrtc from 23cecc1d43 2024-02-09 15:36:54 -05:00
scoped_refptr_unittest.cc
sctp_transport_interface.cc
sctp_transport_interface.h Bug 1892299 - Vendor libwebrtc from b41f07bc51 2024-04-29 20:38:09 -07:00
sequence_checker.h Bug 1871981 - Vendor libwebrtc from 7c1ddb760c 2024-01-03 11:53:53 -06:00
sequence_checker_unittest.cc Bug 1871981 - Vendor libwebrtc from 7c1ddb760c 2024-01-03 11:53:53 -06:00
set_local_description_observer_interface.h Bug 1876843 - Vendor libwebrtc from e8a2b3c834 2024-02-02 17:51:29 -05:00
set_remote_description_observer_interface.h Bug 1876843 - Vendor libwebrtc from e8a2b3c834 2024-02-02 17:51:29 -05:00
turn_customizer.h
uma_metrics.h Bug 1857862 - Vendor libwebrtc from 775470214a 2023-10-16 15:21:45 +02:00
video_track_source_constraints.h
video_track_source_proxy_factory.h
webrtc_key_value_config.h
wrapping_async_dns_resolver.cc

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.