author | Bobby Holley <bobbyholley@gmail.com> |
Tue, 17 Mar 2015 14:02:33 -0700 | |
changeset 235699 | 5d9b7601850c58630a65cb091f09afa938f70a53 |
parent 235698 | 00beb43aa7b92c1a53d4a0bc4c44ac89be5eb365 |
child 235700 | 4f8721033f5b1c42f4b649589bb171f129eddc79 |
push id | 57478 |
push user | bobbyholley@gmail.com |
push date | Thu, 26 Mar 2015 00:46:56 +0000 |
treeherder | mozilla-inbound@5d9b7601850c [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | mattwoodrow |
bugs | 1142336 |
milestone | 39.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/MediaDecoderReader.cpp +++ b/dom/media/MediaDecoderReader.cpp @@ -351,20 +351,19 @@ MediaDecoderReader::RequestAudioData() return p; } MediaTaskQueue* MediaDecoderReader::EnsureTaskQueue() { if (!mTaskQueue) { MOZ_ASSERT(!mTaskQueueIsBorrowed); - RefPtr<SharedThreadPool> decodePool(GetMediaDecodeThreadPool()); - NS_ENSURE_TRUE(decodePool, nullptr); - - mTaskQueue = new MediaTaskQueue(decodePool.forget()); + RefPtr<SharedThreadPool> pool(GetMediaThreadPool()); + MOZ_DIAGNOSTIC_ASSERT(pool); + mTaskQueue = new MediaTaskQueue(pool.forget()); } return mTaskQueue; } void MediaDecoderReader::BreakCycles() {
--- a/dom/media/MediaDecoderStateMachine.cpp +++ b/dom/media/MediaDecoderStateMachine.cpp @@ -244,19 +244,19 @@ MediaDecoderStateMachine::MediaDecoderSt mDecodingFrozenAtStateDecoding(false), mSentLoadedMetadataEvent(false), mSentFirstFrameLoadedEvent(false) { MOZ_COUNT_CTOR(MediaDecoderStateMachine); NS_ASSERTION(NS_IsMainThread(), "Should be on main thread."); // Set up our task queue. - RefPtr<SharedThreadPool> threadPool( - SharedThreadPool::Get(NS_LITERAL_CSTRING("Media State Machine"), 1)); - mTaskQueue = new MediaTaskQueue(threadPool.forget()); + RefPtr<SharedThreadPool> pool(GetMediaThreadPool()); + MOZ_DIAGNOSTIC_ASSERT(pool); + mTaskQueue = new MediaTaskQueue(pool.forget()); static bool sPrefCacheInit = false; if (!sPrefCacheInit) { sPrefCacheInit = true; Preferences::AddUintVarCache(&sVideoQueueDefaultSize, "media.video-queue.default-size", MAX_VIDEO_QUEUE_SIZE); Preferences::AddUintVarCache(&sVideoQueueHWAccelSize,
--- a/dom/media/VideoUtils.cpp +++ b/dom/media/VideoUtils.cpp @@ -192,19 +192,19 @@ IsValidVideoRegion(const nsIntSize& aFra aPicture.width * aPicture.height <= MAX_VIDEO_WIDTH * MAX_VIDEO_HEIGHT && aPicture.width * aPicture.height != 0 && aDisplay.width <= PlanarYCbCrImage::MAX_DIMENSION && aDisplay.height <= PlanarYCbCrImage::MAX_DIMENSION && aDisplay.width * aDisplay.height <= MAX_VIDEO_WIDTH * MAX_VIDEO_HEIGHT && aDisplay.width * aDisplay.height != 0; } -TemporaryRef<SharedThreadPool> GetMediaDecodeThreadPool() +TemporaryRef<SharedThreadPool> GetMediaThreadPool() { - return SharedThreadPool::Get(NS_LITERAL_CSTRING("Media Decode"), + return SharedThreadPool::Get(NS_LITERAL_CSTRING("Media Playback"), Preferences::GetUint("media.num-decode-threads", 25)); } bool ExtractH264CodecDetails(const nsAString& aCodec, int16_t& aProfile, int16_t& aLevel) { @@ -296,27 +296,27 @@ GenerateRandomPathName(nsCString& aOutSa return NS_OK; } class CreateTaskQueueTask : public nsRunnable { public: NS_IMETHOD Run() { MOZ_ASSERT(NS_IsMainThread()); - mTaskQueue = new MediaTaskQueue(GetMediaDecodeThreadPool()); + mTaskQueue = new MediaTaskQueue(GetMediaThreadPool()); return NS_OK; } nsRefPtr<MediaTaskQueue> mTaskQueue; }; class CreateFlushableTaskQueueTask : public nsRunnable { public: NS_IMETHOD Run() { MOZ_ASSERT(NS_IsMainThread()); - mTaskQueue = new FlushableMediaTaskQueue(GetMediaDecodeThreadPool()); + mTaskQueue = new FlushableMediaTaskQueue(GetMediaThreadPool()); return NS_OK; } nsRefPtr<FlushableMediaTaskQueue> mTaskQueue; }; already_AddRefed<MediaTaskQueue> CreateMediaDecodeTaskQueue() {
--- a/dom/media/VideoUtils.h +++ b/dom/media/VideoUtils.h @@ -214,17 +214,17 @@ private: T& mVar; const T mValue; }; class SharedThreadPool; // Returns the thread pool that is shared amongst all decoder state machines // for decoding streams. -TemporaryRef<SharedThreadPool> GetMediaDecodeThreadPool(); +TemporaryRef<SharedThreadPool> GetMediaThreadPool(); enum H264_PROFILE { H264_PROFILE_UNKNOWN = 0, H264_PROFILE_BASE = 0x42, H264_PROFILE_MAIN = 0x4D, H264_PROFILE_EXTENDED = 0x58, H264_PROFILE_HIGH = 0x64, };
--- a/dom/media/fmp4/MP4Reader.cpp +++ b/dom/media/fmp4/MP4Reader.cpp @@ -243,20 +243,20 @@ nsresult MP4Reader::Init(MediaDecoderReader* aCloneDonor) { MOZ_ASSERT(NS_IsMainThread(), "Must be on main thread."); PlatformDecoderModule::Init(); mStream = new MP4Stream(mDecoder->GetResource()); InitLayersBackendType(); - mAudio.mTaskQueue = new FlushableMediaTaskQueue(GetMediaDecodeThreadPool()); + mAudio.mTaskQueue = new FlushableMediaTaskQueue(GetMediaThreadPool()); NS_ENSURE_TRUE(mAudio.mTaskQueue, NS_ERROR_FAILURE); - mVideo.mTaskQueue = new FlushableMediaTaskQueue(GetMediaDecodeThreadPool()); + mVideo.mTaskQueue = new FlushableMediaTaskQueue(GetMediaThreadPool()); NS_ENSURE_TRUE(mVideo.mTaskQueue, NS_ERROR_FAILURE); static bool sSetupPrefCache = false; if (!sSetupPrefCache) { sSetupPrefCache = true; Preferences::AddBoolVarCache(&sIsEMEEnabled, "media.eme.enabled", false); Preferences::AddBoolVarCache(&sDemuxSkipToNextKeyframe, "media.fmp4.demux-skip", true); }
--- a/dom/media/fmp4/SharedDecoderManager.cpp +++ b/dom/media/fmp4/SharedDecoderManager.cpp @@ -53,17 +53,17 @@ public: mManager->mActiveCallback->ReleaseMediaResources(); } } SharedDecoderManager* mManager; }; SharedDecoderManager::SharedDecoderManager() - : mTaskQueue(new FlushableMediaTaskQueue(GetMediaDecodeThreadPool())) + : mTaskQueue(new FlushableMediaTaskQueue(GetMediaThreadPool())) , mActiveProxy(nullptr) , mActiveCallback(nullptr) , mWaitForInternalDrain(false) , mMonitor("SharedDecoderProxy") , mDecoderReleasedResources(false) { MOZ_ASSERT(NS_IsMainThread()); // taskqueue must be created on main thread. mCallback = new SharedDecoderCallback(this);
--- a/dom/media/mediasource/TrackBuffer.cpp +++ b/dom/media/mediasource/TrackBuffer.cpp @@ -47,17 +47,17 @@ TrackBuffer::TrackBuffer(MediaSourceDeco , mLastStartTimestamp(0) , mLastTimestampOffset(0) , mAdjustedTimestamp(0) , mIsWaitingOnCDM(false) , mShutdown(false) { MOZ_COUNT_CTOR(TrackBuffer); mParser = ContainerParser::CreateForMIMEType(aType); - mTaskQueue = new MediaTaskQueue(GetMediaDecodeThreadPool()); + mTaskQueue = new MediaTaskQueue(GetMediaThreadPool()); aParentDecoder->AddTrackBuffer(this); mDecoderPerSegment = Preferences::GetBool("media.mediasource.decoder-per-segment", false); MSE_DEBUG("TrackBuffer created for parent decoder %p", aParentDecoder); } TrackBuffer::~TrackBuffer() { MOZ_COUNT_DTOR(TrackBuffer);