# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. XPIDL_MODULE = 'content_geckomediaplugins' XPIDL_SOURCES += [ 'mozIGeckoMediaPluginChromeService.idl', 'mozIGeckoMediaPluginService.idl', ] EXPORTS += [ 'ChromiumCDMCallback.h', 'ChromiumCDMParent.h', 'ChromiumCDMProxy.h', 'DecryptJob.h', 'gmp-api/gmp-entrypoints.h', 'gmp-api/gmp-errors.h', 'gmp-api/gmp-platform.h', 'gmp-api/gmp-storage.h', 'gmp-api/gmp-video-codec.h', 'gmp-api/gmp-video-decode.h', 'gmp-api/gmp-video-encode.h', 'gmp-api/gmp-video-frame-encoded.h', 'gmp-api/gmp-video-frame-i420.h', 'gmp-api/gmp-video-frame.h', 'gmp-api/gmp-video-host.h', 'gmp-api/gmp-video-plane.h', 'GMPCallbackBase.h', 'GMPChild.h', 'GMPContentChild.h', 'GMPContentParent.h', 'GMPCrashHelper.h', 'GMPCrashHelperHolder.h', 'GMPLoader.h', 'GMPMessageUtils.h', 'GMPParent.h', 'GMPPlatform.h', 'GMPProcessChild.h', 'GMPProcessParent.h', 'GMPService.h', 'GMPServiceChild.h', 'GMPServiceParent.h', 'GMPSharedMemManager.h', 'GMPStorage.h', 'GMPStorageChild.h', 'GMPStorageParent.h', 'GMPTimerChild.h', 'GMPTimerParent.h', 'GMPUtils.h', 'GMPVideoDecoderChild.h', 'GMPVideoDecoderParent.h', 'GMPVideoDecoderProxy.h', 'GMPVideoEncodedFrameImpl.h', 'GMPVideoEncoderChild.h', 'GMPVideoEncoderParent.h', 'GMPVideoEncoderProxy.h', 'GMPVideoHost.h', 'GMPVideoi420FrameImpl.h', 'GMPVideoPlaneImpl.h', 'widevine-adapter/content_decryption_module.h', 'widevine-adapter/content_decryption_module_export.h', 'widevine-adapter/content_decryption_module_ext.h', ] UNIFIED_SOURCES += [ 'ChromiumCDMAdapter.cpp', 'ChromiumCDMCallbackProxy.cpp', 'ChromiumCDMChild.cpp', 'ChromiumCDMParent.cpp', 'ChromiumCDMProxy.cpp', 'DecryptJob.cpp', 'GMPChild.cpp', 'GMPContentChild.cpp', 'GMPContentParent.cpp', 'GMPCrashHelper.cpp', 'GMPCrashHelperHolder.cpp', 'GMPDiskStorage.cpp', 'GMPLoader.cpp', 'GMPMemoryStorage.cpp', 'GMPParent.cpp', 'GMPPlatform.cpp', 'GMPProcessChild.cpp', 'GMPProcessParent.cpp', 'GMPService.cpp', 'GMPServiceChild.cpp', 'GMPServiceParent.cpp', 'GMPSharedMemManager.cpp', 'GMPStorageChild.cpp', 'GMPStorageParent.cpp', 'GMPTimerChild.cpp', 'GMPTimerParent.cpp', 'GMPUtils.cpp', 'GMPVideoDecoderChild.cpp', 'GMPVideoDecoderParent.cpp', 'GMPVideoEncodedFrameImpl.cpp', 'GMPVideoEncoderChild.cpp', 'GMPVideoEncoderParent.cpp', 'GMPVideoHost.cpp', 'GMPVideoi420FrameImpl.cpp', 'GMPVideoPlaneImpl.cpp' ] DIRS += [ 'widevine-adapter', ] IPDL_SOURCES += [ 'GMPTypes.ipdlh', 'PChromiumCDM.ipdl', 'PGMP.ipdl', 'PGMPContent.ipdl', 'PGMPService.ipdl', 'PGMPStorage.ipdl', 'PGMPTimer.ipdl', 'PGMPVideoDecoder.ipdl', 'PGMPVideoEncoder.ipdl', ] # comment this out to use Unsafe Shmem for more performance DEFINES['GMP_SAFE_SHMEM'] = True include('/ipc/chromium/chromium-config.mozbuild') if CONFIG['MOZ_SANDBOX']: # For sandbox includes and the include dependencies those have LOCAL_INCLUDES += [ '/security/sandbox/chromium', '/security/sandbox/chromium-shim', ] FINAL_LIBRARY = 'xul' # media/mtransport so we work with --disable-webrtc LOCAL_INCLUDES += [ '/media/mtransport', '/xpcom/base', '/xpcom/build', '/xpcom/threads', ] if CONFIG['CC_TYPE'] in ('clang', 'gcc'): CXXFLAGS += ['-Wno-error=shadow']