зеркало из https://github.com/mozilla/gecko-dev.git
385 строки
9.2 KiB
Python
385 строки
9.2 KiB
Python
# -*- 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.jsm"):
|
|
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",
|
|
"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",
|
|
"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",
|
|
]
|
|
|
|
if CONFIG["MOZ_WEBRTC"]:
|
|
MOCHITEST_MANIFESTS += ["webrtc/tests/mochitests/mochitest.ini"]
|
|
|
|
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",
|
|
"AudioThreadRegistry.h",
|
|
"BackgroundVideoDecodingPermissionObserver.h",
|
|
"Benchmark.h",
|
|
"BitReader.h",
|
|
"BitWriter.h",
|
|
"BufferMediaResource.h",
|
|
"BufferReader.h",
|
|
"ByteWriter.h",
|
|
"ChannelMediaDecoder.h",
|
|
"CrossGraphPort.h",
|
|
"CubebUtils.h",
|
|
"DecoderTraits.h",
|
|
"DOMMediaStream.h",
|
|
"DriftCompensation.h",
|
|
"DynamicResampler.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",
|
|
"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",
|
|
"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",
|
|
"AudioRingBuffer.cpp",
|
|
"AudioSegment.cpp",
|
|
"AudioStream.cpp",
|
|
"AudioStreamTrack.cpp",
|
|
"AudioTrack.cpp",
|
|
"AudioTrackList.cpp",
|
|
"BackgroundVideoDecodingPermissionObserver.cpp",
|
|
"BaseMediaResource.cpp",
|
|
"Benchmark.cpp",
|
|
"BitReader.cpp",
|
|
"BitWriter.cpp",
|
|
"CanvasCaptureMediaStream.cpp",
|
|
"ChannelMediaDecoder.cpp",
|
|
"ChannelMediaResource.cpp",
|
|
"CloneableWithRangeMediaResource.cpp",
|
|
"CrossGraphPort.cpp",
|
|
"DOMMediaStream.cpp",
|
|
"DynamicResampler.cpp",
|
|
"FileBlockCache.cpp",
|
|
"FileMediaResource.cpp",
|
|
"ForwardedInputTrack.cpp",
|
|
"GetUserMediaRequest.cpp",
|
|
"GraphDriver.cpp",
|
|
"GraphRunner.cpp",
|
|
"ImageToI420.cpp",
|
|
"MediaCache.cpp",
|
|
"MediaContainerType.cpp",
|
|
"MediaData.cpp",
|
|
"MediaDecoder.cpp",
|
|
"MediaDecoderStateMachine.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",
|
|
"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.
|
|
SOURCES += [
|
|
"CubebUtils.cpp",
|
|
"DecoderTraits.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.jsm",
|
|
]
|
|
|
|
EXTRA_JS_MODULES.media += [
|
|
"IdpSandbox.jsm",
|
|
"PeerConnectionIdp.jsm",
|
|
]
|
|
|
|
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
|
|
DEFINES["TRACING"] = True
|
|
|
|
if CONFIG["MOZ_ANDROID_HLS_SUPPORT"]:
|
|
DEFINES["MOZ_ANDROID_HLS_SUPPORT"] = True
|
|
|
|
if CONFIG["COMPILE_ENVIRONMENT"]:
|
|
EXPORTS += [
|
|
"!audioipc_client_ffi_generated.h",
|
|
"!audioipc_server_ffi_generated.h",
|
|
]
|
|
|
|
CbindgenHeader(
|
|
"audioipc_client_ffi_generated.h", inputs=["/third_party/rust/audioipc-client"]
|
|
)
|
|
|
|
CbindgenHeader(
|
|
"audioipc_server_ffi_generated.h", inputs=["/third_party/rust/audioipc-server"]
|
|
)
|
|
|
|
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",
|
|
"-Wno-error=shadow",
|
|
]
|
|
|
|
CXXFLAGS += ["-Werror=switch"]
|
|
|
|
FINAL_LIBRARY = "xul"
|