# -*- 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/. DIRS += [ 'encoder', 'gmp', 'mediasource', 'ogg', 'systemservices', 'webaudio', 'webvtt' ] TEST_DIRS += ['compiledtest'] if CONFIG['MOZ_RAW']: DIRS += ['raw'] if CONFIG['MOZ_WAVE']: DIRS += ['wave'] if CONFIG['MOZ_WEBM']: DIRS += ['webm'] if CONFIG['MOZ_GSTREAMER']: DIRS += ['gstreamer'] if CONFIG['MOZ_DIRECTSHOW']: DIRS += ['directshow'] if CONFIG['MOZ_ANDROID_OMX']: DIRS += ['android'] if CONFIG['MOZ_WMF']: DIRS += ['wmf'] if CONFIG['MOZ_FMP4']: DIRS += ['fmp4'] if CONFIG['MOZ_APPLEMEDIA']: DIRS += ['apple'] DIRS += ['webrtc'] if CONFIG['MOZ_OMX_DECODER']: DIRS += ['omx'] DIRS += ['omx/mediaresourcemanager'] DIRS += ['webspeech'] if CONFIG['MOZ_EME']: DIRS += ['eme'] TEST_DIRS += [ 'gtest', ] MOCHITEST_MANIFESTS += ['test/mochitest.ini'] MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini'] EXPORTS += [ 'AbstractMediaDecoder.h', 'AudioChannelFormat.h', 'AudioCompactor.h', 'AudioEventTimeline.h', 'AudioMixer.h', 'AudioNodeEngine.h', 'AudioNodeExternalInputStream.h', 'AudioNodeStream.h', 'AudioSampleFormat.h', 'AudioSegment.h', 'AudioStream.h', 'BufferDecoder.h', 'BufferMediaResource.h', 'DecoderTraits.h', 'DOMMediaStream.h', 'EncodedBufferCache.h', 'FileBlockCache.h', 'Latency.h', 'MediaCache.h', 'MediaData.h', 'MediaDataDecodedListener.h', 'MediaDecoder.h', 'MediaDecoderOwner.h', 'MediaDecoderReader.h', 'MediaDecoderStateMachine.h', 'MediaInfo.h', 'MediaMetadataManager.h', 'MediaQueue.h', 'MediaRecorder.h', 'MediaResource.h', 'MediaSegment.h', 'MediaStreamGraph.h', 'MediaTaskQueue.h', 'MediaTrack.h', 'MediaTrackList.h', 'MP3FrameParser.h', 'nsIDocumentActivity.h', 'RtspMediaResource.h', 'SharedBuffer.h', 'SharedThreadPool.h', 'StreamBuffer.h', 'TimeVarying.h', 'TrackUnionStream.h', 'VideoFrameContainer.h', 'VideoSegment.h', 'VideoUtils.h', 'VorbisUtils.h', ] EXPORTS.mozilla.dom += [ 'AudioStreamTrack.h', 'AudioTrack.h', 'AudioTrackList.h', 'MediaStreamTrack.h', 'TextTrack.h', 'TextTrackCue.h', 'TextTrackCueList.h', 'TextTrackList.h', 'TextTrackRegion.h', 'VideoPlaybackQuality.h', 'VideoStreamTrack.h', 'VideoTrack.h', 'VideoTrackList.h', ] UNIFIED_SOURCES += [ 'AudioChannelFormat.cpp', 'AudioCompactor.cpp', 'AudioNodeEngine.cpp', 'AudioNodeExternalInputStream.cpp', 'AudioNodeStream.cpp', 'AudioSegment.cpp', 'AudioSink.cpp', 'AudioStream.cpp', 'AudioStreamTrack.cpp', 'AudioTrack.cpp', 'AudioTrackList.cpp', 'BufferDecoder.cpp', 'DOMMediaStream.cpp', 'EncodedBufferCache.cpp', 'FileBlockCache.cpp', 'MediaCache.cpp', 'MediaData.cpp', 'MediaDecoder.cpp', 'MediaDecoderReader.cpp', 'MediaDecoderStateMachine.cpp', 'MediaDecoderStateMachineScheduler.cpp', 'MediaRecorder.cpp', 'MediaResource.cpp', 'MediaShutdownManager.cpp', 'MediaStreamGraph.cpp', 'MediaStreamTrack.cpp', 'MediaTaskQueue.cpp', 'MediaTrack.cpp', 'MediaTrackList.cpp', 'MP3FrameParser.cpp', 'RtspMediaResource.cpp', 'SharedThreadPool.cpp', 'StreamBuffer.cpp', 'TextTrack.cpp', 'TextTrackCue.cpp', 'TextTrackCueList.cpp', 'TextTrackList.cpp', 'TextTrackRegion.cpp', 'VideoFrameContainer.cpp', 'VideoPlaybackQuality.cpp', 'VideoSegment.cpp', 'VideoStreamTrack.cpp', 'VideoTrack.cpp', 'VideoTrackList.cpp', 'VideoUtils.cpp', 'WebVTTListener.cpp', ] # DecoderTraits.cpp needs to be built separately because of Mac OS X headers. # Latency.cpp needs to be built separately because it forces NSPR logging. SOURCES += [ 'DecoderTraits.cpp', 'Latency.cpp', ] FAIL_ON_WARNINGS = True if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['BUILD_ARM_NEON']: SOURCES += ['AudioNodeEngineNEON.cpp'] SOURCES['AudioNodeEngineNEON.cpp'].flags += ['-mfpu=neon'] MSVC_ENABLE_PGO = True include('/ipc/chromium/chromium-config.mozbuild') FINAL_LIBRARY = 'xul' LOCAL_INCLUDES += [ '/content/base/src', '/layout/generic', '/layout/xul', '/netwerk/base/src', ] if CONFIG['MOZ_DIRECTSHOW']: LOCAL_INCLUDES += [ '/media/webrtc/trunk/webrtc/modules/video_capture/windows', ] DEFINES['MOZILLA_INTERNAL_API'] = True if CONFIG['MOZ_OMX_DECODER']: DEFINES['MOZ_OMX_DECODER'] = True if CONFIG['ANDROID_VERSION'] > '15': DEFINES['MOZ_OMX_WEBM_DECODER'] = True CFLAGS += CONFIG['GSTREAMER_CFLAGS'] CXXFLAGS += CONFIG['GSTREAMER_CFLAGS']