Source code
Revision control
Copy as Markdown
Other Tools
# -*- 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
EXPORTS += [
"agnostic/AgnosticDecoderModule.h",
"agnostic/BlankDecoderModule.h",
"agnostic/DummyMediaDataDecoder.h",
"agnostic/VPXDecoder.h",
"AllocationPolicy.h",
"EncoderConfig.h",
"MediaCodecsSupport.h",
"MediaTelemetryConstants.h",
"PDMFactory.h",
"PEMFactory.h",
"PlatformDecoderModule.h",
"PlatformEncoderModule.h",
"ReorderQueue.h",
"SimpleMap.h",
"wrappers/AudioTrimmer.h",
"wrappers/MediaChangeMonitor.h",
"wrappers/MediaDataDecoderProxy.h",
"wrappers/MediaDataEncoderProxy.h",
]
UNIFIED_SOURCES += [
"agnostic/AgnosticDecoderModule.cpp",
"agnostic/BlankDecoderModule.cpp",
"agnostic/DummyMediaDataDecoder.cpp",
"agnostic/NullDecoderModule.cpp",
"agnostic/VPXDecoder.cpp",
"AllocationPolicy.cpp",
"EncoderConfig.cpp",
"MediaCodecsSupport.cpp",
"PDMFactory.cpp",
"PEMFactory.cpp",
"PlatformDecoderModule.cpp",
"PlatformEncoderModule.cpp",
"wrappers/AudioTrimmer.cpp",
"wrappers/MediaChangeMonitor.cpp",
"wrappers/MediaDataDecoderProxy.cpp",
"wrappers/MediaDataEncoderProxy.cpp",
]
DIRS += ["agnostic/bytestreams", "agnostic/eme", "agnostic/gmp", "omx"]
if CONFIG["MOZ_WMF"]:
DIRS += ["wmf"]
UNIFIED_SOURCES += [
"ffmpeg/FFmpegLibWrapper.cpp",
]
DIRS += [
"ffmpeg/ffvpx",
]
if CONFIG["MOZ_FFMPEG"]:
DIRS += [
"ffmpeg",
]
if CONFIG["MOZ_AV1"]:
EXPORTS += [
"agnostic/AOMDecoder.h",
"agnostic/DAV1DDecoder.h",
]
UNIFIED_SOURCES += [
"agnostic/AOMDecoder.cpp",
"agnostic/DAV1DDecoder.cpp",
]
if CONFIG["MOZ_OMX"]:
EXPORTS += [
"omx/OmxCoreLibLinker.h",
]
UNIFIED_SOURCES += [
"omx/OmxCoreLibLinker.cpp",
]
if CONFIG["MOZ_APPLEMEDIA"]:
EXPORTS += [
"apple/AppleDecoderModule.h",
"apple/AppleEncoderModule.h",
]
UNIFIED_SOURCES += [
"apple/AppleATDecoder.cpp",
"apple/AppleDecoderModule.cpp",
"apple/AppleEncoderModule.cpp",
"apple/AppleVTDecoder.cpp",
"apple/AppleVTEncoder.cpp",
]
LOCAL_INCLUDES += [
"/media/libyuv/libyuv/include",
]
OS_LIBS += [
"-framework AudioToolbox",
"-framework CoreMedia",
"-framework VideoToolbox",
# For some unknown reason, the documented method of using weak_import
# attribute doesn't work with VideoToolbox's functions.
# We want to lazily load _VTRegisterSupplementalVideoDecoderIfAvailable
# symbol as it's only available in macOS 11 and later.
"-Wl,-U,_VTRegisterSupplementalVideoDecoderIfAvailable",
# Same for VTIsHardwareDecodeSupported available from macOS 10.13.
"-Wl,-U,_VTIsHardwareDecodeSupported",
]
include("/ipc/chromium/chromium-config.mozbuild")
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
EXPORTS += [
"android/AndroidDecoderModule.h",
"android/AndroidEncoderModule.h",
"android/JavaCallbacksSupport.h",
]
UNIFIED_SOURCES += [
"android/AndroidDataEncoder.cpp",
"android/AndroidDecoderModule.cpp",
"android/AndroidEncoderModule.cpp",
"android/RemoteDataDecoder.cpp",
]
LOCAL_INCLUDES += [
"/media/libyuv/libyuv/include",
]
FINAL_LIBRARY = "xul"
# Add libFuzzer configuration directives
include("/tools/fuzzing/libfuzzer-config.mozbuild")