Add ability to set rtp header extensions without recreating streams.

Setting the rtp header extensions on the packet delivery thread
(currently worker, soon to be network), is now possible without
taking the hit of deleting and recreating the receive stream (and
rtp receiver and related state).

Bug: webrtc:11993
Change-Id: I9bbe306844a25d85d79cd216092ead66eaf68960
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/223741
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34953}
This commit is contained in:
Tommi
2021-09-08 10:44:50 +02:00
committed by WebRTC LUCI CQ
parent 9af2d92287
commit 1f38a38b6f
19 changed files with 107 additions and 16 deletions

View File

@ -41,9 +41,11 @@ class UlpfecReceiverImpl : public UlpfecReceiver {
FecPacketCounter GetPacketCounter() const override;
void SetRtpExtensions(rtc::ArrayView<const RtpExtension> extensions) override;
private:
const uint32_t ssrc_;
const RtpHeaderExtensionMap extensions_;
RtpHeaderExtensionMap extensions_ RTC_GUARDED_BY(&sequence_checker_);
RTC_NO_UNIQUE_ADDRESS SequenceChecker sequence_checker_;
RecoveredPacketReceiver* const recovered_packet_callback_;