# -*- 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-sanitized-cdm-exports.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", "widevine-adapter/content_decryption_module_proxy.h", ] UNIFIED_SOURCES += [ "CDMStorageIdProvider.cpp", "ChromiumCDMAdapter.cpp", "ChromiumCDMCallbackProxy.cpp", "ChromiumCDMChild.cpp", "ChromiumCDMParent.cpp", "ChromiumCDMProxy.cpp", "DecryptJob.cpp", "GMPChild.cpp", "GMPContentChild.cpp", "GMPContentParent.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 += [ "rlz", "widevine-adapter", ] IPDL_SOURCES += [ "GMPTypes.ipdlh", "PChromiumCDM.ipdl", "PGMP.ipdl", "PGMPContent.ipdl", "PGMPService.ipdl", "PGMPStorage.ipdl", "PGMPTimer.ipdl", "PGMPVideoDecoder.ipdl", "PGMPVideoEncoder.ipdl", ] if CONFIG["OS_TARGET"] in ["WINNT", "Darwin"]: DEFINES["SUPPORT_STORAGE_ID"] = 1 # 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" # dom/media/webrtc/transport so we work with --disable-webrtc LOCAL_INCLUDES += [ "/dom/media/webrtc/transport", "/xpcom/base", "/xpcom/build", "/xpcom/threads", ] if CONFIG["CC_TYPE"] in ("clang", "gcc"): CXXFLAGS += ["-Wno-error=shadow"]