From c3795ff2161e5ecc34db01c50de2bf97ab0531c0 Mon Sep 17 00:00:00 2001 From: Tomas Gunnarsson Date: Mon, 3 Jan 2022 13:04:51 +0000 Subject: [PATCH] Add ctor to RtpDemuxerCriteria to allow supplying 'mid' and 'rsid'. Since another CL [1] grew a bit in scope, this CL needs to land first, coupled with downstream updates. [1]: https://webrtc-review.googlesource.com/c/src/+/244083 Bug: webrtc:12517, webrtc:11993 Change-Id: I80d826a0d3f3240a2cecf8cbe09842cba0902b16 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244085 Auto-Submit: Tomas Gunnarsson Reviewed-by: Harald Alvestrand Commit-Queue: Harald Alvestrand Cr-Commit-Position: refs/heads/main@{#35611} --- call/BUILD.gn | 5 ++++- call/rtp_demuxer.cc | 5 +++++ call/rtp_demuxer.h | 3 +++ call/rtp_demuxer_unittest.cc | 10 +++------- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/call/BUILD.gn b/call/BUILD.gn index b5002e4aa9..53d3193ab7 100644 --- a/call/BUILD.gn +++ b/call/BUILD.gn @@ -150,7 +150,10 @@ rtc_library("rtp_receiver") { "../rtc_base/containers:flat_map", "../rtc_base/containers:flat_set", ] - absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] + absl_deps = [ + "//third_party/abseil-cpp/absl/strings:strings", + "//third_party/abseil-cpp/absl/types:optional", + ] } rtc_library("rtp_sender") { diff --git a/call/rtp_demuxer.cc b/call/rtp_demuxer.cc index 28962fd2eb..c839e9f5d8 100644 --- a/call/rtp_demuxer.cc +++ b/call/rtp_demuxer.cc @@ -41,6 +41,11 @@ size_t RemoveFromMapByValue(Map* map, const Value& value) { } // namespace +RtpDemuxerCriteria::RtpDemuxerCriteria( + absl::string_view mid, + absl::string_view rsid /*= absl::string_view()*/) + : mid(mid), rsid(rsid) {} + RtpDemuxerCriteria::RtpDemuxerCriteria() = default; RtpDemuxerCriteria::~RtpDemuxerCriteria() = default; diff --git a/call/rtp_demuxer.h b/call/rtp_demuxer.h index fb65fce368..931dac21ab 100644 --- a/call/rtp_demuxer.h +++ b/call/rtp_demuxer.h @@ -16,6 +16,7 @@ #include #include +#include "absl/strings/string_view.h" #include "rtc_base/containers/flat_map.h" #include "rtc_base/containers/flat_set.h" @@ -27,6 +28,8 @@ class RtpPacketSinkInterface; // This struct describes the criteria that will be used to match packets to a // specific sink. struct RtpDemuxerCriteria { + explicit RtpDemuxerCriteria(absl::string_view mid, + absl::string_view rsid = absl::string_view()); RtpDemuxerCriteria(); ~RtpDemuxerCriteria(); diff --git a/call/rtp_demuxer_unittest.cc b/call/rtp_demuxer_unittest.cc index 0c50b81035..ddb151fbc1 100644 --- a/call/rtp_demuxer_unittest.cc +++ b/call/rtp_demuxer_unittest.cc @@ -61,23 +61,19 @@ class RtpDemuxerTest : public ::testing::Test { } bool AddSinkOnlyRsid(const std::string& rsid, RtpPacketSinkInterface* sink) { - RtpDemuxerCriteria criteria; - criteria.rsid = rsid; + RtpDemuxerCriteria criteria(absl::string_view(), rsid); return AddSink(criteria, sink); } bool AddSinkOnlyMid(const std::string& mid, RtpPacketSinkInterface* sink) { - RtpDemuxerCriteria criteria; - criteria.mid = mid; + RtpDemuxerCriteria criteria(mid); return AddSink(criteria, sink); } bool AddSinkBothMidRsid(const std::string& mid, const std::string& rsid, RtpPacketSinkInterface* sink) { - RtpDemuxerCriteria criteria; - criteria.mid = mid; - criteria.rsid = rsid; + RtpDemuxerCriteria criteria(mid, rsid); return AddSink(criteria, sink); }