Index: webrtc/media/engine/webrtcmediaengine.cc |
diff --git a/webrtc/media/engine/webrtcmediaengine.cc b/webrtc/media/engine/webrtcmediaengine.cc |
index 45652d0128f9dcb50e2f412315f91379c9de85eb..f452b74233ffa6890515d8c7923044643c41e28e 100644 |
--- a/webrtc/media/engine/webrtcmediaengine.cc |
+++ b/webrtc/media/engine/webrtcmediaengine.cc |
@@ -73,11 +73,10 @@ void DiscardRedundantExtensions( |
rtc::ArrayView<const char*> extensions_decreasing_prio) { |
RTC_DCHECK(extensions); |
bool found = false; |
- for (const char* name : extensions_decreasing_prio) { |
- auto it = std::find_if(extensions->begin(), extensions->end(), |
- [name](const webrtc::RtpExtension& rhs) { |
- return rhs.name == name; |
- }); |
+ for (const char* uri : extensions_decreasing_prio) { |
+ auto it = std::find_if( |
+ extensions->begin(), extensions->end(), |
+ [uri](const webrtc::RtpExtension& rhs) { return rhs.uri == uri; }); |
if (it != extensions->end()) { |
if (found) { |
extensions->erase(it); |
@@ -88,7 +87,8 @@ void DiscardRedundantExtensions( |
} |
} // namespace |
-bool ValidateRtpExtensions(const std::vector<RtpHeaderExtension>& extensions) { |
+bool ValidateRtpExtensions( |
+ const std::vector<webrtc::RtpExtension>& extensions) { |
bool id_used[14] = {false}; |
for (const auto& extension : extensions) { |
if (extension.id <= 0 || extension.id >= 15) { |
@@ -105,7 +105,7 @@ bool ValidateRtpExtensions(const std::vector<RtpHeaderExtension>& extensions) { |
} |
std::vector<webrtc::RtpExtension> FilterRtpExtensions( |
- const std::vector<RtpHeaderExtension>& extensions, |
+ const std::vector<webrtc::RtpExtension>& extensions, |
bool (*supported)(const std::string&), |
bool filter_redundant_extensions) { |
RTC_DCHECK(ValidateRtpExtensions(extensions)); |
@@ -115,7 +115,7 @@ std::vector<webrtc::RtpExtension> FilterRtpExtensions( |
// Ignore any extensions that we don't recognize. |
for (const auto& extension : extensions) { |
if (supported(extension.uri)) { |
- result.push_back({extension.uri, extension.id}); |
+ result.push_back(extension); |
} else { |
LOG(LS_WARNING) << "Unsupported RTP extension: " << extension.ToString(); |
} |
@@ -124,24 +124,23 @@ std::vector<webrtc::RtpExtension> FilterRtpExtensions( |
// Sort by name, ascending, so that we don't reset extensions if they were |
// specified in a different order (also allows us to use std::unique below). |
std::sort(result.begin(), result.end(), |
- [](const webrtc::RtpExtension& rhs, const webrtc::RtpExtension& lhs) { |
- return rhs.name < lhs.name; |
- }); |
+ [](const webrtc::RtpExtension& rhs, |
+ const webrtc::RtpExtension& lhs) { return rhs.uri < lhs.uri; }); |
// Remove unnecessary extensions (used on send side). |
if (filter_redundant_extensions) { |
- auto it = std::unique(result.begin(), result.end(), |
+ auto it = std::unique( |
+ result.begin(), result.end(), |
[](const webrtc::RtpExtension& rhs, const webrtc::RtpExtension& lhs) { |
- return rhs.name == lhs.name; |
+ return rhs.uri == lhs.uri; |
}); |
result.erase(it, result.end()); |
// Keep just the highest priority extension of any in the following list. |
static const char* kBweExtensionPriorities[] = { |
- kRtpTransportSequenceNumberHeaderExtension, |
- kRtpAbsoluteSenderTimeHeaderExtension, |
- kRtpTimestampOffsetHeaderExtension |
- }; |
+ webrtc::RtpExtension::kTransportSequenceNumberUri, |
+ webrtc::RtpExtension::kAbsSendTimeUri, |
+ webrtc::RtpExtension::kTimestampOffsetUri}; |
DiscardRedundantExtensions(&result, kBweExtensionPriorities); |
} |