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 b7df8398c2..d5f414db72 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -283,6 +283,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) {
@@ -299,6 +300,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 ab23106f94..dd4a5611b4 100644
--- a/modules/video_coding/generic_decoder.cc
+++ b/modules/video_coding/generic_decoder.cc
@@ -121,9 +121,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;
@@ -331,8 +331,8 @@ int32_t VCMGenericDecoder::Decode(
     const std::optional<
         std::variant<FrameInstrumentationSyncData, 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;
