summaryrefslogtreecommitdiff
path: root/dom/media/mediasource
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2017-12-13 12:07:12 +0100
committerwolfbeast <mcwerewolf@gmail.com>2018-02-24 10:20:45 +0100
commit46ad1199deeaf6ba2db31fb3398d3eaa9abdbb2e (patch)
treebdb1316d0388f03c6b7e4171f56f5bac46c41d87 /dom/media/mediasource
parent55d03738f9f79e30bab6294b023176d1a65ab5c3 (diff)
downloaduxp-46ad1199deeaf6ba2db31fb3398d3eaa9abdbb2e.tar.gz
Don't build EME-specific subroutines without EME.
- Checks for restricted or encrypted content - Dispatching 'encrypted' events - Dispatching 'key needed' events - HTML Media Element media keys system - EME telemetry - HTML Media Element EME API This is the main bulk for #26, isolating EME-specific code.
Diffstat (limited to 'dom/media/mediasource')
-rw-r--r--dom/media/mediasource/TrackBuffersManager.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/dom/media/mediasource/TrackBuffersManager.cpp b/dom/media/mediasource/TrackBuffersManager.cpp
index 4265aed813..ac6d82411f 100644
--- a/dom/media/mediasource/TrackBuffersManager.cpp
+++ b/dom/media/mediasource/TrackBuffersManager.cpp
@@ -58,6 +58,7 @@ AppendStateToStr(SourceBufferAttributes::AppendState aState)
static Atomic<uint32_t> sStreamSourceID(0u);
+#ifdef MOZ_EME
class DispatchKeyNeededEvent : public Runnable {
public:
DispatchKeyNeededEvent(AbstractMediaDecoder* aDecoder,
@@ -83,6 +84,7 @@ private:
nsTArray<uint8_t> mInitData;
nsString mInitDataType;
};
+#endif
TrackBuffersManager::TrackBuffersManager(MediaSourceDecoder* aParentDecoder,
const nsACString& aType)
@@ -1097,12 +1099,14 @@ TrackBuffersManager::OnDemuxerInitDone(nsresult)
UniquePtr<EncryptionInfo> crypto = mInputDemuxer->GetCrypto();
if (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(mParentDecoder, crypto->mInitDatas[i].mInitData,
crypto->mInitDatas[i].mType));
}
+#endif
info.mCrypto = *crypto;
// We clear our crypto init data array, so the MediaFormatReader will
// not emit an encrypted event for the same init data again.