Provide RtpState at construction when restoring an RTP module When a suspended stream was recreated, its previous state was applied with SetRtpState() and SetRtxState() right after construction. This required state to be mutable that otherwise could be const, which in turn required a lock for every read on the encoder queue. * Add rtp_state and rtx_rtp_state to RtpRtcpInterface::Configuration. * Apply it when constructing RTPSender and ModuleRtpRtcpImpl2. * RtpVideoSender and AudioSendStream, via ChannelSend, now pass the suspended states at creation. * Remove SetStartTimestamp(), SetRtpState() and SetRtxState() from RtpRtcpInterface, ModuleRtpRtcpImpl2, as well as RTPSender::SetRtxRtpState(). * Deprecate RTPSender::SetTimestampOffset() and SetRtpState(). Once direct users of RTPSender have migrated, they can be removed and the timestamp offset made const. Bug: webrtc:42223727 Change-Id: Idad26fe1205c1288a3455865dfb79027ed7f83da Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/507320 Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#48831}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.