diff --git a/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc b/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc index fce023782f..cf4f7dc9aa 100644 --- a/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc +++ b/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc @@ -17,6 +17,8 @@ #include "modules/portal/xdg_desktop_portal_utils.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" +#include "rtc_base/time_utils.h" +#include "rtc_base/trace_event.h" namespace webrtc { @@ -136,6 +138,7 @@ void BaseCapturerPipeWire::Start(Callback* callback) { } void BaseCapturerPipeWire::CaptureFrame() { + TRACE_EVENT0("webrtc", "BaseCapturerPipeWire::CaptureFrame"); if (capturer_failed_) { // This could be recoverable if the source list is re-summoned; but for our // purposes this is fine, since it requires intervention to resolve and @@ -144,6 +147,7 @@ void BaseCapturerPipeWire::CaptureFrame() { return; } + int64_t capture_start_time_nanos = rtc::TimeNanos(); std::unique_ptr frame = options_.screencast_stream()->CaptureFrame(); @@ -156,6 +160,8 @@ void BaseCapturerPipeWire::CaptureFrame() { // the frame, see ScreenCapturerX11::CaptureFrame. frame->set_capturer_id(DesktopCapturerId::kWaylandCapturerLinux); + frame->set_capture_time_ms((rtc::TimeNanos() - capture_start_time_nanos) / + rtc::kNumNanosecsPerMillisec); callback_->OnCaptureResult(Result::SUCCESS, std::move(frame)); }