Add AbslStringify for RTP header extensions

Useful for other CLs.

Bug: None
Change-Id: I3afec582c86a8263ad59a1a9f4ac131a451aa1e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/372300
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43615}
This commit is contained in:
Harald Alvestrand 2024-12-19 13:19:47 +00:00 committed by WebRTC LUCI CQ
parent a5d2906206
commit b3e94fd0df
3 changed files with 15 additions and 0 deletions

View File

@ -546,6 +546,7 @@ rtc_library("rtp_parameters") {
"video:resolution", "video:resolution",
"video_codecs:scalability_mode", "video_codecs:scalability_mode",
"//third_party/abseil-cpp/absl/container:inlined_vector", "//third_party/abseil-cpp/absl/container:inlined_vector",
"//third_party/abseil-cpp/absl/strings:str_format",
"//third_party/abseil-cpp/absl/strings:string_view", "//third_party/abseil-cpp/absl/strings:string_view",
] ]
} }

View File

@ -198,6 +198,10 @@ specific_include_rules = {
"+modules/video_coding/include/video_codec_interface.h" "+modules/video_coding/include/video_codec_interface.h"
], ],
"rtp_parameters\.h": [
"+absl/strings/str_format.h",
],
"sequence_checker\.h": [ "sequence_checker\.h": [
"+rtc_base/synchronization/sequence_checker_internal.h", "+rtc_base/synchronization/sequence_checker_internal.h",
"+rtc_base/thread_annotations.h", "+rtc_base/thread_annotations.h",

View File

@ -19,6 +19,7 @@
#include <vector> #include <vector>
#include "absl/container/inlined_vector.h" #include "absl/container/inlined_vector.h"
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h" #include "absl/strings/string_view.h"
#include "api/media_types.h" #include "api/media_types.h"
#include "api/priority.h" #include "api/priority.h"
@ -395,6 +396,15 @@ struct RTC_EXPORT RtpExtension {
std::string uri; std::string uri;
int id = 0; int id = 0;
bool encrypt = false; bool encrypt = false;
template <typename Sink>
friend void AbslStringify(Sink& sink, const RtpExtension& extension) {
if (extension.encrypt) {
absl::Format(&sink, "[%d %s (encrypted)]", extension.id, extension.uri);
} else {
absl::Format(&sink, "[%d %s]", extension.id, extension.uri);
}
}
}; };
struct RTC_EXPORT RtpFecParameters { struct RTC_EXPORT RtpFecParameters {