author | Markus Stange <mstange@themasta.com> |
Wed, 21 Dec 2016 23:06:56 +0100 | |
changeset 375570 | 7947e6f167f2cb3a4c77b65a96a67b6f1fffc343 |
parent 375569 | 5d14f1e4b6fd8e4b1a3aa49296a5ef9679070a8e |
child 375571 | f7f7a07b088f95e8413d83da4625aa1d7e7df9ac |
push id | 1419 |
push user | jlund@mozilla.com |
push date | Mon, 10 Apr 2017 20:44:07 +0000 |
treeherder | mozilla-release@5e6801b73ef6 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | froydnj |
bugs | 1323100 |
milestone | 53.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/dom/media/MediaRecorder.cpp +++ b/dom/media/MediaRecorder.cpp @@ -278,18 +278,16 @@ class MediaRecorder::Session: public nsI mSession->Extract(false); nsCOMPtr<nsIRunnable> event = new ExtractRunnable(mSession); if (NS_FAILED(NS_DispatchToCurrentThread(event))) { NS_WARNING("Failed to dispatch ExtractRunnable to encoder thread"); } } else { // Flush out remaining encoded data. mSession->Extract(true); - if (mSession->mIsRegisterProfiler) - profiler_unregister_thread(); if (NS_FAILED(NS_DispatchToMainThread( new DestroyRunnable(mSession)))) { MOZ_ASSERT(false, "NS_DispatchToMainThread DestroyRunnable failed"); } } return NS_OK; } @@ -414,17 +412,16 @@ class MediaRecorder::Session: public nsI friend class TracksAvailableCallback; public: Session(MediaRecorder* aRecorder, int32_t aTimeSlice) : mRecorder(aRecorder) , mTimeSlice(aTimeSlice) , mStopIssued(false) , mIsStartEventFired(false) - , mIsRegisterProfiler(false) , mNeedSessionEndTask(true) , mSelectedVideoTrackID(TRACK_NONE) { MOZ_ASSERT(NS_IsMainThread()); uint32_t maxMem = Preferences::GetUint("media.recorder.max_memory", MAX_ALLOW_MEMORY_BUFFER); mEncodedBufferCache = new EncodedBufferCache(maxMem); @@ -602,22 +599,16 @@ private: // Destroy this session object in the end of this function. // If the bool aForceFlush is true, we will force to dispatch a // PushBlobRunnable to main thread. void Extract(bool aForceFlush) { MOZ_ASSERT(NS_GetCurrentThread() == mReadThread); LOG(LogLevel::Debug, ("Session.Extract %p", this)); - if (!mIsRegisterProfiler) { - char aLocal; - profiler_register_thread("Media_Encoder", &aLocal); - mIsRegisterProfiler = true; - } - PROFILER_LABEL("MediaRecorder", "Session Extract", js::ProfileEntry::Category::OTHER); // Pull encoded media data from MediaEncoder nsTArray<nsTArray<uint8_t> > encodedBuf; mEncoder->GetEncodedData(&encodedBuf, mMimeType); // Append pulled data into cache buffer. @@ -917,18 +908,16 @@ private: // handler. "mTimeSlice < 0" means Session object does not push encoded data to // onDataAvailable, instead, it passive wait the client side pull encoded data // by calling requestData API. const int32_t mTimeSlice; // Indicate this session's stop has been called. bool mStopIssued; // Indicate the session had fire start event. Encoding thread only. bool mIsStartEventFired; - // The register flag for "Media_Encoder" thread to profiler - bool mIsRegisterProfiler; // False if the InitEncoder called successfully, ensure the // ExtractRunnable/DestroyRunnable will end the session. // Main thread only. bool mNeedSessionEndTask; TrackID mSelectedVideoTrackID; }; NS_IMPL_ISUPPORTS(MediaRecorder::Session, nsIObserver)