diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-02-24 22:12:27 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-02-24 22:12:27 +0100 |
commit | e10dfb62ff916d49632febb59565f3c52f4970bd (patch) | |
tree | e3162c57574bcf7f91d262d9a8cd70ece01f9edb /dom/media/MediaFormatReader.cpp | |
parent | fd6b1ad6f9768556bb03a0fbdb16587fdfd0a962 (diff) | |
parent | 27727874636868dc6d61e8117f81cd761c91e2ed (diff) | |
download | UXP-e10dfb62ff916d49632febb59565f3c52f4970bd.tar UXP-e10dfb62ff916d49632febb59565f3c52f4970bd.tar.gz UXP-e10dfb62ff916d49632febb59565f3c52f4970bd.tar.lz UXP-e10dfb62ff916d49632febb59565f3c52f4970bd.tar.xz UXP-e10dfb62ff916d49632febb59565f3c52f4970bd.zip |
Merge branch 'EME-work'
Diffstat (limited to 'dom/media/MediaFormatReader.cpp')
-rw-r--r-- | dom/media/MediaFormatReader.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/dom/media/MediaFormatReader.cpp b/dom/media/MediaFormatReader.cpp index 2093803ad..06e8b963b 100644 --- a/dom/media/MediaFormatReader.cpp +++ b/dom/media/MediaFormatReader.cpp @@ -346,8 +346,12 @@ MediaFormatReader::DecoderFactory::DoCreateDecoder(TrackType aTrack) if (!mOwner->mPlatform) { mOwner->mPlatform = new PDMFactory(); if (mOwner->IsEncrypted()) { +#ifdef MOZ_EME MOZ_ASSERT(mOwner->mCDMProxy); mOwner->mPlatform->SetCDMProxy(mOwner->mCDMProxy); +#else + return MediaResult(NS_ERROR_DOM_MEDIA_FATAL_ERR, "EME not supported"); +#endif } } @@ -577,6 +581,7 @@ MediaFormatReader::InitInternal() return NS_OK; } +#ifdef MOZ_EME class DispatchKeyNeededEvent : public Runnable { public: DispatchKeyNeededEvent(AbstractMediaDecoder* aDecoder, @@ -602,6 +607,7 @@ private: nsTArray<uint8_t> mInitData; nsString mInitDataType; }; +#endif void MediaFormatReader::SetCDMProxy(CDMProxy* aProxy) @@ -618,7 +624,11 @@ MediaFormatReader::SetCDMProxy(CDMProxy* aProxy) bool MediaFormatReader::IsWaitingOnCDMResource() { MOZ_ASSERT(OnTaskQueue()); +#ifdef MOZ_EME return IsEncrypted() && !mCDMProxy; +#else + return false; +#endif } RefPtr<MediaDecoderReader::MetadataPromise> @@ -725,11 +735,13 @@ MediaFormatReader::OnDemuxerInitDone(nsresult) UniquePtr<EncryptionInfo> crypto = mDemuxer->GetCrypto(); if (mDecoder && crypto && crypto->IsEncrypted()) { +#ifdef MOZ_EME // Try and dispatch 'encrypted'. Won't go if ready state still HAVE_NOTHING. for (uint32_t i = 0; i < crypto->mInitDatas.Length(); i++) { NS_DispatchToMainThread( new DispatchKeyNeededEvent(mDecoder, crypto->mInitDatas[i].mInitData, crypto->mInitDatas[i].mType)); } +#endif mInfo.mCrypto = *crypto; } |