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 <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35611}
This commit is contained in:
Tomas Gunnarsson 2022-01-03 13:04:51 +00:00 committed by WebRTC LUCI CQ
parent 92f9b74df7
commit c3795ff216
4 changed files with 15 additions and 8 deletions

View File

@ -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") {

View File

@ -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;

View File

@ -16,6 +16,7 @@
#include <utility>
#include <vector>
#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();

View File

@ -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);
}