Remove more codec-related templating
BUG=webrtc:15214
Change-Id: I719de4ef2b9c98a01b14f8f292098f19baa0d925
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321341
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40809}
diff --git a/media/base/codec.cc b/media/base/codec.cc
index 9ada18f..5a67696 100644
--- a/media/base/codec.cc
+++ b/media/base/codec.cc
@@ -387,11 +387,10 @@
FeedbackParam(kRtcpFbParamTransportCc, kParamValueEmpty));
}
-const VideoCodec* FindMatchingCodec(
- const std::vector<VideoCodec>& supported_codecs,
- const VideoCodec& codec) {
+const Codec* FindMatchingVideoCodec(const std::vector<Codec>& supported_codecs,
+ const Codec& codec) {
webrtc::SdpVideoFormat sdp_video_format{codec.name, codec.params};
- for (const VideoCodec& supported_codec : supported_codecs) {
+ for (const Codec& supported_codec : supported_codecs) {
if (sdp_video_format.IsSameCodec(
{supported_codec.name, supported_codec.params})) {
return &supported_codec;
@@ -400,12 +399,12 @@
return nullptr;
}
-std::vector<const VideoCodec*> FindAllMatchingCodecs(
- const std::vector<VideoCodec>& supported_codecs,
- const VideoCodec& codec) {
- std::vector<const VideoCodec*> result;
+std::vector<const Codec*> FindAllMatchingCodecs(
+ const std::vector<Codec>& supported_codecs,
+ const Codec& codec) {
+ std::vector<const Codec*> result;
webrtc::SdpVideoFormat sdp(codec.name, codec.params);
- for (const VideoCodec& supported_codec : supported_codecs) {
+ for (const Codec& supported_codec : supported_codecs) {
if (sdp.IsSameCodec({supported_codec.name, supported_codec.params})) {
result.push_back(&supported_codec);
}
diff --git a/media/base/codec.h b/media/base/codec.h
index b8ef22e..53b674f 100644
--- a/media/base/codec.h
+++ b/media/base/codec.h
@@ -217,14 +217,13 @@
// Returns the first codec in `supported_codecs` that matches `codec`, or
// nullptr if no codec matches.
-const VideoCodec* FindMatchingCodec(
- const std::vector<VideoCodec>& supported_codecs,
- const VideoCodec& codec);
+const Codec* FindMatchingVideoCodec(const std::vector<Codec>& supported_codecs,
+ const Codec& codec);
// Returns all codecs in `supported_codecs` that matches `codec`.
-std::vector<const VideoCodec*> FindAllMatchingCodecs(
- const std::vector<VideoCodec>& supported_codecs,
- const VideoCodec& codec);
+std::vector<const Codec*> FindAllMatchingCodecs(
+ const std::vector<Codec>& supported_codecs,
+ const Codec& codec);
RTC_EXPORT void AddH264ConstrainedBaselineProfileToSupportedFormats(
std::vector<webrtc::SdpVideoFormat>* supported_formats);
diff --git a/media/engine/webrtc_video_engine.cc b/media/engine/webrtc_video_engine.cc
index 70bcb07..fad0f4f 100644
--- a/media/engine/webrtc_video_engine.cc
+++ b/media/engine/webrtc_video_engine.cc
@@ -2679,7 +2679,7 @@
/*is_decoder_factory=*/true,
/*include_rtx=*/true, call_->trials());
for (const VideoCodecSettings& mapped_codec : mapped_codecs) {
- if (!FindMatchingCodec(local_supported_codecs, mapped_codec.codec)) {
+ if (!FindMatchingVideoCodec(local_supported_codecs, mapped_codec.codec)) {
RTC_LOG(LS_ERROR) << "GetChangedReceiverParameters called with "
"unsupported video codec: "
<< mapped_codec.codec.ToString();
diff --git a/media/engine/webrtc_video_engine_unittest.cc b/media/engine/webrtc_video_engine_unittest.cc
index 2c44c47..0f416aa 100644
--- a/media/engine/webrtc_video_engine_unittest.cc
+++ b/media/engine/webrtc_video_engine_unittest.cc
@@ -722,16 +722,17 @@
// Now search for RTX codecs for them. Expect that they all have associated
// RTX codecs.
EXPECT_TRUE(HasRtxCodec(
- codecs, FindMatchingCodec(
+ codecs, FindMatchingVideoCodec(
codecs, cricket::CreateVideoCodec(h264_constrained_baseline))
->id));
EXPECT_TRUE(HasRtxCodec(
- codecs, FindMatchingCodec(
+ codecs, FindMatchingVideoCodec(
codecs, cricket::CreateVideoCodec(h264_constrained_high))
->id));
EXPECT_TRUE(HasRtxCodec(
codecs,
- FindMatchingCodec(codecs, cricket::CreateVideoCodec(h264_high))->id));
+ FindMatchingVideoCodec(codecs, cricket::CreateVideoCodec(h264_high))
+ ->id));
}
#if defined(RTC_ENABLE_VP9)
diff --git a/pc/media_session.cc b/pc/media_session.cc
index 53c422f..4f74870 100644
--- a/pc/media_session.cc
+++ b/pc/media_session.cc
@@ -440,12 +440,11 @@
// Adds a StreamParams for each SenderOptions in `sender_options` to
// content_description.
// `current_params` - All currently known StreamParams of any media type.
-template <class C>
static bool AddStreamParams(const std::vector<SenderOptions>& sender_options,
const std::string& rtcp_cname,
UniqueRandomIdGenerator* ssrc_generator,
StreamParamsVec* current_streams,
- MediaContentDescriptionImpl<C>* content_description,
+ MediaContentDescription* content_description,
const webrtc::FieldTrialsView& field_trials) {
// SCTP streams are not negotiated using SDP/ContentDescriptions.
if (IsSctpProtocol(content_description->protocol())) {
@@ -712,18 +711,18 @@
}
return true;
}
-template <class C>
+
static bool CreateMediaContentOffer(
const MediaDescriptionOptions& media_description_options,
const MediaSessionOptions& session_options,
- const std::vector<C>& codecs,
+ const std::vector<Codec>& codecs,
const SecurePolicy& secure_policy,
const CryptoParamsVec* current_cryptos,
const std::vector<std::string>& crypto_suites,
const RtpHeaderExtensions& rtp_extensions,
UniqueRandomIdGenerator* ssrc_generator,
StreamParamsVec* current_streams,
- MediaContentDescriptionImpl<C>* offer,
+ MediaContentDescription* offer,
const webrtc::FieldTrialsView& field_trials) {
offer->AddCodecs(codecs);
if (!AddStreamParams(media_description_options.sender_options,
@@ -1365,17 +1364,16 @@
audio_codecs->end());
}
-template <class C>
static bool SetCodecsInAnswer(
- const MediaContentDescriptionImpl<C>* offer,
- const std::vector<C>& local_codecs,
+ const MediaContentDescription* offer,
+ const std::vector<Codec>& local_codecs,
const MediaDescriptionOptions& media_description_options,
const MediaSessionOptions& session_options,
UniqueRandomIdGenerator* ssrc_generator,
StreamParamsVec* current_streams,
- MediaContentDescriptionImpl<C>* answer,
+ MediaContentDescription* answer,
const webrtc::FieldTrialsView& field_trials) {
- std::vector<C> negotiated_codecs;
+ std::vector<Codec> negotiated_codecs;
NegotiateCodecs(local_codecs, offer->codecs(), &negotiated_codecs,
media_description_options.codec_preferences.empty(),
&field_trials);