diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /dom/media/moz.build | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | dom/media/moz.build | 416 |
1 files changed, 416 insertions, 0 deletions
diff --git a/dom/media/moz.build b/dom/media/moz.build new file mode 100644 index 0000000000..6e9f9eb205 --- /dev/null +++ b/dom/media/moz.build @@ -0,0 +1,416 @@ +# -*- 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/. +include("/dom/media/webrtc/third_party_build/webrtc.mozbuild") + +with Files("*"): + BUG_COMPONENT = ("Core", "Audio/Video") + +with Files("test/**"): + BUG_COMPONENT = ("Core", "Audio/Video: Playback") + +with Files("gtest/TestGMP*"): + BUG_COMPONENT = ("Core", "Audio/Video: GMP") + +with Files("tests/**"): + BUG_COMPONENT = ("Core", "WebRTC") + +component_signaling = ("Core", "WebRTC: Signaling") +with Files("IdpSandbox.sys.mjs"): + BUG_COMPONENT = component_signaling +with Files("PeerConnection*"): + BUG_COMPONENT = component_signaling + +component_av = ("Core", "WebRTC: Audio/Video") +with Files("GetUserMedia*"): + BUG_COMPONENT = component_av + +DIRS += [ + "autoplay", + "doctor", + "eme", + "encoder", + "fake-cdm", + "flac", + "gmp", + "gmp-plugin-openh264", + "imagecapture", + "ipc", + "mediacapabilities", + "mediacontrol", + "mediasink", + "mediasource", + "mediasession", + "mp3", + "ogg", + "platforms", + "systemservices", + "utils", + "wave", + "webaudio", + "webcodecs", + "webm", + "webrtc", + "webspeech", + "webvtt", +] + +if CONFIG["MOZ_ANDROID_HLS_SUPPORT"]: + DIRS += ["hls"] + +if CONFIG["MOZ_FMP4"]: + DIRS += ["mp4"] + +if CONFIG["MOZ_WEBRTC"]: + DIRS += ["bridge"] + +TEST_DIRS += [ + "gtest", +] + +# Add libFuzzer configuration directives +include("/tools/fuzzing/libfuzzer-config.mozbuild") + +if CONFIG["FUZZING_INTERFACES"]: + TEST_DIRS += ["fuzz"] + +if CONFIG["MOZ_WEBRTC_SIGNALING"]: + if CONFIG["FUZZING_INTERFACES"]: + TEST_DIRS += ["webrtc/tests/fuzztests"] + +MOCHITEST_MANIFESTS += [ + "test/mochitest.ini", + "test/mochitest_background_video.ini", + "test/mochitest_bugs.ini", + "test/mochitest_compat.ini", + "test/mochitest_eme.ini", + "test/mochitest_media_recorder.ini", + "test/mochitest_seek.ini", + "test/mochitest_stream.ini", + "webrtc/tests/mochitests/identity/mochitest.ini", +] + +MOCHITEST_CHROME_MANIFESTS += ["test/chrome/chrome.ini"] + +BROWSER_CHROME_MANIFESTS += [ + "mediacontrol/tests/browser/browser.ini", + "mediasession/test/browser.ini", + "test/browser/browser.ini", + "test/browser/wmfme/browser.ini", +] + +if CONFIG["MOZ_WEBRTC"]: + MOCHITEST_MANIFESTS += [ + "webrtc/tests/mochitests/mochitest.ini", + "webrtc/tests/mochitests/mochitest_datachannel.ini", + "webrtc/tests/mochitests/mochitest_getusermedia.ini", + "webrtc/tests/mochitests/mochitest_peerconnection.ini", + ] + + CRASHTEST_MANIFESTS += ["webrtc/tests/crashtests/crashtests.list"] + +XPIDL_SOURCES += [ + "nsIAudioDeviceInfo.idl", + "nsIMediaDevice.idl", + "nsIMediaManager.idl", +] + +XPIDL_MODULE = "dom_media" + +EXPORTS += [ + "../../third_party/rust/audio_thread_priority/audio_thread_priority.h", + "ADTSDecoder.h", + "ADTSDemuxer.h", + "AsyncLogger.h", + "AudibilityMonitor.h", + "AudioBufferUtils.h", + "AudioChannelFormat.h", + "AudioCompactor.h", + "AudioConfig.h", + "AudioConverter.h", + "AudioDeviceInfo.h", + "AudioDriftCorrection.h", + "AudioMixer.h", + "AudioPacketizer.h", + "AudioRingBuffer.h", + "AudioSampleFormat.h", + "AudioSegment.h", + "AudioStream.h", + "BackgroundVideoDecodingPermissionObserver.h", + "Benchmark.h", + "BitReader.h", + "BitWriter.h", + "BufferMediaResource.h", + "BufferReader.h", + "ByteWriter.h", + "CallbackThreadRegistry.h", + "ChannelMediaDecoder.h", + "CrossGraphPort.h", + "CubebUtils.h", + "DecoderTraits.h", + "DOMMediaStream.h", + "DriftCompensation.h", + "DynamicResampler.h", + "ExternalEngineStateMachine.h", + "FileBlockCache.h", + "ForwardedInputTrack.h", + "FrameStatistics.h", + "ImageToI420.h", + "Intervals.h", + "MediaCache.h", + "MediaContainerType.h", + "MediaData.h", + "MediaDataDemuxer.h", + "MediaDecoder.h", + "MediaDecoderOwner.h", + "MediaDecoderStateMachine.h", + "MediaDecoderStateMachineBase.h", + "MediaEventSource.h", + "MediaFormatReader.h", + "MediaInfo.h", + "MediaMetadataManager.h", + "MediaMIMETypes.h", + "MediaPlaybackDelayPolicy.h", + "MediaPromiseDefs.h", + "MediaQueue.h", + "MediaRecorder.h", + "MediaResource.h", + "MediaResourceCallback.h", + "MediaResult.h", + "MediaSegment.h", + "MediaShutdownManager.h", + "MediaSpan.h", + "MediaStatistics.h", + "MediaStreamWindowCapturer.h", + "MediaTimer.h", + "MediaTrack.h", + "MediaTrackGraph.h", + "MediaTrackList.h", + "MediaTrackListener.h", + "MemoryBlockCache.h", + "MPSCQueue.h", + "nsIDocumentActivity.h", + "PrincipalChangeObserver.h", + "PrincipalHandle.h", + "QueueObject.h", + "ReaderProxy.h", + "SeekJob.h", + "SeekTarget.h", + "SelfRef.h", + "SharedBuffer.h", + "TimeUnits.h", + "Tracing.h", + "VideoFrameContainer.h", + "VideoLimits.h", + "VideoSegment.h", + "VideoUtils.h", + "VorbisUtils.h", + "WavDumper.h", + "XiphExtradata.h", +] + +EXPORTS.mozilla += [ + "MediaManager.h", + "UnderrunHandler.h", +] + +EXPORTS.mozilla.media.webrtc += [ + "webrtc/WebrtcGlobal.h", + "webrtc/WebrtcIPCTraits.h", +] + +if not CONFIG["MOZ_WEBRTC"]: + EXPORTS.transport += [ + "webrtc/transport/runnable_utils.h", + ] + +EXPORTS.mozilla.dom += [ + "AudioDeviceInfo.h", + "AudioStreamTrack.h", + "AudioTrack.h", + "AudioTrackList.h", + "CanvasCaptureMediaStream.h", + "GetUserMediaRequest.h", + "MediaDeviceInfo.h", + "MediaDevices.h", + "MediaStreamError.h", + "MediaStreamTrack.h", + "VideoPlaybackQuality.h", + "VideoStreamTrack.h", + "VideoTrack.h", + "VideoTrackList.h", + "webrtc/MediaTransportChild.h", + "webrtc/MediaTransportParent.h", +] + +UNIFIED_SOURCES += [ + "ADTSDecoder.cpp", + "ADTSDemuxer.cpp", + "AudioCaptureTrack.cpp", + "AudioChannelFormat.cpp", + "AudioCompactor.cpp", + "AudioConfig.cpp", + "AudioConverter.cpp", + "AudioDeviceInfo.cpp", + "AudioInputSource.cpp", + "AudioRingBuffer.cpp", + "AudioSegment.cpp", + "AudioStream.cpp", + "AudioStreamTrack.cpp", + "AudioTrack.cpp", + "AudioTrackList.cpp", + "BackgroundVideoDecodingPermissionObserver.cpp", + "BaseMediaResource.cpp", + "Benchmark.cpp", + "BitReader.cpp", + "BitWriter.cpp", + "CallbackThreadRegistry.cpp", + "CanvasCaptureMediaStream.cpp", + "ChannelMediaDecoder.cpp", + "ChannelMediaResource.cpp", + "CloneableWithRangeMediaResource.cpp", + "CrossGraphPort.cpp", + "CubebInputStream.cpp", + "DeviceInputTrack.cpp", + "DOMMediaStream.cpp", + "DynamicResampler.cpp", + "ExternalEngineStateMachine.cpp", + "FileBlockCache.cpp", + "FileMediaResource.cpp", + "ForwardedInputTrack.cpp", + "GetUserMediaRequest.cpp", + "GraphDriver.cpp", + "GraphRunner.cpp", + "ImageToI420.cpp", + "MediaCache.cpp", + "MediaContainerType.cpp", + "MediaDecoder.cpp", + "MediaDecoderStateMachine.cpp", + "MediaDecoderStateMachineBase.cpp", + "MediaDeviceInfo.cpp", + "MediaDevices.cpp", + "MediaFormatReader.cpp", + "MediaInfo.cpp", + "MediaManager.cpp", + "MediaMIMETypes.cpp", + "MediaPlaybackDelayPolicy.cpp", + "MediaRecorder.cpp", + "MediaResource.cpp", + "MediaShutdownManager.cpp", + "MediaStreamError.cpp", + "MediaStreamTrack.cpp", + "MediaStreamWindowCapturer.cpp", + "MediaTimer.cpp", + "MediaTrack.cpp", + "MediaTrackGraph.cpp", + "MediaTrackList.cpp", + "MediaTrackListener.cpp", + "MemoryBlockCache.cpp", + "QueueObject.cpp", + "ReaderProxy.cpp", + "SeekJob.cpp", + "TimeUnits.cpp", + "Tracing.cpp", + "VideoFrameContainer.cpp", + "VideoPlaybackQuality.cpp", + "VideoSegment.cpp", + "VideoStreamTrack.cpp", + "VideoTrack.cpp", + "VideoTrackList.cpp", + "VideoUtils.cpp", + "XiphExtradata.cpp", +] + +if CONFIG["OS_TARGET"] == "Linux": + UNIFIED_SOURCES += ["UnderrunHandlerLinux.cpp"] +else: + UNIFIED_SOURCES += ["UnderrunHandlerNoop.cpp"] + +# CubebUtils.cpp needs to be built separately due to what appears to be some kind +# of compiler bug on Android 4.2 x86 opt. See bug 1408459. +# DecoderTraits.cpp needs to be built separately because of Mac OS X headers. +# MediaData.cpp : ambiguous compilation error caused by Mac OS X headers. +SOURCES += [ + "CubebUtils.cpp", + "DecoderTraits.cpp", + "MediaData.cpp", +] + +# Some codec-related code uses multi-character constants, which GCC and clang +# warn about. Suppress turning this warning into an error. +SOURCES["DecoderTraits.cpp"].flags += ["-Wno-error=multichar"] + +if CONFIG["MOZ_WEBRTC"]: + XPCOM_MANIFESTS += [ + "components.conf", + ] + + EXTRA_JS_MODULES.media += [ + "PeerConnection.sys.mjs", + ] + +EXTRA_JS_MODULES.media += [ + "IdpSandbox.sys.mjs", + "PeerConnectionIdp.sys.mjs", +] + +LOCAL_INCLUDES += [ + "/caps", + "/docshell/base", + "/dom/base", + "/dom/media/webrtc", + "/layout/generic", + "/layout/xul", + "/media/libyuv/libyuv/include", + "/netwerk/base", + "/toolkit/content/tests/browser/", +] + +if CONFIG["MOZ_WEBRTC"]: + LOCAL_INCLUDES += [ + "/dom/media/webrtc/common", + "/third_party/libwebrtc", + "/third_party/libwebrtc/third_party/abseil-cpp", + ] + +DEFINES["MOZILLA_INTERNAL_API"] = True + +if CONFIG["MOZ_ANDROID_HLS_SUPPORT"]: + DEFINES["MOZ_ANDROID_HLS_SUPPORT"] = True + +if CONFIG["COMPILE_ENVIRONMENT"]: + EXPORTS += [ + "!audioipc2_client_ffi_generated.h", + "!audioipc2_server_ffi_generated.h", + ] + + CbindgenHeader( + "audioipc2_client_ffi_generated.h", + inputs=["/third_party/rust/audioipc2-client"], + ) + + CbindgenHeader( + "audioipc2_server_ffi_generated.h", + inputs=["/third_party/rust/audioipc2-server"], + ) + +if CONFIG["ENABLE_TESTS"]: + DIRS += [ + "test/rdd_process_xpcom", + ] + +include("/ipc/chromium/chromium-config.mozbuild") + +# Suppress some GCC warnings being treated as errors: +# - about attributes on forward declarations for types that are already +# defined, which complains about an important MOZ_EXPORT for android::AString +if CONFIG["CC_TYPE"] in ("clang", "gcc"): + CXXFLAGS += [ + "-Wno-error=attributes", + ] + +CXXFLAGS += ["-Werror=switch"] + +FINAL_LIBRARY = "xul" |