diff options
Diffstat (limited to 'dom/media/moz.build')
-rw-r--r-- | dom/media/moz.build | 347 |
1 files changed, 347 insertions, 0 deletions
diff --git a/dom/media/moz.build b/dom/media/moz.build new file mode 100644 index 000000000..d1885793b --- /dev/null +++ b/dom/media/moz.build @@ -0,0 +1,347 @@ +# -*- 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/. + +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 += [ + 'eme', + 'encoder', + 'flac', + 'gmp', + 'gmp-plugin', + 'gmp-plugin-openh264', + 'imagecapture', + 'ipc', + 'mediasink', + 'mediasource', + 'ogg', + 'platforms', + 'systemservices', + 'wave', + 'webaudio', + 'webm', + 'webrtc', + 'webspeech', + 'webvtt', + 'standalone', +] + +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'] + +TEST_DIRS += [ + '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', + 'AccurateSeekTask.h', + 'ADTSDecoder.h', + 'ADTSDemuxer.h', + 'AudioBufferUtils.h', + 'AudioChannelFormat.h', + 'AudioCompactor.h', + 'AudioConverter.h', + 'AudioMixer.h', + 'AudioPacketizer.h', + 'AudioSampleFormat.h', + 'AudioSegment.h', + 'AudioStream.h', + 'Benchmark.h', + 'BufferMediaResource.h', + 'CubebUtils.h', + 'DecoderDoctorDiagnostics.h', + 'DecoderTraits.h', + 'DOMMediaStream.h', + 'EncodedBufferCache.h', + 'FileBlockCache.h', + 'FrameStatistics.h', + 'Intervals.h', + 'Latency.h', + 'MediaCache.h', + 'MediaContentType.h', + 'MediaData.h', + 'MediaDataDemuxer.h', + 'MediaDecoder.h', + 'MediaDecoderOwner.h', + 'MediaDecoderReader.h', + 'MediaDecoderReaderWrapper.h', + 'MediaDecoderStateMachine.h', + 'MediaEventSource.h', + 'MediaFormatReader.h', + 'MediaInfo.h', + 'MediaMetadataManager.h', + 'MediaPrefs.h', + 'MediaQueue.h', + 'MediaRecorder.h', + 'MediaResource.h', + 'MediaResourceCallback.h', + 'MediaResult.h', + 'MediaSegment.h', + 'MediaShutdownManager.h', + 'MediaStatistics.h', + 'MediaStreamGraph.h', + 'MediaStreamListener.h', + 'MediaStreamVideoSink.h', + 'MediaTimer.h', + 'MediaTrack.h', + 'MediaTrackList.h', + 'MP3Decoder.h', + 'MP3Demuxer.h', + 'MP3FrameParser.h', + 'NextFrameSeekTask.h', + 'nsIDocumentActivity.h', + 'PrincipalChangeObserver.h', + 'QueueObject.h', + 'SeekJob.h', + 'SeekTarget.h', + 'SeekTask.h', + 'SelfRef.h', + 'SharedBuffer.h', + 'StreamTracks.h', + 'ThreadPoolCOMListener.h', + 'TimeUnits.h', + 'TrackUnionStream.h', + 'VideoFrameContainer.h', + 'VideoLimits.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 += [ + 'AccurateSeekTask.cpp', + 'ADTSDecoder.cpp', + 'ADTSDemuxer.cpp', + 'AudioCaptureStream.cpp', + 'AudioChannelFormat.cpp', + 'AudioCompactor.cpp', + 'AudioConverter.cpp', + 'AudioSegment.cpp', + 'AudioStream.cpp', + 'AudioStreamTrack.cpp', + 'AudioTrack.cpp', + 'AudioTrackList.cpp', + 'Benchmark.cpp', + 'CanvasCaptureMediaStream.cpp', + 'CubebUtils.cpp', + 'DecoderDoctorDiagnostics.cpp', + 'DOMMediaStream.cpp', + 'EncodedBufferCache.cpp', + 'FileBlockCache.cpp', + 'GetUserMediaRequest.cpp', + 'GraphDriver.cpp', + 'Latency.cpp', + 'MediaCache.cpp', + 'MediaContentType.cpp', + 'MediaData.cpp', + 'MediaDecoder.cpp', + 'MediaDecoderReader.cpp', + 'MediaDecoderReaderWrapper.cpp', + 'MediaDecoderStateMachine.cpp', + 'MediaDeviceInfo.cpp', + 'MediaDevices.cpp', + 'MediaFormatReader.cpp', + 'MediaInfo.cpp', + 'MediaManager.cpp', + 'MediaPrefs.cpp', + 'MediaRecorder.cpp', + 'MediaResource.cpp', + 'MediaShutdownManager.cpp', + 'MediaStreamError.cpp', + 'MediaStreamGraph.cpp', + 'MediaStreamListener.cpp', + 'MediaStreamTrack.cpp', + 'MediaStreamVideoSink.cpp', + 'MediaTimer.cpp', + 'MediaTrack.cpp', + 'MediaTrackList.cpp', + 'MP3Decoder.cpp', + 'MP3Demuxer.cpp', + 'MP3FrameParser.cpp', + 'NextFrameSeekTask.cpp', + 'QueueObject.cpp', + 'SeekJob.cpp', + 'SeekTask.cpp', + 'StreamTracks.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', + '/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['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', + '-Wno-error=shadow', + ] + +if CONFIG['_MSC_VER']: + # This is intended as a temporary workaround to unblock compilation + # on VS2015 in warnings as errors mode. + CXXFLAGS += ['-wd4312'] + +FINAL_LIBRARY = 'xul' |