From: Michael Froman <mfroman@mozilla.com>
Date: Fri, 21 Jun 2024 16:28:00 -0500
Subject: Bug 1903098 - (fix-cd09858f4a) disable perfetto usage to avoid new
 third_party library.

Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/b050c455caa1d24a0cfa4933ac8cd82c9cd3c347
---
 BUILD.gn                                |  2 ++
 modules/video_coding/generic_decoder.cc | 10 +++++-----
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/BUILD.gn b/BUILD.gn
index a1010e5e9a..771e0b196a 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -280,6 +280,7 @@ config("rtc_prod_config") {
 }
 
 group("tracing") {
+if (!build_with_mozilla) {
   all_dependent_configs = [ "//third_party/perfetto/gn:public_config" ]
   if (rtc_use_perfetto) {
     if (build_with_chromium) {
@@ -296,6 +297,7 @@ group("tracing") {
         [ "//third_party/perfetto/include/perfetto/tracing" ]
   }
 }
+}
 
 if (rtc_use_perfetto) {
   rtc_library("webrtc_libperfetto") {
diff --git a/modules/video_coding/generic_decoder.cc b/modules/video_coding/generic_decoder.cc
index 2cb8db695f..2db0a4d381 100644
--- a/modules/video_coding/generic_decoder.cc
+++ b/modules/video_coding/generic_decoder.cc
@@ -120,9 +120,9 @@ void VCMDecodedFrameCallback::Decoded(VideoFrame& decodedImage,
                                       std::optional<int32_t> decode_time_ms,
                                       std::optional<uint8_t> qp) {
   RTC_DCHECK(_receiveCallback) << "Callback must not be null at this point";
-  TRACE_EVENT(
-      "webrtc", "VCMDecodedFrameCallback::Decoded",
-      perfetto::TerminatingFlow::ProcessScoped(decodedImage.rtp_timestamp()));
+  TRACE_EVENT_INSTANT1("webrtc", "VCMDecodedFrameCallback::Decoded",
+                       TRACE_EVENT_SCOPE_GLOBAL, "timestamp",
+                       decodedImage.rtp_timestamp());
   // TODO(holmer): We should improve this so that we can handle multiple
   // callbacks from one call to Decode().
   std::optional<FrameInfo> frame_info;
@@ -325,8 +325,8 @@ int32_t VCMGenericDecoder::Decode(
     Timestamp now,
     int64_t render_time_ms,
     const std::optional<FrameInstrumentationData>& frame_instrumentation_data) {
-  TRACE_EVENT("webrtc", "VCMGenericDecoder::Decode",
-              perfetto::Flow::ProcessScoped(frame.RtpTimestamp()));
+  TRACE_EVENT1("webrtc", "VCMGenericDecoder::Decode", "timestamp",
+               frame.RtpTimestamp());
   FrameInfo frame_info;
   frame_info.rtp_timestamp = frame.RtpTimestamp();
   frame_info.decode_start = now;
