| /* |
| * Copyright (c) 2021 The WebRTC project authors. All Rights Reserved. |
| * |
| * Use of this source code is governed by a BSD-style license |
| * that can be found in the LICENSE file in the root of the source |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| |
| #include "modules/desktop_capture/desktop_capture_metrics_helper.h" |
| |
| #include "modules/desktop_capture/desktop_capture_types.h" |
| #include "system_wrappers/include/metrics.h" |
| |
| namespace webrtc { |
| namespace { |
| // This enum is logged via UMA so entries should not be reordered or have their |
| // values changed. This should also be kept in sync with the values in the |
| // DesktopCapturerId namespace. |
| enum class SequentialDesktopCapturerId { |
| kUnknown = 0, |
| kWgcCapturerWin = 1, |
| kScreenCapturerWinMagnifier = 2, |
| kWindowCapturerWinGdi = 3, |
| kScreenCapturerWinGdi = 4, |
| kScreenCapturerWinDirectx = 5, |
| kMaxValue = kScreenCapturerWinDirectx |
| }; |
| } // namespace |
| |
| void RecordCapturerImpl(uint32_t capturer_id) { |
| SequentialDesktopCapturerId sequential_id; |
| switch (capturer_id) { |
| case DesktopCapturerId::kWgcCapturerWin: |
| sequential_id = SequentialDesktopCapturerId::kWgcCapturerWin; |
| break; |
| case DesktopCapturerId::kScreenCapturerWinMagnifier: |
| sequential_id = SequentialDesktopCapturerId::kScreenCapturerWinMagnifier; |
| break; |
| case DesktopCapturerId::kWindowCapturerWinGdi: |
| sequential_id = SequentialDesktopCapturerId::kWindowCapturerWinGdi; |
| break; |
| case DesktopCapturerId::kScreenCapturerWinGdi: |
| sequential_id = SequentialDesktopCapturerId::kScreenCapturerWinGdi; |
| break; |
| case DesktopCapturerId::kScreenCapturerWinDirectx: |
| sequential_id = SequentialDesktopCapturerId::kScreenCapturerWinDirectx; |
| break; |
| case DesktopCapturerId::kUnknown: |
| default: |
| sequential_id = SequentialDesktopCapturerId::kUnknown; |
| } |
| RTC_HISTOGRAM_ENUMERATION( |
| "WebRTC.DesktopCapture.Win.DesktopCapturerImpl", |
| static_cast<int>(sequential_id), |
| static_cast<int>(SequentialDesktopCapturerId::kMaxValue)); |
| } |
| |
| } // namespace webrtc |