diff --git a/api/BUILD.gn b/api/BUILD.gn index f02b34cc39..c270aadd28 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -546,6 +546,7 @@ rtc_library("rtp_parameters") { "video:resolution", "video_codecs:scalability_mode", "//third_party/abseil-cpp/absl/container:inlined_vector", + "//third_party/abseil-cpp/absl/strings:str_format", "//third_party/abseil-cpp/absl/strings:string_view", ] } diff --git a/api/DEPS b/api/DEPS index e4c17a3a39..69b9f97864 100644 --- a/api/DEPS +++ b/api/DEPS @@ -198,6 +198,10 @@ specific_include_rules = { "+modules/video_coding/include/video_codec_interface.h" ], + "rtp_parameters\.h": [ + "+absl/strings/str_format.h", + ], + "sequence_checker\.h": [ "+rtc_base/synchronization/sequence_checker_internal.h", "+rtc_base/thread_annotations.h", diff --git a/api/rtp_parameters.h b/api/rtp_parameters.h index c32222ff18..f19f5fc05b 100644 --- a/api/rtp_parameters.h +++ b/api/rtp_parameters.h @@ -19,6 +19,7 @@ #include #include "absl/container/inlined_vector.h" +#include "absl/strings/str_format.h" #include "absl/strings/string_view.h" #include "api/media_types.h" #include "api/priority.h" @@ -395,6 +396,15 @@ struct RTC_EXPORT RtpExtension { std::string uri; int id = 0; bool encrypt = false; + + template + 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 {