webrtc/api
Johannes Kron ce8e8677df Add support for TransportSequenceNumberV2 in SDP negotiation
TransportSequenceNumberV2 is an experimental feature that should
not be part of the default offer. However, if we receive an offer
with this extension we should respond that we support it.

Bug: webrtc:10264
Change-Id: Id2424d421361e5d71f3a608cb8f74b63645c264a
Reviewed-on: https://webrtc-review.googlesource.com/c/123783
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26817}
2019-02-22 12:47:04 +00:00
..
audio AEC3: Fix delay hysteresis validation 2019-02-12 12:05:20 +00:00
audio_codecs 2nd reland of https://webrtc-review.googlesource.com/c/src/+/114883 2019-02-22 09:59:01 +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 webrtc: Remove semicolons. 2019-02-20 16:02:59 +00:00
task_queue Migrate stdlib task queue to TaskQueueBase interface 2019-02-21 14:36:07 +00:00
test Rejected simulcast layers will no longer appear in GetParameters(). 2019-02-19 22:01:53 +00:00
transport Revert "Add Sender and Receiver interfaces for MediaTransport audio" 2019-02-18 09:52:40 +00:00
units Adds bytes per second to DataType class. 2019-01-31 11:31:55 +00:00
video Use a CopyOnWriteBuffer to back EncodedImage data 2019-02-20 07:41:51 +00:00
video_codecs Add |update_rect| field and UpdateRect struct to VideoFrame. 2019-02-13 12:41:32 +00:00
array_view.h ArrayView: Also accept const references when doing implicit conversions 2019-02-04 13:42:20 +00:00
array_view_unittest.cc ArrayView: Also accept const references when doing implicit conversions 2019-02-04 13:42:20 +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 Move video-related MediaTransport interfaces to their own file and target 2019-02-15 08:17:20 +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 Stop hard-coding default IDs for RTP extensions 2019-02-09 01:04:35 +00:00
dtls_transport_interface.h Allow DtlsTransport::Information() to be called off-thread 2019-02-14 13:15:05 +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 IceTransportWithTransportChannel: Initialize |thread_checker_| in declaration 2019-02-13 12:45:12 +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_stream_interface.cc Add latency to remote source api. 2019-02-16 02:13:44 +00:00
media_stream_interface.h Add latency to remote source api. 2019-02-16 02:13:44 +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 Revert "Add Sender and Receiver interfaces for MediaTransport audio" 2019-02-18 09:52:40 +00:00
media_transport_interface.h Revert "Add Sender and Receiver interfaces for MediaTransport audio" 2019-02-18 09:52:40 +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 webrtc: Remove semicolons. 2019-02-20 16:02:59 +00:00
peer_connection_interface.cc Delete deprecated method PeerConnectionFactory::CreateVideoSource 2019-02-07 14:24:02 +00:00
peer_connection_interface.h Fix PeerConnectionInterface::StartRtcEventLog documentation. 2019-02-11 08:00:39 +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 Add struct for feedback request to RTPHeaderExtension 2019-02-15 12:05:03 +00:00
rtp_parameters.cc Add support for TransportSequenceNumberV2 in SDP negotiation 2019-02-22 12:47:04 +00:00
rtp_parameters.h Create version 01 of Generic Frame Descriptor - with discardability flag 2019-02-20 10:31:58 +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 webrtc: Remove semicolons. 2019-02-20 16:02:59 +00:00
rtp_sender_interface.cc Rejected simulcast layers will no longer appear in GetParameters(). 2019-02-19 22:01:53 +00:00
rtp_sender_interface.h webrtc: Remove semicolons. 2019-02-20 16:02:59 +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.