Index: media/blink/video_frame_compositor.cc |
diff --git a/media/blink/video_frame_compositor.cc b/media/blink/video_frame_compositor.cc |
index 3cf2a1cb22d85b54c9f9e6859097e5ac3693c4c7..f664a4be503ec1792fd3ad3e7dd64ef3313353c5 100644 |
--- a/media/blink/video_frame_compositor.cc |
+++ b/media/blink/video_frame_compositor.cc |
@@ -8,7 +8,14 @@ |
#include "base/message_loop/message_loop.h" |
#include "base/time/default_tick_clock.h" |
#include "base/trace_event/trace_event.h" |
+#include "base/trace_event/trace_event_impl.h" |
+#include "base/trace_event/trace_log.h" |
#include "media/base/video_frame.h" |
+#include "base/trace_event/vfc_persistent_async_event.h" |
+ |
+ |
+#include <sstream> |
+#include <string> |
namespace media { |
@@ -37,6 +44,12 @@ VideoFrameCompositor::VideoFrameCompositor( |
last_interval_(base::TimeDelta::FromSecondsD(1.0 / 60)), |
callback_(nullptr) { |
background_rendering_timer_.SetTaskRunner(compositor_task_runner_); |
+ const void* this_address = static_cast<const void*>(this); |
+ std::stringstream s; |
benjhayden
2016/08/10 18:30:00
Chrome has a handy StringPrintf library, but Persi
|
+ s << this_address; |
+ video_id_ = s.str(); |
+ persistent_async_ = new base::trace_event::VFCPersistentAsyncEvent(); |
+ base::trace_event::TraceLog::GetInstance()->AddEnabledStateObserver(persistent_async_); |
} |
VideoFrameCompositor::~VideoFrameCompositor() { |
@@ -105,7 +118,7 @@ bool VideoFrameCompositor::HasCurrentFrame() { |
} |
void VideoFrameCompositor::Start(RenderCallback* callback) { |
- TRACE_EVENT0("media", "VideoFrameCompositor::Start"); |
+ persistent_async_->Start(video_id_); |
// Called from the media thread, so acquire the callback under lock before |
// returning in case a Stop() call comes in before the PostTask is processed. |
@@ -118,7 +131,7 @@ void VideoFrameCompositor::Start(RenderCallback* callback) { |
} |
void VideoFrameCompositor::Stop() { |
- TRACE_EVENT0("media", "VideoFrameCompositor::Stop"); |
+ persistent_async_->Stop(video_id_); |
// Called from the media thread, so release the callback under lock before |
// returning to avoid a pending UpdateCurrentFrame() call occurring before |