Use common `VideoFrameTypeToString` helper
This CL cleans up all local conversions, in favor of the common helper
function.
Bug: webrtc:15210
Change-Id: Id77e1c6b1151a2542d92e220e91d5b11285479b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311060
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Jianhui J Dai <jianhui.j.dai@intel.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40420}
diff --git a/api/video/BUILD.gn b/api/video/BUILD.gn
index c46f3d0..c07cda5 100644
--- a/api/video/BUILD.gn
+++ b/api/video/BUILD.gn
@@ -126,6 +126,7 @@
visibility = [ "*" ]
sources = [ "video_frame_type.h" ]
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
+ deps = [ "../../rtc_base:checks" ]
}
rtc_source_set("render_resolution") {
diff --git a/api/video/video_frame_type.h b/api/video/video_frame_type.h
index 9f0a34c..9079829 100644
--- a/api/video/video_frame_type.h
+++ b/api/video/video_frame_type.h
@@ -12,6 +12,7 @@
#define API_VIDEO_VIDEO_FRAME_TYPE_H_
#include "absl/strings/string_view.h"
+#include "rtc_base/checks.h"
namespace webrtc {
@@ -25,15 +26,15 @@
inline constexpr absl::string_view VideoFrameTypeToString(
VideoFrameType frame_type) {
- if (frame_type == VideoFrameType::kEmptyFrame) {
- return "empty";
+ switch (frame_type) {
+ case VideoFrameType::kEmptyFrame:
+ return "empty";
+ case VideoFrameType::kVideoFrameKey:
+ return "key";
+ case VideoFrameType::kVideoFrameDelta:
+ return "delta";
}
- if (frame_type == VideoFrameType::kVideoFrameKey) {
- return "key";
- }
- if (frame_type == VideoFrameType::kVideoFrameDelta) {
- return "delta";
- }
+ RTC_CHECK_NOTREACHED();
return "";
}
diff --git a/modules/rtp_rtcp/source/rtp_sender_video.cc b/modules/rtp_rtcp/source/rtp_sender_video.cc
index af447e9..d2aaefb 100644
--- a/modules/rtp_rtcp/source/rtp_sender_video.cc
+++ b/modules/rtp_rtcp/source/rtp_sender_video.cc
@@ -94,20 +94,6 @@
return true;
}
-[[maybe_unused]] const char* FrameTypeToString(VideoFrameType frame_type) {
- switch (frame_type) {
- case VideoFrameType::kEmptyFrame:
- return "empty";
- case VideoFrameType::kVideoFrameKey:
- return "video_key";
- case VideoFrameType::kVideoFrameDelta:
- return "video_delta";
- default:
- RTC_DCHECK_NOTREACHED();
- return "";
- }
-}
-
bool IsNoopDelay(const VideoPlayoutDelay& delay) {
return delay.min_ms == -1 && delay.max_ms == -1;
}
@@ -491,8 +477,9 @@
RTPVideoHeader video_header,
absl::optional<int64_t> expected_retransmission_time_ms,
std::vector<uint32_t> csrcs) {
- TRACE_EVENT_ASYNC_STEP1("webrtc", "Video", capture_time_ms, "Send", "type",
- FrameTypeToString(video_header.frame_type));
+ TRACE_EVENT_ASYNC_STEP1(
+ "webrtc", "Video", capture_time_ms, "Send", "type",
+ std::string(VideoFrameTypeToString(video_header.frame_type)));
RTC_CHECK_RUNS_SERIALIZED(&send_checker_);
if (video_header.frame_type == VideoFrameType::kEmptyFrame)
diff --git a/rtc_tools/video_encoder/video_encoder.cc b/rtc_tools/video_encoder/video_encoder.cc
index fe2c5b1..e37bad0 100644
--- a/rtc_tools/video_encoder/video_encoder.cc
+++ b/rtc_tools/video_encoder/video_encoder.cc
@@ -69,19 +69,6 @@
// See `WebRtcVideoSendChannel::kDefaultQpMax`.
constexpr unsigned int kDefaultQpMax = 56;
-const char* FrameTypeToString(const VideoFrameType& frame_type) {
- switch (frame_type) {
- case VideoFrameType::kEmptyFrame:
- return "empty";
- case VideoFrameType::kVideoFrameKey:
- return "key";
- case VideoFrameType::kVideoFrameDelta:
- return "delta";
- }
- RTC_CHECK_NOTREACHED();
- return "";
-}
-
[[maybe_unused]] const char* InterLayerPredModeToString(
const InterLayerPredMode& inter_layer_pred_mode) {
switch (inter_layer_pred_mode) {
@@ -100,7 +87,7 @@
char buffer[1024];
rtc::SimpleStringBuilder ss(buffer);
- ss << FrameTypeToString(encoded_image._frameType)
+ ss << VideoFrameTypeToString(encoded_image._frameType)
<< ", size=" << encoded_image.size() << ", qp=" << encoded_image.qp_
<< ", timestamp=" << encoded_image.Timestamp();