mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 06:11:37 +00:00
328 lines
7.4 KiB
Plaintext
328 lines
7.4 KiB
Plaintext
|
# -*- Mode: python; c-basic-offset: 4; 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/.
|
|||
|
|||
|
with Files('*'):
|
||
BUG_COMPONENT = ('Core', 'Video/Audio')
|
|||
|
|||
|
component_signaling = ('Core', 'WebRTC: Signaling')
|
||
with Files('IdpSandbox.jsm'):
|
|||
BUG_COMPONENT = component_signaling
|
|||
with Files('PeerConnection*'):
|
|||
BUG_COMPONENT = component_signaling
|
|||
with Files('RTC*'):
|
|||
BUG_COMPONENT = component_signaling
|
|||
|
|||
component_av = ('Core', 'WebRTC: Audio/Video')
|
|||
with Files('GetUserMedia*'):
|
|||
BUG_COMPONENT = component_av
|
|||
|
|||
DIRS += [
|
|||
'encoder',
|
|||
'gmp',
|
|||
'gmp-plugin',
|
|||
'gmp-plugin-openh264',
|
|||
'imagecapture',
|
|||
'mediasink',
|
|||
'mediasource',
|
|||
'ogg',
|
|||
'platforms',
|
|||
'systemservices',
|
|||
|
'wave',
|
||
'webaudio',
|
|||
'webm',
|
|||
'webrtc',
|
|||
'webspeech',
|
|||
'webvtt',
|
|||
'standalone',
|
|||
]
|
|||
|
|||
if CONFIG['MOZ_RAW']:
|
|||
DIRS += ['raw']
|
|||
|
|||
if CONFIG['MOZ_DIRECTSHOW']:
|
|||
DIRS += ['directshow']
|
|||
|
|||
if CONFIG['MOZ_ANDROID_OMX']:
|
|||
DIRS += ['android']
|
|||
|
|||
if CONFIG['MOZ_FMP4']:
|
|||
DIRS += ['fmp4']
|
|||
|
|||
|
if CONFIG['MOZ_WEBRTC']:
|
||
|
DIRS += ['bridge']
|
||
|
|
||
if CONFIG['MOZ_OMX_DECODER']:
|
|||
DIRS += ['omx']
|
|||
|
|||
if CONFIG['MOZ_EME']:
|
|||
DIRS += ['eme']
|
|||
|
|||
TEST_DIRS += [
|
|||
'compiledtest',
|
|||
'gtest',
|
|||
]
|
|||
|
|
||
MOCHITEST_MANIFESTS += [
|
|||
'test/mochitest.ini',
|
|||
'tests/mochitest/identity/mochitest.ini',
|
|||
]
|
|||
|
|||
if CONFIG['MOZ_WEBRTC']:
|
|||
MOCHITEST_MANIFESTS += ['tests/mochitest/mochitest.ini']
|
|||
WEBRTC_SIGNALLING_TEST_MANIFESTS += ['tests/mochitest/steeplechase.ini']
|
|||
WEBRTC_SIGNALLING_TEST_MANIFESTS += ['tests/mochitest/steeplechase_long/steeplechase_long.ini']
|
|||
|
|||
XPIDL_SOURCES += [
|
|||
'nsIDOMNavigatorUserMedia.idl',
|
|||
'nsIMediaManager.idl',
|
|||
]
|
|||
|
|||
|
XPIDL_MODULE = 'dom_media'
|
||
|
|||
EXPORTS += [
|
|||
'AbstractMediaDecoder.h',
|
|||
'ADTSDecoder.h',
|
|||
'ADTSDemuxer.h',
|
|||
'AudioBufferUtils.h',
|
|||
'AudioChannelFormat.h',
|
|||
'AudioCompactor.h',
|
|||
'AudioMixer.h',
|
|||
'AudioPacketizer.h',
|
|||
'AudioSampleFormat.h',
|
|||
'AudioSegment.h',
|
|||
'AudioStream.h',
|
|||
'Benchmark.h',
|
|||
'BufferMediaResource.h',
|
|||
'CubebUtils.h',
|
|||
'DecoderTraits.h',
|
|||
'DOMMediaStream.h',
|
|||
'EncodedBufferCache.h',
|
|||
'FileBlockCache.h',
|
|||
'FlushableTaskQueue.h',
|
|||
'FrameStatistics.h',
|
|||
'Intervals.h',
|
|||
'Latency.h',
|
|||
'MediaCache.h',
|
|||
'MediaData.h',
|
|||
|
'MediaDataDemuxer.h',
|
||
'MediaDecoder.h',
|
|||
'MediaDecoderOwner.h',
|
|||
'MediaDecoderReader.h',
|
|||
'MediaDecoderStateMachine.h',
|
|||
|
'MediaEventSource.h',
|
||
'MediaFormatReader.h',
|
|||
'MediaInfo.h',
|
|||
'MediaMetadataManager.h',
|
|||
'MediaQueue.h',
|
|||
'MediaRecorder.h',
|
|||
'MediaResource.h',
|
|||
|
'MediaResourceCallback.h',
|
||
'MediaSegment.h',
|
|||
'MediaStatistics.h',
|
|||
'MediaStreamGraph.h',
|
|||
|
'MediaTimer.h',
|
||
'MediaTrack.h',
|
|||
'MediaTrackList.h',
|
|||
'MP3Decoder.h',
|
|||
'MP3Demuxer.h',
|
|||
'MP3FrameParser.h',
|
|||
'nsIDocumentActivity.h',
|
|||
'QueueObject.h',
|
|||
'RtspMediaResource.h',
|
|||
'SeekTarget.h',
|
|||
'SelfRef.h',
|
|||
'SharedBuffer.h',
|
|||
'StreamBuffer.h',
|
|||
'ThreadPoolCOMListener.h',
|
|||
Bug 1138260 - Add typed Microseconds class and use it for the range removal algorithm. r=jya,kinetik
|
'TimeUnits.h',
|
||
'TrackUnionStream.h',
|
|||
'VideoFrameContainer.h',
|
|||
'VideoSegment.h',
|
|||
'VideoUtils.h',
|
|||
'VorbisUtils.h',
|
|||
|
'XiphExtradata.h',
|
||
|
]
|
||
|
|||
|
EXPORTS.mozilla += [
|
||
'MediaManager.h',
|
|||
]
|
|||
|
|||
EXPORTS.mozilla.media.webrtc += [
|
|||
'webrtc/WebrtcGlobal.h',
|
|||
]
|
|||
|
|||
if not CONFIG['MOZ_WEBRTC']:
|
|||
EXPORTS.mtransport += [
|
|||
'../../media/mtransport/runnable_utils.h',
|
|||
]
|
|||
|
|||
IPDL_SOURCES += [
|
|||
'webrtc/PWebrtcGlobal.ipdl'
|
|||
]
|
|||
|
|||
if CONFIG['MOZ_B2G']:
|
|||
EXPORTS.mozilla += [
|
|||
'MediaPermissionGonk.h',
|
|||
]
|
|||
|
|||
EXPORTS.mozilla.dom += [
|
|||
'AudioStreamTrack.h',
|
|||
'AudioTrack.h',
|
|||
'AudioTrackList.h',
|
|||
'CanvasCaptureMediaStream.h',
|
|||
'GetUserMediaRequest.h',
|
|||
|
'MediaDeviceInfo.h',
|
||
|
'MediaDevices.h',
|
||
|
'MediaStreamError.h',
|
||
'MediaStreamTrack.h',
|
|||
'TextTrack.h',
|
|||
'TextTrackCue.h',
|
|||
'TextTrackCueList.h',
|
|||
'TextTrackList.h',
|
|||
'TextTrackRegion.h',
|
|||
'VideoPlaybackQuality.h',
|
|||
'VideoStreamTrack.h',
|
|||
'VideoTrack.h',
|
|||
'VideoTrackList.h',
|
|||
]
|
|||
|
|||
UNIFIED_SOURCES += [
|
|||
'ADTSDecoder.cpp',
|
|||
'ADTSDemuxer.cpp',
|
|||
'AudioCaptureStream.cpp',
|
|||
'AudioChannelFormat.cpp',
|
|||
'AudioCompactor.cpp',
|
|||
'AudioSegment.cpp',
|
|||
'AudioStream.cpp',
|
|||
'AudioStreamTrack.cpp',
|
|||
'AudioTrack.cpp',
|
|||
'AudioTrackList.cpp',
|
|||
'Benchmark.cpp',
|
|||
'CanvasCaptureMediaStream.cpp',
|
|||
'CubebUtils.cpp',
|
|||
'DOMMediaStream.cpp',
|
|||
'EncodedBufferCache.cpp',
|
|||
'FileBlockCache.cpp',
|
|||
'FlushableTaskQueue.cpp',
|
|||
|
'GetUserMediaRequest.cpp',
|
||
'GraphDriver.cpp',
|
|||
'Latency.cpp',
|
|||
'MediaCache.cpp',
|
|||
'MediaData.cpp',
|
|||
'MediaDecoder.cpp',
|
|||
'MediaDecoderReader.cpp',
|
|||
'MediaDecoderStateMachine.cpp',
|
|||
|
'MediaDeviceInfo.cpp',
|
||
|
'MediaDevices.cpp',
|
||
'MediaFormatReader.cpp',
|
|||
'MediaManager.cpp',
|
|||
'MediaRecorder.cpp',
|
|||
'MediaResource.cpp',
|
|||
'MediaShutdownManager.cpp',
|
|||
|
'MediaStreamError.cpp',
|
||
'MediaStreamGraph.cpp',
|
|||
'MediaStreamTrack.cpp',
|
|||
|
'MediaTimer.cpp',
|
||
'MediaTrack.cpp',
|
|||
'MediaTrackList.cpp',
|
|||
'MP3Decoder.cpp',
|
|||
'MP3Demuxer.cpp',
|
|||
'MP3FrameParser.cpp',
|
|||
'QueueObject.cpp',
|
|||
'RtspMediaResource.cpp',
|
|||
'StreamBuffer.cpp',
|
|||
'TextTrack.cpp',
|
|||
'TextTrackCue.cpp',
|
|||
'TextTrackCueList.cpp',
|
|||
'TextTrackList.cpp',
|
|||
'TextTrackRegion.cpp',
|
|||
'TrackUnionStream.cpp',
|
|||
'VideoFrameContainer.cpp',
|
|||
'VideoPlaybackQuality.cpp',
|
|||
'VideoSegment.cpp',
|
|||
'VideoStreamTrack.cpp',
|
|||
'VideoTrack.cpp',
|
|||
'VideoTrackList.cpp',
|
|||
'VideoUtils.cpp',
|
|||
'WebVTTListener.cpp',
|
|||
|
'XiphExtradata.cpp',
|
||
]
|
|||
|
|||
if CONFIG['OS_TARGET'] == 'WINNT':
|
|||
SOURCES += [ 'ThreadPoolCOMListener.cpp' ]
|
|||
|
|||
if CONFIG['MOZ_B2G']:
|
|||
SOURCES += [
|
|||
'MediaPermissionGonk.cpp',
|
|||
]
|
|||
|
|||
# DecoderTraits.cpp needs to be built separately because of Mac OS X headers.
|
|||
SOURCES += [
|
|||
'DecoderTraits.cpp',
|
|||
]
|
|||
|
|||
# Some codec-related code uses multi-character constants, which GCC and clang
|
|||
# warn about. Suppress turning this warning into an error.
|
|||
if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']:
|
|||
SOURCES['DecoderTraits.cpp'].flags += ['-Wno-error=multichar']
|
|||
|
|||
|
EXTRA_COMPONENTS += [
|
||
'PeerConnection.js',
|
|||
'PeerConnection.manifest',
|
|||
]
|
|||
|
|
||
EXTRA_JS_MODULES.media += [
|
|||
|
'IdpSandbox.jsm',
|
||
|
'PeerConnectionIdp.jsm',
|
||
|
'RTCStatsReport.jsm',
|
||
|
]
|
||
|
|||
LOCAL_INCLUDES += [
|
|||
'/caps',
|
|||
'/dom/base',
|
|||
'/dom/camera',
|
|||
'/layout/generic',
|
|||
'/layout/xul',
|
|||
'/netwerk/base',
|
|||
]
|
|||
|
|
||
if CONFIG['MOZ_DIRECTSHOW']:
|
|||
LOCAL_INCLUDES += [
|
|||
'/media/webrtc/trunk/webrtc/modules/video_capture/windows',
|
|||
]
|
|||
|
|||
if CONFIG['MOZ_WEBRTC']:
|
|||
LOCAL_INCLUDES += [
|
|||
'/media/webrtc/signaling/src/common',
|
|||
'/media/webrtc/trunk',
|
|||
]
|
|||
|
|||
DEFINES['MOZILLA_INTERNAL_API'] = True
|
|||
|
|||
if CONFIG['OS_TARGET'] == 'WINNT':
|
|||
DEFINES['WEBRTC_WIN'] = True
|
|||
else:
|
|||
DEFINES['WEBRTC_POSIX'] = True
|
|||
|
|||
if CONFIG['MOZ_OMX_DECODER']:
|
|||
DEFINES['MOZ_OMX_DECODER'] = True
|
|||
|
|||
if CONFIG['ANDROID_VERSION'] > '15':
|
|||
DEFINES['MOZ_OMX_WEBM_DECODER'] = True
|
|||
|
|||
if CONFIG['MOZ_GONK_MEDIACODEC']:
|
|||
DEFINES['MOZ_GONK_MEDIACODEC'] = True
|
|||
|
|||
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['GNU_CC']:
|
|||
CXXFLAGS += ['-Wno-error=attributes']
|
|||
|
|||
|
FINAL_LIBRARY = 'xul'
|