aboutsummaryrefslogtreecommitdiff
path: root/media
diff options
context:
space:
mode:
authorTommi <tommi@webrtc.org>2022-05-09 20:46:57 +0000
committerWebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-05-10 13:50:31 +0000
commitcf4ed1516e28c0bf698c88530702ad9ff0835eae (patch)
treeaa7ab2d15af8f86f3587e522d3d0e854a6299192 /media
parentedcb25b623b2e8e74ca35d82c1efa4eedea940b7 (diff)
downloadwebrtc-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.cc26
-rw-r--r--media/engine/fake_webrtc_call.h9
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;