diff options
author | Tommi <tommi@webrtc.org> | 2022-05-09 20:46:57 +0000 |
---|---|---|
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-05-10 13:50:31 +0000 |
commit | cf4ed1516e28c0bf698c88530702ad9ff0835eae (patch) | |
tree | aa7ab2d15af8f86f3587e522d3d0e854a6299192 /media | |
parent | edcb25b623b2e8e74ca35d82c1efa4eedea940b7 (diff) | |
download | webrtc-cf4ed1516e28c0bf698c88530702ad9ff0835eae.tar.gz |
Add GetRtpExtensionMap to ReceiveStream and remove GetRtpExtensions.
GetRtpExtensions() is still used in one corner case for audio receive
streams, so GetRtpExtensions has migrated to AudioReceiveStream.
Updated FlexfecReceiveStream config management (incl. pass by value) and
now store an RtpHeaderExtensionMap in FlexfecReceiveStreamImpl.
Call GetRtpExtensionMap() from call.cc instead of constructing one on
the fly for each rtp packet (for video packets at least).
Bug: webrtc:11993
Change-Id: Id90ec5d43ea368f58edd6f17cb39d8c54aec641f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261800
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36839}
Diffstat (limited to 'media')
-rw-r--r-- | media/engine/fake_webrtc_call.cc | 26 | ||||
-rw-r--r-- | media/engine/fake_webrtc_call.h | 9 |
2 files changed, 21 insertions, 14 deletions
diff --git a/media/engine/fake_webrtc_call.cc b/media/engine/fake_webrtc_call.cc index d235e20750..19a4ad2199 100644 --- a/media/engine/fake_webrtc_call.cc +++ b/media/engine/fake_webrtc_call.cc @@ -135,6 +135,11 @@ FakeAudioReceiveStream::GetRtpExtensions() const { return config_.rtp.extensions; } +webrtc::RtpHeaderExtensionMap FakeAudioReceiveStream::GetRtpExtensionMap() + const { + return webrtc::RtpHeaderExtensionMap(config_.rtp.extensions); +} + webrtc::AudioReceiveStream::Stats FakeAudioReceiveStream::GetStats( bool get_and_clear_legacy_stats) const { return stats_; @@ -385,9 +390,9 @@ void FakeVideoReceiveStream::SetRtpExtensions( config_.rtp.extensions = std::move(extensions); } -const std::vector<webrtc::RtpExtension>& -FakeVideoReceiveStream::GetRtpExtensions() const { - return config_.rtp.extensions; +webrtc::RtpHeaderExtensionMap FakeVideoReceiveStream::GetRtpExtensionMap() + const { + return webrtc::RtpHeaderExtensionMap(config_.rtp.extensions); } void FakeVideoReceiveStream::Start() { @@ -404,17 +409,17 @@ void FakeVideoReceiveStream::SetStats( } FakeFlexfecReceiveStream::FakeFlexfecReceiveStream( - const webrtc::FlexfecReceiveStream::Config& config) - : config_(config) {} + const webrtc::FlexfecReceiveStream::Config config) + : config_(std::move(config)) {} void FakeFlexfecReceiveStream::SetRtpExtensions( std::vector<webrtc::RtpExtension> extensions) { config_.rtp.extensions = std::move(extensions); } -const std::vector<webrtc::RtpExtension>& -FakeFlexfecReceiveStream::GetRtpExtensions() const { - return config_.rtp.extensions; +webrtc::RtpHeaderExtensionMap FakeFlexfecReceiveStream::GetRtpExtensionMap() + const { + return webrtc::RtpHeaderExtensionMap(config_.rtp.extensions); } const webrtc::FlexfecReceiveStream::Config& @@ -600,8 +605,9 @@ void FakeCall::DestroyVideoReceiveStream( } webrtc::FlexfecReceiveStream* FakeCall::CreateFlexfecReceiveStream( - const webrtc::FlexfecReceiveStream::Config& config) { - FakeFlexfecReceiveStream* fake_stream = new FakeFlexfecReceiveStream(config); + const webrtc::FlexfecReceiveStream::Config config) { + FakeFlexfecReceiveStream* fake_stream = + new FakeFlexfecReceiveStream(std::move(config)); flexfec_receive_streams_.push_back(fake_stream); ++num_created_receive_streams_; return fake_stream; diff --git a/media/engine/fake_webrtc_call.h b/media/engine/fake_webrtc_call.h index 64b9c0db66..c26f7b1ddf 100644 --- a/media/engine/fake_webrtc_call.h +++ b/media/engine/fake_webrtc_call.h @@ -127,6 +127,7 @@ class FakeAudioReceiveStream final : public webrtc::AudioReceiveStream { frame_decryptor) override; void SetRtpExtensions(std::vector<webrtc::RtpExtension> extensions) override; const std::vector<webrtc::RtpExtension>& GetRtpExtensions() const override; + webrtc::RtpHeaderExtensionMap GetRtpExtensionMap() const override; webrtc::AudioReceiveStream::Stats GetStats( bool get_and_clear_legacy_stats) const override; @@ -265,7 +266,7 @@ class FakeVideoReceiveStream final : public webrtc::VideoReceiveStream { private: // webrtc::VideoReceiveStream implementation. void SetRtpExtensions(std::vector<webrtc::RtpExtension> extensions) override; - const std::vector<webrtc::RtpExtension>& GetRtpExtensions() const override; + webrtc::RtpHeaderExtensionMap GetRtpExtensionMap() const override; bool transport_cc() const override { return config_.rtp.transport_cc; } void Start() override; @@ -292,10 +293,10 @@ class FakeVideoReceiveStream final : public webrtc::VideoReceiveStream { class FakeFlexfecReceiveStream final : public webrtc::FlexfecReceiveStream { public: explicit FakeFlexfecReceiveStream( - const webrtc::FlexfecReceiveStream::Config& config); + const webrtc::FlexfecReceiveStream::Config config); void SetRtpExtensions(std::vector<webrtc::RtpExtension> extensions) override; - const std::vector<webrtc::RtpExtension>& GetRtpExtensions() const override; + webrtc::RtpHeaderExtensionMap GetRtpExtensionMap() const override; bool transport_cc() const override { return config_.rtp.transport_cc; } const webrtc::FlexfecReceiveStream::Config& GetConfig() const; @@ -381,7 +382,7 @@ class FakeCall final : public webrtc::Call, public webrtc::PacketReceiver { webrtc::VideoReceiveStream* receive_stream) override; webrtc::FlexfecReceiveStream* CreateFlexfecReceiveStream( - const webrtc::FlexfecReceiveStream::Config& config) override; + const webrtc::FlexfecReceiveStream::Config config) override; void DestroyFlexfecReceiveStream( webrtc::FlexfecReceiveStream* receive_stream) override; |