From 857acbc9aa6e8a7f092f3b97ff2c467619680bc2 Mon Sep 17 00:00:00 2001 From: Paul Adenot Date: Fri, 19 Jul 2013 16:40:57 +0200 Subject: [PATCH] Bug 882543 - Register the MSG thread for in the profiler. r=benwa --- content/media/MediaStreamGraph.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/content/media/MediaStreamGraph.cpp b/content/media/MediaStreamGraph.cpp index eed493eedc15..994c245e35b9 100644 --- a/content/media/MediaStreamGraph.cpp +++ b/content/media/MediaStreamGraph.cpp @@ -23,6 +23,7 @@ #include "AudioNodeStream.h" #include #include "DOMMediaStream.h" +#include "GeckoProfiler.h" using namespace mozilla::layers; using namespace mozilla::dom; @@ -1201,6 +1202,7 @@ MediaStreamGraphImpl::RunThread() if (!mRealtime) { mNonRealtimeIsRunning = false; } + profiler_unregister_thread(); } void @@ -1246,6 +1248,23 @@ MediaStreamGraphImpl::ForceShutDown() namespace { +class MediaStreamGraphInitThreadRunnable : public nsRunnable { +public: + explicit MediaStreamGraphInitThreadRunnable(MediaStreamGraphImpl* aGraph) + : mGraph(aGraph) + { + } + NS_IMETHOD Run() + { + char aLocal; + profiler_register_thread("MediaStreamGraph", &aLocal); + mGraph->RunThread(); + return NS_OK; + } +private: + MediaStreamGraphImpl* mGraph; +}; + class MediaStreamGraphThreadRunnable : public nsRunnable { public: explicit MediaStreamGraphThreadRunnable(MediaStreamGraphImpl* aGraph) @@ -1385,7 +1404,7 @@ MediaStreamGraphImpl::RunInStableState() // Start the thread now. We couldn't start it earlier because // the graph might exit immediately on finding it has no streams. The // first message for a new graph must create a stream. - nsCOMPtr event = new MediaStreamGraphThreadRunnable(this); + nsCOMPtr event = new MediaStreamGraphInitThreadRunnable(this); NS_NewNamedThread("MediaStreamGrph", getter_AddRefs(mThread), event); }