webrtc/api
Ilya Nikolaevskiy 9455c305e6 Remove deprecation notice for VideoFrame::ntp_time_ms
Ntp timestamps are used for end-to-end delay measurements and can never
go away. The naming and number of timestamp fields in VideoFrame could
change in the future, but capture time in local clock will always be
there on the receive side.

Bug: none
Change-Id: I358689cd8a44b1da8503136b3dd898b936f2d693
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144542
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28498}
2019-07-05 18:37:41 +00:00
..
audio Adding support for channel mixing between different channel layouts. 2019-07-04 10:10:54 +00:00
audio_codecs AudioDecoderOpus: Add support for 16 kHz output sample rate 2019-05-29 12:42:38 +00:00
call (7) Rename files to snake_case: remove forwarding headers 2019-01-26 00:33:46 +00:00
crypto Reland "Refactor FrameDecryptorInterface::Decrypt to use new API." 2019-04-09 20:08:56 +00:00
rtc_event_log Remove deprecated RtcEventLog Create functions 2019-05-29 12:39:08 +00:00
stats [getStats] Implement "media-source" audio levels, fixing Chrome bug. 2019-07-04 08:13:45 +00:00
task_queue Increase TaskQueueTest.PostALot timeouts 2019-06-11 14:42:18 +00:00
test Add ability to create EmulatedNetworkNode from BuiltInNetworkBehaviorConfig 2019-07-05 12:43:17 +00:00
transport Move network emulation framework under test/network 2019-07-05 11:08:42 +00:00
units Reland "Cleanup of video packet overhead calculation." 2019-06-10 15:47:48 +00:00
video Remove deprecation notice for VideoFrame::ntp_time_ms 2019-07-05 18:37:41 +00:00
video_codecs Rename ..BitrateThresholds to ..BitrateLimits. 2019-07-03 14:50:46 +00:00
array_view_unittest.cc Adding reinterpret to ArrayView to allow data manipulation. 2019-03-22 18:15:22 +00:00
array_view.h Adding reinterpret to ArrayView to allow data manipulation. 2019-03-22 18:15:22 +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 network emulation framework under test/network 2019-07-05 11:08:42 +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
congestion_control_interface.h Add datagram_transport and congestion_control interface 2019-05-14 22:22:45 +00:00
create_peerconnection_factory.cc Force DefaultTaskQueueFactory in legacy CreatePeerConnectionFactory 2019-06-19 17:11:04 +00:00
create_peerconnection_factory.h Force DefaultTaskQueueFactory in legacy CreatePeerConnectionFactory 2019-06-19 17:11:04 +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 Datachannel: Use absl::optional for maxRetransmits and maxRetransmitTime. 2019-04-09 08:32:43 +00:00
data_channel_interface.h Datachannel: Use absl::optional for maxRetransmits and maxRetransmitTime. 2019-04-09 08:32:43 +00:00
datagram_transport_interface.h Reland: Implement true negotiation for DatagramTransport with fallback to RTP. 2019-06-07 20:14:36 +00:00
DEPS Delete deprecated version of PeerConnectionFactoryInterface::StartAecDump 2019-06-27 07:33:59 +00:00
DESIGN.md A threading explanation 2019-06-03 08:15:09 +00:00
dtls_transport_interface.cc Expose SSL ciphersuite on the webrtc::DtlsTransport interface 2019-04-12 08:29:59 +00:00
dtls_transport_interface.h Expose SSL ciphersuite on the webrtc::DtlsTransport interface 2019-04-12 08:29:59 +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_override.h Define FecControllerOverride and plumb it down to VideoEncoder 2019-06-28 15:57:22 +00:00
fec_controller.h Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
function_view_unittest.cc Move rtc::FunctionView to the public API 2019-03-21 15:23:05 +00:00
function_view.h Move rtc::FunctionView to the public API 2019-03-21 15:23:05 +00:00
ice_transport_factory.cc Add overload to CreateIceTransport that takes additional dependencies 2019-07-01 21:37:54 +00:00
ice_transport_factory.h Add overload to CreateIceTransport that takes additional dependencies 2019-07-01 21:37:54 +00:00
ice_transport_interface.h Add IceTransportInterface object 2019-01-30 16:16:51 +00:00
jsep_ice_candidate.cc Use Abseil container algorithms in api/ 2019-03-25 22:11:06 +00:00
jsep_ice_candidate.h Export symbols needed by the Chromium component build (part 8). 2019-04-02 10:13:36 +00:00
jsep_session_description.h Remove deprecated JsepSession initializer 2019-06-11 17:35:30 +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
media_stream_interface.cc Remove SetLatency/GetLatency from MediaSourceInterface API level 2019-04-18 19:11:31 +00:00
media_stream_interface.h Remove SetLatency/GetLatency from MediaSourceInterface API level 2019-04-18 19:11:31 +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_config.cc Delete unneeded includes of string_utils.h 2019-06-10 10:44:40 +00:00
media_transport_config.h Datagram Transport Integration 2019-05-23 23:36:05 +00:00
media_transport_interface.cc Add CreateDatagram to MediaTransportFactory 2019-05-17 22:18:41 +00:00
media_transport_interface.h Don't use angle-bracket #includes for WebRTC's own files 2019-06-26 16:06:52 +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 Export symbols needed by the Chromium component build (part 8). 2019-04-02 10:13:36 +00:00
network_state_predictor.h Add base class NetworkPredictor and NetworkPredictorFactory and wire up. 2019-04-10 12:38:58 +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 Remove myself from OWNERS in a few places. 2019-06-10 07:57:46 +00:00
peer_connection_factory_proxy.h Delete deprecated version of PeerConnectionFactoryInterface::StartAecDump 2019-06-27 07:33:59 +00:00
peer_connection_interface.cc Delete deprecated StartRtcEventLog override with PlatformFile 2019-06-03 09:00:56 +00:00
peer_connection_interface.h Add a field trial to control datagram transport use. 2019-07-01 20:03:05 +00:00
peer_connection_proxy.h Add missing proxy function for overloaded StartRtcEventLog peer connection function. 2019-06-05 09:52:49 +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_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_error.cc Using absl::string_view to stringify an RTCErrorType. 2019-01-16 11:49:00 +00:00
rtc_error.h Export symbols needed by the Chromium component build (part 8). 2019-04-02 10:13:36 +00:00
rtc_event_log_output_file_unittest.cc Promote RtcEventLogOutputFile to api/ 2019-05-08 12:29:42 +00:00
rtc_event_log_output_file.cc Delete obsolete RtcEventLogOutputFile constructor 2019-06-10 09:44:35 +00:00
rtc_event_log_output_file.h Delete obsolete RtcEventLogOutputFile constructor 2019-06-10 09:44:35 +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 writing and parsing of the abs-capture-time RTP header extension. 2019-07-03 14:07:36 +00:00
rtp_packet_info_unittest.cc Remove sequence_number from RtpPacketInfo. 2019-06-14 11:21:42 +00:00
rtp_packet_info.cc Remove sequence_number from RtpPacketInfo. 2019-06-14 11:21:42 +00:00
rtp_packet_info.h Remove sequence_number from RtpPacketInfo. 2019-06-14 11:21:42 +00:00
rtp_packet_infos_unittest.cc Remove sequence_number from RtpPacketInfo. 2019-06-14 11:21:42 +00:00
rtp_packet_infos.h Add RtpPacketInfo to hold information about a received RtpPacket. 2019-06-03 14:37:01 +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_parameters.cc Add writing and parsing of the abs-capture-time RTP header extension. 2019-07-03 14:07:36 +00:00
rtp_parameters.h Add writing and parsing of the abs-capture-time RTP header extension. 2019-07-03 14:07:36 +00:00
rtp_receiver_interface.cc Add RTP timestamp to contributing sources 2019-05-22 08:53:08 +00:00
rtp_receiver_interface.h Add RTP timestamp to contributing sources 2019-05-22 08:53:08 +00:00
rtp_sender_interface.cc Removing non-const RtpSenderInterface::GetParameters(). 2019-02-23 00:51:30 +00:00
rtp_sender_interface.h Add RtpSenderInterface.SetStreams 2019-05-20 18:38:06 +00:00
rtp_transceiver_interface.cc Implement RTCRtpTransceiver.setCodecPreferences 2019-05-01 20:14:59 +00:00
rtp_transceiver_interface.h Implement RTCRtpTransceiver.setCodecPreferences 2019-05-01 20:14:59 +00:00
scoped_refptr.h Add element_type typedef to rtc::scoped_refptr 2018-12-20 19:11:22 +00:00
sctp_transport_interface.cc Add SCTP transport to the public API. 2019-02-28 10:15:05 +00:00
sctp_transport_interface.h Export symbols needed by the Chromium component build (part 8). 2019-04-02 10:13:36 +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 Revert "Piping audio interruption metrics to API layer" 2019-04-29 11:23:16 +00:00
stats_types.h Revert "Piping audio interruption metrics to API layer" 2019-04-29 11:23:16 +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 Adding metrics to measure usage of simulcast API. 2019-03-05 22:01:34 +00:00
video_track_source_proxy.h Remove SetLatency/GetLatency from MediaSourceInterface API level 2019-04-18 19:11:31 +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.