bug 1161402 add MediaDataDecoderCallback::OnReaderTaskQueue() r=cpearce

--HG--
extra : rebase_source : 59323104c9ffca27e79a1da163d258c1a9ec22c2
This commit is contained in:
Karl Tomlinson 2015-05-01 12:03:32 +12:00
parent 091d2512b1
commit ff0a1eca14
5 changed files with 20 additions and 0 deletions

View File

@ -164,6 +164,9 @@ private:
virtual void ReleaseMediaResources() override {
mReader->ReleaseMediaResources();
}
virtual bool OnReaderTaskQueue() override {
return mReader->OnTaskQueue();
}
private:
MP4Reader* mReader;
TrackType mType;

View File

@ -182,6 +182,8 @@ public:
virtual void NotifyResourcesStatusChanged() {};
virtual void ReleaseMediaResources() {};
virtual bool OnReaderTaskQueue() = 0;
};
// MediaDataDecoder is the interface exposed by decoders created by the

View File

@ -52,6 +52,11 @@ public:
mManager->mActiveCallback->ReleaseMediaResources();
}
}
virtual bool OnReaderTaskQueue() override
{
MOZ_ASSERT(mManager->mActiveCallback);
return mManager->mActiveCallback->OnReaderTaskQueue();
}
SharedDecoderManager* mManager;
};

View File

@ -116,6 +116,11 @@ public:
virtual void FlushComplete();
virtual bool OnReaderTaskQueue() override
{
return mProxyCallback->OnReaderTaskQueue();
}
private:
MediaDataDecoderProxy* mProxyDecoder;
MediaDataDecoderCallback* mProxyCallback;

View File

@ -43,6 +43,11 @@ public:
virtual void InputExhausted() override;
virtual void Error() override;
virtual bool OnReaderTaskQueue() override
{
return mReader->OnTaskQueue();
}
IntelWebMVideoDecoder(WebMReader* aReader);
~IntelWebMVideoDecoder();