diff options
Diffstat (limited to 'dom/media/platforms/moz.build')
-rw-r--r-- | dom/media/platforms/moz.build | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/dom/media/platforms/moz.build b/dom/media/platforms/moz.build new file mode 100644 index 0000000000..c71f22a22e --- /dev/null +++ b/dom/media/platforms/moz.build @@ -0,0 +1,141 @@ +# -*- 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/. + +EXPORTS += [ + "agnostic/AgnosticDecoderModule.h", + "agnostic/BlankDecoderModule.h", + "agnostic/DummyMediaDataDecoder.h", + "agnostic/OpusDecoder.h", + "agnostic/TheoraDecoder.h", + "agnostic/VorbisDecoder.h", + "agnostic/VPXDecoder.h", + "agnostic/WAVDecoder.h", + "AllocationPolicy.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", +] + +UNIFIED_SOURCES += [ + "agnostic/AgnosticDecoderModule.cpp", + "agnostic/BlankDecoderModule.cpp", + "agnostic/DummyMediaDataDecoder.cpp", + "agnostic/NullDecoderModule.cpp", + "agnostic/OpusDecoder.cpp", + "agnostic/TheoraDecoder.cpp", + "agnostic/VorbisDecoder.cpp", + "agnostic/VPXDecoder.cpp", + "agnostic/WAVDecoder.cpp", + "AllocationPolicy.cpp", + "MediaCodecsSupport.cpp", + "PDMFactory.cpp", + "PEMFactory.cpp", + "PlatformDecoderModule.cpp", + "wrappers/AudioTrimmer.cpp", + "wrappers/MediaChangeMonitor.cpp", + "wrappers/MediaDataDecoderProxy.cpp", +] + +DIRS += ["agnostic/bytestreams", "agnostic/eme", "agnostic/gmp", "omx"] + +if CONFIG["MOZ_WMF"]: + DIRS += ["wmf"] + +if CONFIG["MOZ_FFVPX"] or CONFIG["MOZ_FFMPEG"]: + # common code to either FFmpeg or FFVPX + EXPORTS += [ + "ffmpeg/FFmpegRDFTTypes.h", + ] + UNIFIED_SOURCES += [ + "ffmpeg/FFmpegLibWrapper.cpp", + ] + +if CONFIG["MOZ_FFVPX"]: + 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") |