Bug 1341990 - Part 3: Include ExoPlayer in Firefox for Android builds. r=nalexander

MozReview-Commit-ID: 7fTQO9PD365

--HG--
extra : rebase_source : 395ce4decaadb7f0b27409caa3e017327bcff221
This commit is contained in:
Kilik Kuo 2017-05-19 10:49:44 -07:00
Родитель 207b44930e
Коммит d4ec7b3ded
3 изменённых файлов: 378 добавлений и 0 удалений

Просмотреть файл

@ -145,6 +145,10 @@ GECKOVIEW_JARS = \
sync-thirdparty.jar \
$(NULL)
ifdef MOZ_ANDROID_HLS_SUPPORT
GECKOVIEW_JARS += exoplayer2.jar
endif
ifdef MOZ_INSTALL_TRACKING
GECKOVIEW_JARS += gecko-thirdparty-adjust_sdk.jar
endif

Просмотреть файл

@ -1414,3 +1414,373 @@ gvjar.sources += ['generated/org/mozilla/gecko/' + x for x in [
'process/IChildProcess.java',
'process/IProcessManager.java',
]]
if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
gvjar.extra_jars += [
'exoplayer2.jar',
]
exoplayer2_jar = add_java_jar('exoplayer2')
exoplayer2_jar.javac_flags += [
'-Xlint:all,-serial,-rawtypes,-unchecked,-fallthrough',
]
exoplayer2_jar.extra_jars += [
CONFIG['ANDROID_SUPPORT_ANNOTATIONS_JAR_LIB'],
]
exoplayer2_jar.sources += [geckoview_thirdparty_source_dir + 'java/com/google/android/exoplayer2/' + x for x in [
'audio/Ac3Util.java',
'audio/AudioCapabilities.java',
'audio/AudioCapabilitiesReceiver.java',
'audio/AudioDecoderException.java',
'audio/AudioProcessor.java',
'audio/AudioRendererEventListener.java',
'audio/AudioTrack.java',
'audio/ChannelMappingAudioProcessor.java',
'audio/DtsUtil.java',
'audio/MediaCodecAudioRenderer.java',
'audio/ResamplingAudioProcessor.java',
'audio/SimpleDecoderAudioRenderer.java',
'audio/Sonic.java',
'audio/SonicAudioProcessor.java',
'BaseRenderer.java',
'C.java',
'decoder/Buffer.java',
'decoder/CryptoInfo.java',
'decoder/Decoder.java',
'decoder/DecoderCounters.java',
'decoder/DecoderInputBuffer.java',
'decoder/OutputBuffer.java',
'decoder/SimpleDecoder.java',
'decoder/SimpleOutputBuffer.java',
'DefaultLoadControl.java',
'DefaultRenderersFactory.java',
'drm/DecryptionException.java',
'drm/DefaultDrmSessionManager.java',
'drm/DrmInitData.java',
'drm/DrmSession.java',
'drm/DrmSessionManager.java',
'drm/ExoMediaCrypto.java',
'drm/ExoMediaDrm.java',
'drm/FrameworkMediaCrypto.java',
'drm/FrameworkMediaDrm.java',
'drm/HttpMediaDrmCallback.java',
'drm/KeysExpiredException.java',
'drm/MediaDrmCallback.java',
'drm/OfflineLicenseHelper.java',
'drm/UnsupportedDrmException.java',
'drm/WidevineUtil.java',
'ExoPlaybackException.java',
'ExoPlayer.java',
'ExoPlayerFactory.java',
'ExoPlayerImpl.java',
'ExoPlayerImplInternal.java',
'ExoPlayerLibraryInfo.java',
'extractor/ChunkIndex.java',
'extractor/DefaultExtractorInput.java',
'extractor/DefaultExtractorsFactory.java',
'extractor/DefaultTrackOutput.java',
'extractor/DummyTrackOutput.java',
'extractor/Extractor.java',
'extractor/ExtractorInput.java',
'extractor/ExtractorOutput.java',
'extractor/ExtractorsFactory.java',
'extractor/flv/AudioTagPayloadReader.java',
'extractor/flv/FlvExtractor.java',
'extractor/flv/ScriptTagPayloadReader.java',
'extractor/flv/TagPayloadReader.java',
'extractor/flv/VideoTagPayloadReader.java',
'extractor/GaplessInfoHolder.java',
'extractor/mkv/DefaultEbmlReader.java',
'extractor/mkv/EbmlReader.java',
'extractor/mkv/EbmlReaderOutput.java',
'extractor/mkv/MatroskaExtractor.java',
'extractor/mkv/Sniffer.java',
'extractor/mkv/VarintReader.java',
'extractor/mp3/ConstantBitrateSeeker.java',
'extractor/mp3/Mp3Extractor.java',
'extractor/mp3/VbriSeeker.java',
'extractor/mp3/XingSeeker.java',
'extractor/mp4/Atom.java',
'extractor/mp4/AtomParsers.java',
'extractor/mp4/DefaultSampleValues.java',
'extractor/mp4/FixedSampleSizeRechunker.java',
'extractor/mp4/FragmentedMp4Extractor.java',
'extractor/mp4/MetadataUtil.java',
'extractor/mp4/Mp4Extractor.java',
'extractor/mp4/PsshAtomUtil.java',
'extractor/mp4/Sniffer.java',
'extractor/mp4/Track.java',
'extractor/mp4/TrackEncryptionBox.java',
'extractor/mp4/TrackFragment.java',
'extractor/mp4/TrackSampleTable.java',
'extractor/MpegAudioHeader.java',
'extractor/ogg/DefaultOggSeeker.java',
'extractor/ogg/FlacReader.java',
'extractor/ogg/OggExtractor.java',
'extractor/ogg/OggPacket.java',
'extractor/ogg/OggPageHeader.java',
'extractor/ogg/OggSeeker.java',
'extractor/ogg/OpusReader.java',
'extractor/ogg/StreamReader.java',
'extractor/ogg/VorbisBitArray.java',
'extractor/ogg/VorbisReader.java',
'extractor/ogg/VorbisUtil.java',
'extractor/PositionHolder.java',
'extractor/rawcc/RawCcExtractor.java',
'extractor/SeekMap.java',
'extractor/TrackOutput.java',
'extractor/ts/Ac3Extractor.java',
'extractor/ts/Ac3Reader.java',
'extractor/ts/AdtsExtractor.java',
'extractor/ts/AdtsReader.java',
'extractor/ts/DefaultTsPayloadReaderFactory.java',
'extractor/ts/DtsReader.java',
'extractor/ts/DvbSubtitleReader.java',
'extractor/ts/ElementaryStreamReader.java',
'extractor/ts/H262Reader.java',
'extractor/ts/H264Reader.java',
'extractor/ts/H265Reader.java',
'extractor/ts/Id3Reader.java',
'extractor/ts/MpegAudioReader.java',
'extractor/ts/NalUnitTargetBuffer.java',
'extractor/ts/PesReader.java',
'extractor/ts/PsExtractor.java',
'extractor/ts/SectionPayloadReader.java',
'extractor/ts/SectionReader.java',
'extractor/ts/SeiReader.java',
'extractor/ts/SpliceInfoSectionReader.java',
'extractor/ts/TsExtractor.java',
'extractor/ts/TsPayloadReader.java',
'extractor/wav/WavExtractor.java',
'extractor/wav/WavHeader.java',
'extractor/wav/WavHeaderReader.java',
'Format.java',
'FormatHolder.java',
'IllegalSeekPositionException.java',
'LoadControl.java',
'mediacodec/MediaCodecInfo.java',
'mediacodec/MediaCodecRenderer.java',
'mediacodec/MediaCodecSelector.java',
'mediacodec/MediaCodecUtil.java',
'metadata/emsg/EventMessage.java',
'metadata/emsg/EventMessageDecoder.java',
'metadata/id3/ApicFrame.java',
'metadata/id3/BinaryFrame.java',
'metadata/id3/ChapterFrame.java',
'metadata/id3/ChapterTocFrame.java',
'metadata/id3/CommentFrame.java',
'metadata/id3/GeobFrame.java',
'metadata/id3/Id3Decoder.java',
'metadata/id3/Id3Frame.java',
'metadata/id3/PrivFrame.java',
'metadata/id3/TextInformationFrame.java',
'metadata/id3/UrlLinkFrame.java',
'metadata/Metadata.java',
'metadata/MetadataDecoder.java',
'metadata/MetadataDecoderException.java',
'metadata/MetadataDecoderFactory.java',
'metadata/MetadataInputBuffer.java',
'metadata/MetadataRenderer.java',
'metadata/scte35/PrivateCommand.java',
'metadata/scte35/SpliceCommand.java',
'metadata/scte35/SpliceInfoDecoder.java',
'metadata/scte35/SpliceInsertCommand.java',
'metadata/scte35/SpliceNullCommand.java',
'metadata/scte35/SpliceScheduleCommand.java',
'metadata/scte35/TimeSignalCommand.java',
'ParserException.java',
'PlaybackParameters.java',
'Renderer.java',
'RendererCapabilities.java',
'RendererConfiguration.java',
'RenderersFactory.java',
'SimpleExoPlayer.java',
'source/AdaptiveMediaSourceEventListener.java',
'source/BehindLiveWindowException.java',
'source/chunk/BaseMediaChunk.java',
'source/chunk/BaseMediaChunkOutput.java',
'source/chunk/Chunk.java',
'source/chunk/ChunkedTrackBlacklistUtil.java',
'source/chunk/ChunkExtractorWrapper.java',
'source/chunk/ChunkHolder.java',
'source/chunk/ChunkSampleStream.java',
'source/chunk/ChunkSource.java',
'source/chunk/ContainerMediaChunk.java',
'source/chunk/DataChunk.java',
'source/chunk/InitializationChunk.java',
'source/chunk/MediaChunk.java',
'source/chunk/SingleSampleMediaChunk.java',
'source/ClippingMediaPeriod.java',
'source/ClippingMediaSource.java',
'source/CompositeSequenceableLoader.java',
'source/ConcatenatingMediaSource.java',
'source/EmptySampleStream.java',
'source/ExtractorMediaPeriod.java',
'source/ExtractorMediaSource.java',
'source/hls/Aes128DataSource.java',
'source/hls/DefaultHlsDataSourceFactory.java',
'source/hls/HlsChunkSource.java',
'source/hls/HlsDataSourceFactory.java',
'source/hls/HlsManifest.java',
'source/hls/HlsMediaChunk.java',
'source/hls/HlsMediaPeriod.java',
'source/hls/HlsMediaSource.java',
'source/hls/HlsSampleStream.java',
'source/hls/HlsSampleStreamWrapper.java',
'source/hls/playlist/HlsMasterPlaylist.java',
'source/hls/playlist/HlsMediaPlaylist.java',
'source/hls/playlist/HlsPlaylist.java',
'source/hls/playlist/HlsPlaylistParser.java',
'source/hls/playlist/HlsPlaylistTracker.java',
'source/hls/TimestampAdjusterProvider.java',
'source/hls/WebvttExtractor.java',
'source/LoopingMediaSource.java',
'source/MediaPeriod.java',
'source/MediaSource.java',
'source/MergingMediaPeriod.java',
'source/MergingMediaSource.java',
'source/SampleStream.java',
'source/SequenceableLoader.java',
'source/SinglePeriodTimeline.java',
'source/SingleSampleMediaPeriod.java',
'source/SingleSampleMediaSource.java',
'source/TrackGroup.java',
'source/TrackGroupArray.java',
'source/UnrecognizedInputFormatException.java',
'text/CaptionStyleCompat.java',
'text/cea/Cea608Decoder.java',
'text/cea/Cea708Cue.java',
'text/cea/Cea708Decoder.java',
'text/cea/CeaDecoder.java',
'text/cea/CeaOutputBuffer.java',
'text/cea/CeaSubtitle.java',
'text/cea/CeaUtil.java',
'text/Cue.java',
'text/dvb/DvbDecoder.java',
'text/dvb/DvbParser.java',
'text/dvb/DvbSubtitle.java',
'text/SimpleSubtitleDecoder.java',
'text/SimpleSubtitleOutputBuffer.java',
'text/subrip/SubripDecoder.java',
'text/subrip/SubripSubtitle.java',
'text/Subtitle.java',
'text/SubtitleDecoder.java',
'text/SubtitleDecoderException.java',
'text/SubtitleDecoderFactory.java',
'text/SubtitleInputBuffer.java',
'text/SubtitleOutputBuffer.java',
'text/TextRenderer.java',
'text/ttml/TtmlDecoder.java',
'text/ttml/TtmlNode.java',
'text/ttml/TtmlRegion.java',
'text/ttml/TtmlRenderUtil.java',
'text/ttml/TtmlStyle.java',
'text/ttml/TtmlSubtitle.java',
'text/tx3g/Tx3gDecoder.java',
'text/tx3g/Tx3gSubtitle.java',
'text/webvtt/CssParser.java',
'text/webvtt/Mp4WebvttDecoder.java',
'text/webvtt/Mp4WebvttSubtitle.java',
'text/webvtt/WebvttCssStyle.java',
'text/webvtt/WebvttCue.java',
'text/webvtt/WebvttCueParser.java',
'text/webvtt/WebvttDecoder.java',
'text/webvtt/WebvttParserUtil.java',
'text/webvtt/WebvttSubtitle.java',
'Timeline.java',
'trackselection/AdaptiveTrackSelection.java',
'trackselection/BaseTrackSelection.java',
'trackselection/DefaultTrackSelector.java',
'trackselection/FixedTrackSelection.java',
'trackselection/MappingTrackSelector.java',
'trackselection/RandomTrackSelection.java',
'trackselection/TrackSelection.java',
'trackselection/TrackSelectionArray.java',
'trackselection/TrackSelector.java',
'trackselection/TrackSelectorResult.java',
'upstream/Allocation.java',
'upstream/Allocator.java',
'upstream/AssetDataSource.java',
'upstream/BandwidthMeter.java',
'upstream/ByteArrayDataSink.java',
'upstream/ByteArrayDataSource.java',
'upstream/cache/Cache.java',
'upstream/cache/CacheDataSink.java',
'upstream/cache/CacheDataSinkFactory.java',
'upstream/cache/CacheDataSource.java',
'upstream/cache/CacheDataSourceFactory.java',
'upstream/cache/CachedContent.java',
'upstream/cache/CachedContentIndex.java',
'upstream/cache/CachedRegionTracker.java',
'upstream/cache/CacheEvictor.java',
'upstream/cache/CacheSpan.java',
'upstream/cache/CacheUtil.java',
'upstream/cache/LeastRecentlyUsedCacheEvictor.java',
'upstream/cache/NoOpCacheEvictor.java',
'upstream/cache/SimpleCache.java',
'upstream/cache/SimpleCacheSpan.java',
'upstream/ContentDataSource.java',
'upstream/crypto/AesCipherDataSink.java',
'upstream/crypto/AesCipherDataSource.java',
'upstream/crypto/AesFlushingCipher.java',
'upstream/crypto/CryptoUtil.java',
'upstream/DataSink.java',
'upstream/DataSource.java',
'upstream/DataSourceException.java',
'upstream/DataSourceInputStream.java',
'upstream/DataSpec.java',
'upstream/DefaultAllocator.java',
'upstream/DefaultBandwidthMeter.java',
'upstream/DefaultDataSource.java',
'upstream/DefaultDataSourceFactory.java',
'upstream/DefaultHttpDataSource.java',
'upstream/DefaultHttpDataSourceFactory.java',
'upstream/DummyDataSource.java',
'upstream/FileDataSource.java',
'upstream/FileDataSourceFactory.java',
'upstream/HttpDataSource.java',
'upstream/Loader.java',
'upstream/LoaderErrorThrower.java',
'upstream/ParsingLoadable.java',
'upstream/PriorityDataSource.java',
'upstream/PriorityDataSourceFactory.java',
'upstream/RawResourceDataSource.java',
'upstream/TeeDataSource.java',
'upstream/TransferListener.java',
'upstream/UdpDataSource.java',
'util/Assertions.java',
'util/AtomicFile.java',
'util/Clock.java',
'util/CodecSpecificDataUtil.java',
'util/ColorParser.java',
'util/ConditionVariable.java',
'util/FlacStreamInfo.java',
'util/LibraryLoader.java',
'util/LongArray.java',
'util/MediaClock.java',
'util/MimeTypes.java',
'util/NalUnitUtil.java',
'util/ParsableBitArray.java',
'util/ParsableByteArray.java',
'util/ParsableNalUnitBitArray.java',
'util/Predicate.java',
'util/PriorityTaskManager.java',
'util/ReusableBufferedOutputStream.java',
'util/SlidingPercentile.java',
'util/StandaloneMediaClock.java',
'util/SystemClock.java',
'util/TimestampAdjuster.java',
'util/TraceUtil.java',
'util/UriUtil.java',
'util/Util.java',
'util/XmlPullParserUtil.java',
'video/AvcConfig.java',
'video/ColorInfo.java',
'video/HevcConfig.java',
'video/MediaCodecVideoRenderer.java',
'video/VideoFrameReleaseTimeHelper.java',
'video/VideoRendererEventListener.java',
]]

Просмотреть файл

@ -73,6 +73,10 @@ android {
java {
srcDir "${topsrcdir}/mobile/android/geckoview/src/thirdparty/java"
if (!mozconfig.substs.MOZ_ANDROID_HLS_SUPPORT) {
exclude 'com/google/android/exoplayer2/**'
}
// TODO: support WebRTC.
// if (mozconfig.substs.MOZ_WEBRTC) {
// srcDir "${topsrcdir}/media/webrtc/trunk/webrtc/modules/audio_device/android/java/src"