Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/dom/media/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 10 kB image not shown  

Quelle  moz.build   Sprache: unbekannt

 
# -*- 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",
    "driftcontrol",
    "eme",
    "encoder",
    "fake-cdm",
    "flac",
    "gmp",
    "gmp-plugin-openh264",
    "imagecapture",
    "ipc",
    "mediacapabilities",
    "mediacontrol",
    "mediasink",
    "mediasource",
    "mediasession",
    "mp3",
    "mp4",
    "ogg",
    "platforms",
    "systemservices",
    "utils",
    "wave",
    "webaudio",
    "webcodecs",
    "webm",
    "webrtc",
    "webspeech",
    "webvtt",
]

if CONFIG["MOZ_ANDROID_HLS_SUPPORT"]:
    DIRS += ["hls"]

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.toml",
    "test/mochitest_background_video.toml",
    "test/mochitest_bugs.toml",
    "test/mochitest_compat.toml",
    "test/mochitest_eme.toml",
    "test/mochitest_eme_compat.toml",
    "test/mochitest_media_engine.toml",
    "test/mochitest_media_recorder.toml",
    "test/mochitest_seek.toml",
    "test/mochitest_stream.toml",
    "webrtc/tests/mochitests/identity/mochitest.toml",
]

MOCHITEST_CHROME_MANIFESTS += ["test/chrome/chrome.toml"]

BROWSER_CHROME_MANIFESTS += [
    "mediacontrol/tests/browser/browser.toml",
    "mediasession/test/browser.toml",
    "test/browser/browser.toml",
    "test/browser/wmfme/browser.toml",
]

if CONFIG["MOZ_WEBRTC"]:
    MOCHITEST_MANIFESTS += [
        "webrtc/tests/mochitests/mochitest.toml",
        "webrtc/tests/mochitests/mochitest_datachannel.toml",
        "webrtc/tests/mochitests/mochitest_getusermedia.toml",
        "webrtc/tests/mochitests/mochitest_peerconnection.toml",
    ]

    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",
    "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",
    "EncoderTraits.h",
    "ExternalEngineStateMachine.h",
    "FileBlockCache.h",
    "ForwardedInputTrack.h",
    "FrameStatistics.h",
    "ImageConversion.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",
    "nsIDocumentActivity.h",
    "PrincipalChangeObserver.h",
    "PrincipalHandle.h",
    "QueueObject.h",
    "ReaderProxy.h",
    "SeekJob.h",
    "SeekTarget.h",
    "SelfRef.h",
    "SharedBuffer.h",
    "TimedPacketizer.h",
    "TimeUnits.h",
    "Tracing.h",
    "VideoFrameContainer.h",
    "VideoLimits.h",
    "VideoSegment.h",
    "VideoUtils.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",
    "MPSCQueue.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",
    "ExternalEngineStateMachine.cpp",
    "FileBlockCache.cpp",
    "FileMediaResource.cpp",
    "ForwardedInputTrack.cpp",
    "GetUserMediaRequest.cpp",
    "GraphDriver.cpp",
    "GraphRunner.cpp",
    "ImageConversion.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",
    "MediaResult.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 += [
    "!/media/libsoundtouch/src",
    "/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/abseil-cpp",
        "/third_party/libwebrtc",
    ]

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",
    ]

if CONFIG["MOZ_SYSTEM_AV1"]:
    CXXFLAGS += CONFIG["MOZ_SYSTEM_LIBAOM_CFLAGS"]

include("/ipc/chromium/chromium-config.mozbuild")

LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]

# 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"

SPHINX_TREES["/media"] = "docs"

[ Dauer der Verarbeitung: 0.17 Sekunden  (vorverarbeitet)  ]