Bug 1094678 - MediaCodecReader::CreateTaskQueues() runs at main thread. r=cpearce, r=brsun

This commit is contained in:
Benjamin Chen 2014-12-23 14:31:30 +08:00
parent af142ea0c9
commit 935a404340

View File

@ -37,6 +37,7 @@
#include "ImageContainer.h" #include "ImageContainer.h"
#include "SharedThreadPool.h" #include "SharedThreadPool.h"
#include "VideoFrameContainer.h" #include "VideoFrameContainer.h"
#include "VideoUtils.h"
using namespace android; using namespace android;
@ -1275,14 +1276,12 @@ MediaCodecReader::CreateTaskQueues()
{ {
if (mAudioTrack.mSource != nullptr && mAudioTrack.mCodec != nullptr && if (mAudioTrack.mSource != nullptr && mAudioTrack.mCodec != nullptr &&
!mAudioTrack.mTaskQueue) { !mAudioTrack.mTaskQueue) {
mAudioTrack.mTaskQueue = new MediaTaskQueue( mAudioTrack.mTaskQueue = CreateMediaDecodeTaskQueue();
SharedThreadPool::Get(NS_LITERAL_CSTRING("MediaCodecReader Audio"), 1));
NS_ENSURE_TRUE(mAudioTrack.mTaskQueue, false); NS_ENSURE_TRUE(mAudioTrack.mTaskQueue, false);
} }
if (mVideoTrack.mSource != nullptr && mVideoTrack.mCodec != nullptr && if (mVideoTrack.mSource != nullptr && mVideoTrack.mCodec != nullptr &&
!mVideoTrack.mTaskQueue) { !mVideoTrack.mTaskQueue) {
mVideoTrack.mTaskQueue = new MediaTaskQueue( mVideoTrack.mTaskQueue = CreateMediaDecodeTaskQueue();
SharedThreadPool::Get(NS_LITERAL_CSTRING("MediaCodecReader Video"), 1));
NS_ENSURE_TRUE(mVideoTrack.mTaskQueue, false); NS_ENSURE_TRUE(mVideoTrack.mTaskQueue, false);
} }