Issue #26 Part 2a: make more EME code conditional.

- Exclude missed MediaKey functions and CDMProxy code.
- Exclude EME APIs frm being built (webidl change)
- Fix tests in --disable-eme state
This commit is contained in:
wolfbeast 2019-08-13 22:45:09 +02:00 • committed by Roy Tam
commit 429f908af1
21 changed files with 126 additions and 21 deletions

View file

@ -24,7 +24,6 @@
#endif
#include "GMPDecoderModule.h"
#include "mozilla/CDMProxy.h"
#include "mozilla/ClearOnShutdown.h"
#include "mozilla/SharedThreadPool.h"
#include "mozilla/StaticPtr.h"
@ -37,7 +36,11 @@
#include "H264Converter.h"
#include "AgnosticDecoderModule.h"
#ifdef MOZ_EME
#include "mozilla/CDMProxy.h"
#include "EMEDecoderModule.h"
#endif
#include "DecoderDoctorDiagnostics.h"
@ -463,11 +466,13 @@ PDMFactory::GetDecoder(const TrackInfo& aTrackInfo,
return pdm.forget();
}
#ifdef MOZ_EME
void
PDMFactory::SetCDMProxy(CDMProxy* aProxy)
{
RefPtr<PDMFactory> m = new PDMFactory();
mEMEPDM = new EMEDecoderModule(aProxy, m);
}
#endif
} // namespace mozilla

View file

@ -11,7 +11,9 @@
#include "mozilla/Function.h"
#include "mozilla/StaticMutex.h"
#ifdef MOZ_EME
class CDMProxy;
#endif
namespace mozilla {
@ -38,12 +40,14 @@ public:
bool Supports(const TrackInfo& aTrackInfo,
DecoderDoctorDiagnostics* aDiagnostics) const;
#ifdef MOZ_EME
// Creates a PlatformDecoderModule that uses a CDMProxy to decrypt or
// decrypt-and-decode EME encrypted content. If the CDM only decrypts and
// does not decode, we create a PDM and use that to create MediaDataDecoders
// that we use on on aTaskQueue to decode the decrypted stream.
// This is called on the decode task queue.
void SetCDMProxy(CDMProxy* aProxy);
#endif
static constexpr int kYUV400 = 0;
static constexpr int kYUV420 = 1;

View file

@ -30,11 +30,13 @@ UNIFIED_SOURCES += [
]
DIRS += [
'agnostic/eme',
'agnostic/gmp',
'omx'
]
if CONFIG['MOZ_EME']:
DIRS += ['agnostic/eme']
if CONFIG['MOZ_WMF']:
DIRS += [ 'wmf' ];