webrtc/api
Rasmus Brandt c402dbe2b0 Account for simulcast hysteresis in padding rate calculation.
Bug: webrtc:10271
Change-Id: If0b0eb7d94fb1c892880ff4745f34c43fcdeee54
Reviewed-on: https://webrtc-review.googlesource.com/c/120661
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26527}
2019-02-04 10:49:04 +00:00
..
audio AEC3: Remove remaining kill-switches 2019-01-29 10:31:45 +00:00
audio_codecs [clang-tidy] Apply performance-move-const-arg fixes. 2019-02-01 15:02:36 +00:00
call (7) Rename files to snake_case: remove forwarding headers 2019-01-26 00:33:46 +00:00
crypto (7) Rename files to snake_case: remove forwarding headers 2019-01-26 00:33:46 +00:00
ortc (7) Rename files to snake_case: remove forwarding headers 2019-01-26 00:33:46 +00:00
stats Expose video freeze metrics in GetStats. 2019-02-04 09:58:08 +00:00
task_queue Add test to verify TaskQueue memory access order. 2019-01-31 14:45:45 +00:00
test [clang-tidy] Apply performance-move-const-arg fixes. 2019-02-01 15:02:36 +00:00
transport Enables feature to account for unacknowledged data. 2019-01-23 10:00:52 +00:00
units Adds bytes per second to DataType class. 2019-01-31 11:31:55 +00:00
video Account for simulcast hysteresis in padding rate calculation. 2019-02-04 10:49:04 +00:00
video_codecs Implement the encoding RtpParameter scaleResolutionDownBy 2019-01-29 14:32:17 +00:00
array_view.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
array_view_unittest.cc ArrayView, adding ctor for fixed-size views of const(expr) std::array. 2018-05-15 13:49:02 +00:00
async_resolver_factory.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
audio_options.cc Add PeerConnection option to enable RTX handling in the audio jitter buffer. 2019-01-10 16:28:43 +00:00
audio_options.h Add PeerConnection option to enable RTX handling in the audio jitter buffer. 2019-01-10 16:28:43 +00:00
bitrate_constraints.h Convert video quality test from a TEST_F to a TEST fixture. 2018-06-21 15:49:43 +00:00
BUILD.gn Add IceTransportInterface object 2019-01-30 16:16:51 +00:00
candidate.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
candidate.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
create_peerconnection_factory.cc Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
create_peerconnection_factory.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
crypto_params.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
data_channel_interface.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
data_channel_interface.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
DEPS Add IceTransportInterface object 2019-01-30 16:16:51 +00:00
dtls_transport_interface.h Add IceTransportInterface object 2019-01-30 16:16:51 +00:00
dtmf_sender_interface.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
fec_controller.h Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
ice_transport_factory.cc Add IceTransportInterface object 2019-01-30 16:16:51 +00:00
ice_transport_factory.h Add IceTransportInterface object 2019-01-30 16:16:51 +00:00
ice_transport_interface.h Add IceTransportInterface object 2019-01-30 16:16:51 +00:00
jsep.cc Move SdpType from/to string definition close to declaration. 2018-10-12 09:59:40 +00:00
jsep.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
jsep_ice_candidate.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
jsep_ice_candidate.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
jsep_session_description.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
media_constraints_interface.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
media_constraints_interface.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
media_stream_interface.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
media_stream_interface.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
media_stream_proxy.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
media_stream_track_proxy.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
media_transport_interface.cc Delete deprecated MediaTransport methods using VideoCodecType. 2019-01-30 10:31:21 +00:00
media_transport_interface.h Delete deprecated MediaTransport methods using VideoCodecType. 2019-01-30 10:31:21 +00:00
media_types.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
media_types.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
notifier.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
OWNERS Add owners for media_transport_interface 2018-11-08 17:45:39 +00:00
peer_connection_factory_proxy.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
peer_connection_interface.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
peer_connection_interface.h Only create no-op DTLS if media transport is used for both media and data 2019-01-26 00:04:22 +00:00
peer_connection_proxy.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
proxy.cc Make member internal::SynchronousMethodCall::e_ a non-pointer. 2018-11-15 10:42:36 +00:00
proxy.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
README.md Add a small README file for api/ 2019-02-01 13:24:47 +00:00
ref_counted_base.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtc_error.cc Using absl::string_view to stringify an RTCErrorType. 2019-01-16 11:49:00 +00:00
rtc_error.h Introcuce RTCError(const T&) constructor. 2019-01-30 13:43:29 +00:00
rtc_error_unittest.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtc_event_log_output.h Adds functionality to write logs to memory. 2019-01-16 17:36:31 +00:00
rtp_headers.cc Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
rtp_headers.h Change HdrMetadataExtension to ColorSpaceExtension 2018-11-27 14:05:31 +00:00
rtp_parameters.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtp_parameters.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtp_parameters_unittest.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtp_receiver_interface.cc Add DTLSTransport info into sender/receiver state. 2019-01-17 10:21:32 +00:00
rtp_receiver_interface.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
rtp_sender_interface.cc Add DTLSTransport info into sender/receiver state. 2019-01-17 10:21:32 +00:00
rtp_sender_interface.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
rtp_transceiver_interface.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtp_transceiver_interface.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
scoped_refptr.h Add element_type typedef to rtc::scoped_refptr 2018-12-20 19:11:22 +00:00
set_remote_description_observer_interface.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
stats_types.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
stats_types.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
turn_customizer.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
uma_metrics.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
video_track_source_proxy.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00: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.