Bug 1163458: Part1. Move PlatformDecoderModule outside fmp4. r=kentukyfriedtakahe
authorJean-Yves Avenard <jyavenard@mozilla.com>
Mon, 18 May 2015 15:42:32 +1000
changeset 275078 0aeb4344fb3776ba3cf09e867dfc8908ef9d3355
parent 275077 7ab507ec07cbc93bff52809d364d0966f0d121fa
child 275079 064d7b227f967588a3cffcbf0c8c625415e47d6d
push idunknown
push userunknown
push dateunknown
reviewerskentukyfriedtakahe
bugs1163458
milestone41.0a1
Bug 1163458: Part1. Move PlatformDecoderModule outside fmp4. r=kentukyfriedtakahe
dom/media/fmp4/BlankDecoderModule.cpp
dom/media/fmp4/MP4Decoder.cpp
dom/media/fmp4/MP4Decoder.h
dom/media/fmp4/PlatformDecoderModule.cpp
dom/media/fmp4/PlatformDecoderModule.h
dom/media/fmp4/SharedDecoderManager.cpp
dom/media/fmp4/SharedDecoderManager.h
dom/media/fmp4/android/AndroidDecoderModule.cpp
dom/media/fmp4/android/AndroidDecoderModule.h
dom/media/fmp4/apple/AppleATDecoder.cpp
dom/media/fmp4/apple/AppleATDecoder.h
dom/media/fmp4/apple/AppleCMFunctions.h
dom/media/fmp4/apple/AppleCMLinker.cpp
dom/media/fmp4/apple/AppleCMLinker.h
dom/media/fmp4/apple/AppleDecoderModule.cpp
dom/media/fmp4/apple/AppleDecoderModule.h
dom/media/fmp4/apple/AppleUtils.h
dom/media/fmp4/apple/AppleVDADecoder.cpp
dom/media/fmp4/apple/AppleVDADecoder.h
dom/media/fmp4/apple/AppleVDAFunctions.h
dom/media/fmp4/apple/AppleVDALinker.cpp
dom/media/fmp4/apple/AppleVDALinker.h
dom/media/fmp4/apple/AppleVTDecoder.cpp
dom/media/fmp4/apple/AppleVTDecoder.h
dom/media/fmp4/apple/AppleVTFunctions.h
dom/media/fmp4/apple/AppleVTLinker.cpp
dom/media/fmp4/apple/AppleVTLinker.h
dom/media/fmp4/apple/ReorderQueue.h
dom/media/fmp4/apple/VideoDecodeAcceleration/VDADecoder.h
dom/media/fmp4/apple/VideoToolbox/VideoToolbox.h
dom/media/fmp4/eme/EMEAudioDecoder.cpp
dom/media/fmp4/eme/EMEAudioDecoder.h
dom/media/fmp4/eme/EMEDecoderModule.cpp
dom/media/fmp4/eme/EMEDecoderModule.h
dom/media/fmp4/eme/EMEVideoDecoder.cpp
dom/media/fmp4/eme/EMEVideoDecoder.h
dom/media/fmp4/eme/SamplesWaitingForKey.cpp
dom/media/fmp4/eme/SamplesWaitingForKey.h
dom/media/fmp4/eme/moz.build
dom/media/fmp4/ffmpeg/FFmpegAudioDecoder.cpp
dom/media/fmp4/ffmpeg/FFmpegAudioDecoder.h
dom/media/fmp4/ffmpeg/FFmpegDataDecoder.cpp
dom/media/fmp4/ffmpeg/FFmpegDataDecoder.h
dom/media/fmp4/ffmpeg/FFmpegDecoderModule.cpp
dom/media/fmp4/ffmpeg/FFmpegDecoderModule.h
dom/media/fmp4/ffmpeg/FFmpegFunctionList.h
dom/media/fmp4/ffmpeg/FFmpegH264Decoder.cpp
dom/media/fmp4/ffmpeg/FFmpegH264Decoder.h
dom/media/fmp4/ffmpeg/FFmpegLibs.h
dom/media/fmp4/ffmpeg/FFmpegLog.cpp
dom/media/fmp4/ffmpeg/FFmpegLog.h
dom/media/fmp4/ffmpeg/FFmpegRuntimeLinker.cpp
dom/media/fmp4/ffmpeg/FFmpegRuntimeLinker.h
dom/media/fmp4/ffmpeg/README_mozilla
dom/media/fmp4/ffmpeg/libav53/include/COPYING.LGPLv2.1
dom/media/fmp4/ffmpeg/libav53/include/libavcodec/avcodec.h
dom/media/fmp4/ffmpeg/libav53/include/libavcodec/avfft.h
dom/media/fmp4/ffmpeg/libav53/include/libavcodec/dxva2.h
dom/media/fmp4/ffmpeg/libav53/include/libavcodec/old_codec_ids.h
dom/media/fmp4/ffmpeg/libav53/include/libavcodec/opt.h
dom/media/fmp4/ffmpeg/libav53/include/libavcodec/vaapi.h
dom/media/fmp4/ffmpeg/libav53/include/libavcodec/vda.h
dom/media/fmp4/ffmpeg/libav53/include/libavcodec/vdpau.h
dom/media/fmp4/ffmpeg/libav53/include/libavcodec/version.h
dom/media/fmp4/ffmpeg/libav53/include/libavcodec/xvmc.h
dom/media/fmp4/ffmpeg/libav53/include/libavformat/avformat.h
dom/media/fmp4/ffmpeg/libav53/include/libavformat/avio.h
dom/media/fmp4/ffmpeg/libav53/include/libavformat/version.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/adler32.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/aes.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/attributes.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/audio_fifo.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/audioconvert.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/avassert.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/avconfig.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/avstring.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/avutil.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/base64.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/blowfish.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/bprint.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/bswap.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/common.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/cpu.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/crc.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/dict.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/error.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/eval.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/fifo.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/file.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/imgutils.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/intfloat.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/intfloat_readwrite.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/intreadwrite.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/lfg.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/log.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/lzo.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/mathematics.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/md5.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/mem.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/old_pix_fmts.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/opt.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/parseutils.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/pixdesc.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/pixfmt.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/random_seed.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/rational.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/samplefmt.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/sha.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/time.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/timecode.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/timestamp.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/version.h
dom/media/fmp4/ffmpeg/libav53/include/libavutil/xtea.h
dom/media/fmp4/ffmpeg/libav53/moz.build
dom/media/fmp4/ffmpeg/libav54/include/COPYING.LGPLv2.1
dom/media/fmp4/ffmpeg/libav54/include/libavcodec/avcodec.h
dom/media/fmp4/ffmpeg/libav54/include/libavcodec/avfft.h
dom/media/fmp4/ffmpeg/libav54/include/libavcodec/dxva2.h
dom/media/fmp4/ffmpeg/libav54/include/libavcodec/old_codec_ids.h
dom/media/fmp4/ffmpeg/libav54/include/libavcodec/vaapi.h
dom/media/fmp4/ffmpeg/libav54/include/libavcodec/vda.h
dom/media/fmp4/ffmpeg/libav54/include/libavcodec/vdpau.h
dom/media/fmp4/ffmpeg/libav54/include/libavcodec/version.h
dom/media/fmp4/ffmpeg/libav54/include/libavcodec/xvmc.h
dom/media/fmp4/ffmpeg/libav54/include/libavformat/avformat.h
dom/media/fmp4/ffmpeg/libav54/include/libavformat/avio.h
dom/media/fmp4/ffmpeg/libav54/include/libavformat/version.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/adler32.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/aes.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/attributes.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/audio_fifo.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/audioconvert.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/avassert.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/avconfig.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/avstring.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/avutil.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/base64.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/blowfish.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/bswap.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/channel_layout.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/common.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/cpu.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/crc.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/dict.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/error.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/eval.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/fifo.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/file.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/imgutils.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/intfloat.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/intfloat_readwrite.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/intreadwrite.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/lfg.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/log.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/lzo.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/mathematics.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/md5.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/mem.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/old_pix_fmts.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/opt.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/parseutils.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/pixdesc.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/pixfmt.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/random_seed.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/rational.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/samplefmt.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/sha.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/time.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/version.h
dom/media/fmp4/ffmpeg/libav54/include/libavutil/xtea.h
dom/media/fmp4/ffmpeg/libav54/moz.build
dom/media/fmp4/ffmpeg/libav55/include/COPYING.LGPLv2.1
dom/media/fmp4/ffmpeg/libav55/include/libavcodec/avcodec.h
dom/media/fmp4/ffmpeg/libav55/include/libavcodec/avfft.h
dom/media/fmp4/ffmpeg/libav55/include/libavcodec/dxva2.h
dom/media/fmp4/ffmpeg/libav55/include/libavcodec/vaapi.h
dom/media/fmp4/ffmpeg/libav55/include/libavcodec/vda.h
dom/media/fmp4/ffmpeg/libav55/include/libavcodec/vdpau.h
dom/media/fmp4/ffmpeg/libav55/include/libavcodec/version.h
dom/media/fmp4/ffmpeg/libav55/include/libavcodec/xvmc.h
dom/media/fmp4/ffmpeg/libav55/include/libavformat/avformat.h
dom/media/fmp4/ffmpeg/libav55/include/libavformat/avio.h
dom/media/fmp4/ffmpeg/libav55/include/libavformat/version.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/adler32.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/aes.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/attributes.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/audio_fifo.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/audioconvert.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/avassert.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/avconfig.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/avstring.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/avutil.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/base64.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/blowfish.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/bswap.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/buffer.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/channel_layout.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/common.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/cpu.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/crc.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/dict.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/downmix_info.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/error.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/eval.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/fifo.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/file.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/frame.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/hmac.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/imgutils.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/intfloat.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/intreadwrite.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/lfg.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/log.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/lzo.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/macros.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/mathematics.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/md5.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/mem.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/old_pix_fmts.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/opt.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/parseutils.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/pixdesc.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/pixfmt.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/random_seed.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/rational.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/samplefmt.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/sha.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/stereo3d.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/time.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/version.h
dom/media/fmp4/ffmpeg/libav55/include/libavutil/xtea.h
dom/media/fmp4/ffmpeg/libav55/moz.build
dom/media/fmp4/gmp/GMPAudioDecoder.cpp
dom/media/fmp4/gmp/GMPAudioDecoder.h
dom/media/fmp4/gmp/GMPDecoderModule.cpp
dom/media/fmp4/gmp/GMPDecoderModule.h
dom/media/fmp4/gmp/GMPVideoDecoder.cpp
dom/media/fmp4/gmp/GMPVideoDecoder.h
dom/media/fmp4/gmp/MediaDataDecoderProxy.cpp
dom/media/fmp4/gmp/MediaDataDecoderProxy.h
dom/media/fmp4/gmp/moz.build
dom/media/fmp4/gonk/GonkAudioDecoderManager.cpp
dom/media/fmp4/gonk/GonkAudioDecoderManager.h
dom/media/fmp4/gonk/GonkDecoderModule.cpp
dom/media/fmp4/gonk/GonkDecoderModule.h
dom/media/fmp4/gonk/GonkMediaDataDecoder.cpp
dom/media/fmp4/gonk/GonkMediaDataDecoder.h
dom/media/fmp4/gonk/GonkVideoDecoderManager.cpp
dom/media/fmp4/gonk/GonkVideoDecoderManager.h
dom/media/fmp4/gonk/moz.build
dom/media/fmp4/moz.build
dom/media/fmp4/wmf/MFTDecoder.cpp
dom/media/fmp4/wmf/MFTDecoder.h
dom/media/fmp4/wmf/WMFAudioMFTManager.cpp
dom/media/fmp4/wmf/WMFAudioMFTManager.h
dom/media/fmp4/wmf/WMFDecoderModule.cpp
dom/media/fmp4/wmf/WMFDecoderModule.h
dom/media/fmp4/wmf/WMFMediaDataDecoder.cpp
dom/media/fmp4/wmf/WMFMediaDataDecoder.h
dom/media/fmp4/wmf/WMFVideoMFTManager.cpp
dom/media/fmp4/wmf/WMFVideoMFTManager.h
dom/media/fmp4/wmf/moz.build
dom/media/fmp4/wrappers/H264Converter.cpp
dom/media/fmp4/wrappers/H264Converter.h
dom/media/moz.build
dom/media/platforms/PlatformDecoderModule.cpp
dom/media/platforms/PlatformDecoderModule.h
dom/media/platforms/SharedDecoderManager.cpp
dom/media/platforms/SharedDecoderManager.h
dom/media/platforms/agnostic/BlankDecoderModule.cpp
dom/media/platforms/agnostic/eme/EMEAudioDecoder.cpp
dom/media/platforms/agnostic/eme/EMEAudioDecoder.h
dom/media/platforms/agnostic/eme/EMEDecoderModule.cpp
dom/media/platforms/agnostic/eme/EMEDecoderModule.h
dom/media/platforms/agnostic/eme/EMEVideoDecoder.cpp
dom/media/platforms/agnostic/eme/EMEVideoDecoder.h
dom/media/platforms/agnostic/eme/SamplesWaitingForKey.cpp
dom/media/platforms/agnostic/eme/SamplesWaitingForKey.h
dom/media/platforms/agnostic/eme/moz.build
dom/media/platforms/agnostic/gmp/GMPAudioDecoder.cpp
dom/media/platforms/agnostic/gmp/GMPAudioDecoder.h
dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
dom/media/platforms/agnostic/gmp/GMPDecoderModule.h
dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp
dom/media/platforms/agnostic/gmp/GMPVideoDecoder.h
dom/media/platforms/agnostic/gmp/MediaDataDecoderProxy.cpp
dom/media/platforms/agnostic/gmp/MediaDataDecoderProxy.h
dom/media/platforms/agnostic/gmp/moz.build
dom/media/platforms/android/AndroidDecoderModule.cpp
dom/media/platforms/android/AndroidDecoderModule.h
dom/media/platforms/apple/AppleATDecoder.cpp
dom/media/platforms/apple/AppleATDecoder.h
dom/media/platforms/apple/AppleCMFunctions.h
dom/media/platforms/apple/AppleCMLinker.cpp
dom/media/platforms/apple/AppleCMLinker.h
dom/media/platforms/apple/AppleDecoderModule.cpp
dom/media/platforms/apple/AppleDecoderModule.h
dom/media/platforms/apple/AppleUtils.h
dom/media/platforms/apple/AppleVDADecoder.cpp
dom/media/platforms/apple/AppleVDADecoder.h
dom/media/platforms/apple/AppleVDAFunctions.h
dom/media/platforms/apple/AppleVDALinker.cpp
dom/media/platforms/apple/AppleVDALinker.h
dom/media/platforms/apple/AppleVTDecoder.cpp
dom/media/platforms/apple/AppleVTDecoder.h
dom/media/platforms/apple/AppleVTFunctions.h
dom/media/platforms/apple/AppleVTLinker.cpp
dom/media/platforms/apple/AppleVTLinker.h
dom/media/platforms/apple/ReorderQueue.h
dom/media/platforms/apple/VideoDecodeAcceleration/VDADecoder.h
dom/media/platforms/apple/VideoToolbox/VideoToolbox.h
dom/media/platforms/ffmpeg/FFmpegAudioDecoder.cpp
dom/media/platforms/ffmpeg/FFmpegAudioDecoder.h
dom/media/platforms/ffmpeg/FFmpegDataDecoder.cpp
dom/media/platforms/ffmpeg/FFmpegDataDecoder.h
dom/media/platforms/ffmpeg/FFmpegDecoderModule.cpp
dom/media/platforms/ffmpeg/FFmpegDecoderModule.h
dom/media/platforms/ffmpeg/FFmpegFunctionList.h
dom/media/platforms/ffmpeg/FFmpegH264Decoder.cpp
dom/media/platforms/ffmpeg/FFmpegH264Decoder.h
dom/media/platforms/ffmpeg/FFmpegLibs.h
dom/media/platforms/ffmpeg/FFmpegLog.cpp
dom/media/platforms/ffmpeg/FFmpegLog.h
dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.h
dom/media/platforms/ffmpeg/README_mozilla
dom/media/platforms/ffmpeg/libav53/include/COPYING.LGPLv2.1
dom/media/platforms/ffmpeg/libav53/include/libavcodec/avcodec.h
dom/media/platforms/ffmpeg/libav53/include/libavcodec/avfft.h
dom/media/platforms/ffmpeg/libav53/include/libavcodec/dxva2.h
dom/media/platforms/ffmpeg/libav53/include/libavcodec/old_codec_ids.h
dom/media/platforms/ffmpeg/libav53/include/libavcodec/opt.h
dom/media/platforms/ffmpeg/libav53/include/libavcodec/vaapi.h
dom/media/platforms/ffmpeg/libav53/include/libavcodec/vda.h
dom/media/platforms/ffmpeg/libav53/include/libavcodec/vdpau.h
dom/media/platforms/ffmpeg/libav53/include/libavcodec/version.h
dom/media/platforms/ffmpeg/libav53/include/libavcodec/xvmc.h
dom/media/platforms/ffmpeg/libav53/include/libavformat/avformat.h
dom/media/platforms/ffmpeg/libav53/include/libavformat/avio.h
dom/media/platforms/ffmpeg/libav53/include/libavformat/version.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/adler32.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/aes.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/attributes.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/audio_fifo.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/audioconvert.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/avassert.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/avconfig.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/avstring.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/avutil.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/base64.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/blowfish.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/bprint.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/bswap.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/common.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/cpu.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/crc.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/dict.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/error.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/eval.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/fifo.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/file.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/imgutils.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/intfloat.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/intfloat_readwrite.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/intreadwrite.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/lfg.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/log.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/lzo.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/mathematics.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/md5.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/mem.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/old_pix_fmts.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/opt.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/parseutils.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/pixdesc.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/pixfmt.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/random_seed.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/rational.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/samplefmt.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/sha.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/time.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/timecode.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/timestamp.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/version.h
dom/media/platforms/ffmpeg/libav53/include/libavutil/xtea.h
dom/media/platforms/ffmpeg/libav53/moz.build
dom/media/platforms/ffmpeg/libav54/include/COPYING.LGPLv2.1
dom/media/platforms/ffmpeg/libav54/include/libavcodec/avcodec.h
dom/media/platforms/ffmpeg/libav54/include/libavcodec/avfft.h
dom/media/platforms/ffmpeg/libav54/include/libavcodec/dxva2.h
dom/media/platforms/ffmpeg/libav54/include/libavcodec/old_codec_ids.h
dom/media/platforms/ffmpeg/libav54/include/libavcodec/vaapi.h
dom/media/platforms/ffmpeg/libav54/include/libavcodec/vda.h
dom/media/platforms/ffmpeg/libav54/include/libavcodec/vdpau.h
dom/media/platforms/ffmpeg/libav54/include/libavcodec/version.h
dom/media/platforms/ffmpeg/libav54/include/libavcodec/xvmc.h
dom/media/platforms/ffmpeg/libav54/include/libavformat/avformat.h
dom/media/platforms/ffmpeg/libav54/include/libavformat/avio.h
dom/media/platforms/ffmpeg/libav54/include/libavformat/version.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/adler32.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/aes.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/attributes.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/audio_fifo.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/audioconvert.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/avassert.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/avconfig.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/avstring.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/avutil.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/base64.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/blowfish.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/bswap.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/channel_layout.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/common.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/cpu.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/crc.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/dict.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/error.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/eval.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/fifo.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/file.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/imgutils.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/intfloat.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/intfloat_readwrite.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/intreadwrite.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/lfg.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/log.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/lzo.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/mathematics.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/md5.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/mem.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/old_pix_fmts.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/opt.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/parseutils.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/pixdesc.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/pixfmt.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/random_seed.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/rational.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/samplefmt.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/sha.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/time.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/version.h
dom/media/platforms/ffmpeg/libav54/include/libavutil/xtea.h
dom/media/platforms/ffmpeg/libav54/moz.build
dom/media/platforms/ffmpeg/libav55/include/COPYING.LGPLv2.1
dom/media/platforms/ffmpeg/libav55/include/libavcodec/avcodec.h
dom/media/platforms/ffmpeg/libav55/include/libavcodec/avfft.h
dom/media/platforms/ffmpeg/libav55/include/libavcodec/dxva2.h
dom/media/platforms/ffmpeg/libav55/include/libavcodec/vaapi.h
dom/media/platforms/ffmpeg/libav55/include/libavcodec/vda.h
dom/media/platforms/ffmpeg/libav55/include/libavcodec/vdpau.h
dom/media/platforms/ffmpeg/libav55/include/libavcodec/version.h
dom/media/platforms/ffmpeg/libav55/include/libavcodec/xvmc.h
dom/media/platforms/ffmpeg/libav55/include/libavformat/avformat.h
dom/media/platforms/ffmpeg/libav55/include/libavformat/avio.h
dom/media/platforms/ffmpeg/libav55/include/libavformat/version.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/adler32.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/aes.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/attributes.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/audio_fifo.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/audioconvert.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/avassert.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/avconfig.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/avstring.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/avutil.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/base64.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/blowfish.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/bswap.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/buffer.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/channel_layout.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/common.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/cpu.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/crc.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/dict.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/downmix_info.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/error.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/eval.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/fifo.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/file.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/frame.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/hmac.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/imgutils.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/intfloat.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/intreadwrite.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/lfg.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/log.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/lzo.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/macros.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/mathematics.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/md5.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/mem.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/old_pix_fmts.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/opt.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/parseutils.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/pixdesc.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/pixfmt.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/random_seed.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/rational.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/samplefmt.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/sha.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/stereo3d.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/time.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/version.h
dom/media/platforms/ffmpeg/libav55/include/libavutil/xtea.h
dom/media/platforms/ffmpeg/libav55/moz.build
dom/media/platforms/gonk/GonkAudioDecoderManager.cpp
dom/media/platforms/gonk/GonkAudioDecoderManager.h
dom/media/platforms/gonk/GonkDecoderModule.cpp
dom/media/platforms/gonk/GonkDecoderModule.h
dom/media/platforms/gonk/GonkMediaDataDecoder.cpp
dom/media/platforms/gonk/GonkMediaDataDecoder.h
dom/media/platforms/gonk/GonkVideoDecoderManager.cpp
dom/media/platforms/gonk/GonkVideoDecoderManager.h
dom/media/platforms/gonk/moz.build
dom/media/platforms/moz.build
dom/media/platforms/wmf/MFTDecoder.cpp
dom/media/platforms/wmf/MFTDecoder.h
dom/media/platforms/wmf/WMFAudioMFTManager.cpp
dom/media/platforms/wmf/WMFAudioMFTManager.h
dom/media/platforms/wmf/WMFDecoderModule.cpp
dom/media/platforms/wmf/WMFDecoderModule.h
dom/media/platforms/wmf/WMFMediaDataDecoder.cpp
dom/media/platforms/wmf/WMFMediaDataDecoder.h
dom/media/platforms/wmf/WMFVideoMFTManager.cpp
dom/media/platforms/wmf/WMFVideoMFTManager.h
dom/media/platforms/wmf/moz.build
dom/media/platforms/wrappers/H264Converter.cpp
dom/media/platforms/wrappers/H264Converter.h
--- a/dom/media/fmp4/MP4Decoder.cpp
+++ b/dom/media/fmp4/MP4Decoder.cpp
@@ -13,23 +13,16 @@
 #include "nsCharSeparatedTokenizer.h"
 #ifdef MOZ_EME
 #include "mozilla/CDMProxy.h"
 #endif
 #include "prlog.h"
 
 #ifdef XP_WIN
 #include "mozilla/WindowsVersion.h"
-#include "WMFDecoderModule.h"
-#endif
-#ifdef MOZ_FFMPEG
-#include "FFmpegRuntimeLinker.h"
-#endif
-#ifdef MOZ_APPLEMEDIA
-#include "apple/AppleDecoderModule.h"
 #endif
 #ifdef MOZ_WIDGET_ANDROID
 #include "nsIGfxInfo.h"
 #include "AndroidBridge.h"
 #endif
 #include "mozilla/layers/LayersTypes.h"
 
 namespace mozilla {
@@ -171,38 +164,28 @@ MP4Decoder::CanHandleMediaType(const nsA
 }
 
 static bool
 IsFFmpegAvailable()
 {
 #ifndef MOZ_FFMPEG
   return false;
 #else
-  if (!Preferences::GetBool("media.fragmented-mp4.ffmpeg.enabled", false)) {
-    return false;
-  }
-
-  // If we can link to FFmpeg, then we can almost certainly play H264 and AAC
-  // with it.
-  return FFmpegRuntimeLinker::Link();
+  return Preferences::GetBool("media.fragmented-mp4.ffmpeg.enabled", false);
 #endif
 }
 
 static bool
 IsAppleAvailable()
 {
 #ifndef MOZ_APPLEMEDIA
   // Not the right platform.
   return false;
 #else
-  if (!Preferences::GetBool("media.apple.mp4.enabled", false)) {
-    // Disabled by preference.
-    return false;
-  }
-  return NS_SUCCEEDED(AppleDecoderModule::CanDecode());
+  return Preferences::GetBool("media.apple.mp4.enabled", false);
 #endif
 }
 
 static bool
 IsAndroidAvailable()
 {
 #ifndef MOZ_WIDGET_ANDROID
   return false;
--- a/dom/media/fmp4/MP4Decoder.h
+++ b/dom/media/fmp4/MP4Decoder.h
@@ -33,18 +33,17 @@ public:
   // with a comma-delimited list of codecs to check support for. Notes in
   // out params wether the codecs string contains AAC or H.264.
   static bool CanHandleMediaType(const nsACString& aMIMEType,
                                  const nsAString& aCodecs,
                                  bool& aOutContainsAAC,
                                  bool& aOutContainsH264,
                                  bool& aOutContainsMP3);
 
-  // Returns true if the MP4 backend is preffed on, and we're running on a
-  // platform that is likely to have decoders for the contained formats.
+  // Returns true if the MP4 backend is preffed on.
   static bool IsEnabled();
 
   static bool IsVideoAccelerated(layers::LayersBackend aBackend);
   static bool CanCreateAACDecoder();
   static bool CanCreateH264Decoder();
 };
 
 } // namespace mozilla
--- a/dom/media/fmp4/moz.build
+++ b/dom/media/fmp4/moz.build
@@ -4,89 +4,26 @@
 # 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/.
 
 EXPORTS += [
     'MP4Decoder.h',
     'MP4Demuxer.h',
     'MP4Reader.h',
     'MP4Stream.h',
-    'PlatformDecoderModule.h',
-    'SharedDecoderManager.h',
-    'wrappers/H264Converter.h'
 ]
 
 UNIFIED_SOURCES += [
-    'BlankDecoderModule.cpp',
     'MP4Decoder.cpp',
     'MP4Stream.cpp',
-    'PlatformDecoderModule.cpp',
-    'SharedDecoderManager.cpp',
-    'wrappers/H264Converter.cpp'
 ]
 
 SOURCES += [
     'MP4Demuxer.cpp',
     'MP4Reader.cpp',
 ]
 
-DIRS += ['gmp']
-
-if CONFIG['MOZ_WMF']:
-    DIRS += [ 'wmf' ];
-
-if CONFIG['MOZ_EME']:
-    DIRS += ['eme']
-
-if CONFIG['MOZ_FFMPEG']:
-    EXPORTS += [
-        'ffmpeg/FFmpegRuntimeLinker.h',
-    ]
-    UNIFIED_SOURCES += [
-        'ffmpeg/FFmpegLog.cpp',
-        'ffmpeg/FFmpegRuntimeLinker.cpp',
-    ]
-    DIRS += [
-        'ffmpeg/libav53',
-        'ffmpeg/libav54',
-        'ffmpeg/libav55',
-    ]
-    LOCAL_INCLUDES += [
-        'ffmpeg',
-    ]
-
-if CONFIG['MOZ_APPLEMEDIA']:
-  EXPORTS += [
-      'apple/AppleDecoderModule.h',
-  ]
-  UNIFIED_SOURCES += [
-      'apple/AppleATDecoder.cpp',
-      'apple/AppleCMLinker.cpp',
-      'apple/AppleDecoderModule.cpp',
-      'apple/AppleVDADecoder.cpp',
-      'apple/AppleVDALinker.cpp',
-      'apple/AppleVTDecoder.cpp',
-      'apple/AppleVTLinker.cpp',
-  ]
-  OS_LIBS += [
-      '-framework AudioToolbox',
-  ]
-
-if CONFIG['ANDROID_VERSION'] >= '18'and CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
-    DEFINES['MOZ_GONK_MEDIACODEC'] = True
-    DIRS += ['gonk']
-
-include('/ipc/chromium/chromium-config.mozbuild')
-
-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
-    EXPORTS += [
-        'android/AndroidDecoderModule.h',
-    ]
-    UNIFIED_SOURCES += [
-        'android/AndroidDecoderModule.cpp',
-    ]
-
 FINAL_LIBRARY = 'xul'
 
 FAIL_ON_WARNINGS = True
 
 if CONFIG['OS_ARCH'] == 'WINNT':
     DEFINES['NOMINMAX'] = True
--- a/dom/media/moz.build
+++ b/dom/media/moz.build
@@ -22,16 +22,17 @@ with Files('GetUserMedia*'):
 DIRS += [
     'encoder',
     'gmp',
     'gmp-plugin',
     'gmp-plugin-openh264',
     'imagecapture',
     'mediasource',
     'ogg',
+    'platforms',
     'systemservices',
     'webaudio',
     'webrtc',
     'webspeech',
     'webvtt',
     'standalone',
 ]
 
rename from dom/media/fmp4/PlatformDecoderModule.cpp
rename to dom/media/platforms/PlatformDecoderModule.cpp
--- a/dom/media/fmp4/PlatformDecoderModule.cpp
+++ b/dom/media/platforms/PlatformDecoderModule.cpp
@@ -76,16 +76,19 @@ PlatformDecoderModule::Init()
                                "media.fragmented-mp4.gmp.enabled", false);
 
 #ifdef XP_WIN
   WMFDecoderModule::Init();
 #endif
 #ifdef MOZ_APPLEMEDIA
   AppleDecoderModule::Init();
 #endif
+#ifdef MOZ_FFMPEG
+  FFmpegRuntimeLinker::Link();
+#endif
 }
 
 #ifdef MOZ_EME
 /* static */
 already_AddRefed<PlatformDecoderModule>
 PlatformDecoderModule::CreateCDMWrapper(CDMProxy* aProxy,
                                         bool aHasAudio,
                                         bool aHasVideo)
rename from dom/media/fmp4/PlatformDecoderModule.h
rename to dom/media/platforms/PlatformDecoderModule.h
rename from dom/media/fmp4/SharedDecoderManager.cpp
rename to dom/media/platforms/SharedDecoderManager.cpp
rename from dom/media/fmp4/SharedDecoderManager.h
rename to dom/media/platforms/SharedDecoderManager.h
rename from dom/media/fmp4/BlankDecoderModule.cpp
rename to dom/media/platforms/agnostic/BlankDecoderModule.cpp
rename from dom/media/fmp4/eme/EMEAudioDecoder.cpp
rename to dom/media/platforms/agnostic/eme/EMEAudioDecoder.cpp
rename from dom/media/fmp4/eme/EMEAudioDecoder.h
rename to dom/media/platforms/agnostic/eme/EMEAudioDecoder.h
rename from dom/media/fmp4/eme/EMEDecoderModule.cpp
rename to dom/media/platforms/agnostic/eme/EMEDecoderModule.cpp
rename from dom/media/fmp4/eme/EMEDecoderModule.h
rename to dom/media/platforms/agnostic/eme/EMEDecoderModule.h
rename from dom/media/fmp4/eme/EMEVideoDecoder.cpp
rename to dom/media/platforms/agnostic/eme/EMEVideoDecoder.cpp
rename from dom/media/fmp4/eme/EMEVideoDecoder.h
rename to dom/media/platforms/agnostic/eme/EMEVideoDecoder.h
rename from dom/media/fmp4/eme/SamplesWaitingForKey.cpp
rename to dom/media/platforms/agnostic/eme/SamplesWaitingForKey.cpp
rename from dom/media/fmp4/eme/SamplesWaitingForKey.h
rename to dom/media/platforms/agnostic/eme/SamplesWaitingForKey.h
rename from dom/media/fmp4/eme/moz.build
rename to dom/media/platforms/agnostic/eme/moz.build
rename from dom/media/fmp4/gmp/GMPAudioDecoder.cpp
rename to dom/media/platforms/agnostic/gmp/GMPAudioDecoder.cpp
rename from dom/media/fmp4/gmp/GMPAudioDecoder.h
rename to dom/media/platforms/agnostic/gmp/GMPAudioDecoder.h
rename from dom/media/fmp4/gmp/GMPDecoderModule.cpp
rename to dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
rename from dom/media/fmp4/gmp/GMPDecoderModule.h
rename to dom/media/platforms/agnostic/gmp/GMPDecoderModule.h
rename from dom/media/fmp4/gmp/GMPVideoDecoder.cpp
rename to dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp
rename from dom/media/fmp4/gmp/GMPVideoDecoder.h
rename to dom/media/platforms/agnostic/gmp/GMPVideoDecoder.h
rename from dom/media/fmp4/gmp/MediaDataDecoderProxy.cpp
rename to dom/media/platforms/agnostic/gmp/MediaDataDecoderProxy.cpp
rename from dom/media/fmp4/gmp/MediaDataDecoderProxy.h
rename to dom/media/platforms/agnostic/gmp/MediaDataDecoderProxy.h
rename from dom/media/fmp4/gmp/moz.build
rename to dom/media/platforms/agnostic/gmp/moz.build
rename from dom/media/fmp4/android/AndroidDecoderModule.cpp
rename to dom/media/platforms/android/AndroidDecoderModule.cpp
rename from dom/media/fmp4/android/AndroidDecoderModule.h
rename to dom/media/platforms/android/AndroidDecoderModule.h
rename from dom/media/fmp4/apple/AppleATDecoder.cpp
rename to dom/media/platforms/apple/AppleATDecoder.cpp
rename from dom/media/fmp4/apple/AppleATDecoder.h
rename to dom/media/platforms/apple/AppleATDecoder.h
rename from dom/media/fmp4/apple/AppleCMFunctions.h
rename to dom/media/platforms/apple/AppleCMFunctions.h
rename from dom/media/fmp4/apple/AppleCMLinker.cpp
rename to dom/media/platforms/apple/AppleCMLinker.cpp
rename from dom/media/fmp4/apple/AppleCMLinker.h
rename to dom/media/platforms/apple/AppleCMLinker.h
rename from dom/media/fmp4/apple/AppleDecoderModule.cpp
rename to dom/media/platforms/apple/AppleDecoderModule.cpp
--- a/dom/media/fmp4/apple/AppleDecoderModule.cpp
+++ b/dom/media/platforms/apple/AppleDecoderModule.cpp
@@ -116,33 +116,16 @@ class InitTask : public nsRunnable {
 public:
   NS_IMETHOD Run() override {
     MOZ_ASSERT(NS_IsMainThread(), "Must be on main thread.");
     AppleDecoderModule::Init();
     return NS_OK;
   }
 };
 
-/* static */
-nsresult
-AppleDecoderModule::CanDecode()
-{
-  if (!sInitialized) {
-    // Note: We can be called on the main thread from MP4Decoder::CanHandleMediaType().
-    if (NS_IsMainThread()) {
-      Init();
-    } else {
-      nsCOMPtr<nsIRunnable> task(new InitTask());
-      NS_DispatchToMainThread(task, NS_DISPATCH_SYNC);
-    }
-  }
-
-  return (sIsVDAAvailable || sIsVTAvailable) ? NS_OK : NS_ERROR_NO_INTERFACE;
-}
-
 nsresult
 AppleDecoderModule::Startup()
 {
   if (!sIsVDAAvailable && !sIsVTAvailable) {
     return NS_ERROR_FAILURE;
   }
 
   // Note: We can be called on the main thread from MP4Decoder::CanHandleMediaType().
rename from dom/media/fmp4/apple/AppleDecoderModule.h
rename to dom/media/platforms/apple/AppleDecoderModule.h
--- a/dom/media/fmp4/apple/AppleDecoderModule.h
+++ b/dom/media/platforms/apple/AppleDecoderModule.h
@@ -33,17 +33,16 @@ public:
                      MediaDataDecoderCallback* aCallback) override;
 
   virtual bool SupportsMimeType(const nsACString& aMimeType) override;
 
   virtual ConversionRequired
   DecoderNeedsConversion(const TrackInfo& aConfig) const override;
 
   static void Init();
-  static nsresult CanDecode();
 
 private:
   friend class InitTask;
   friend class LinkTask;
   friend class UnlinkTask;
 
   static bool sInitialized;
   static bool sIsVTAvailable;
rename from dom/media/fmp4/apple/AppleUtils.h
rename to dom/media/platforms/apple/AppleUtils.h
rename from dom/media/fmp4/apple/AppleVDADecoder.cpp
rename to dom/media/platforms/apple/AppleVDADecoder.cpp
rename from dom/media/fmp4/apple/AppleVDADecoder.h
rename to dom/media/platforms/apple/AppleVDADecoder.h
rename from dom/media/fmp4/apple/AppleVDAFunctions.h
rename to dom/media/platforms/apple/AppleVDAFunctions.h
rename from dom/media/fmp4/apple/AppleVDALinker.cpp
rename to dom/media/platforms/apple/AppleVDALinker.cpp
rename from dom/media/fmp4/apple/AppleVDALinker.h
rename to dom/media/platforms/apple/AppleVDALinker.h
rename from dom/media/fmp4/apple/AppleVTDecoder.cpp
rename to dom/media/platforms/apple/AppleVTDecoder.cpp
rename from dom/media/fmp4/apple/AppleVTDecoder.h
rename to dom/media/platforms/apple/AppleVTDecoder.h
rename from dom/media/fmp4/apple/AppleVTFunctions.h
rename to dom/media/platforms/apple/AppleVTFunctions.h
rename from dom/media/fmp4/apple/AppleVTLinker.cpp
rename to dom/media/platforms/apple/AppleVTLinker.cpp
rename from dom/media/fmp4/apple/AppleVTLinker.h
rename to dom/media/platforms/apple/AppleVTLinker.h
rename from dom/media/fmp4/apple/ReorderQueue.h
rename to dom/media/platforms/apple/ReorderQueue.h
rename from dom/media/fmp4/apple/VideoDecodeAcceleration/VDADecoder.h
rename to dom/media/platforms/apple/VideoDecodeAcceleration/VDADecoder.h
rename from dom/media/fmp4/apple/VideoToolbox/VideoToolbox.h
rename to dom/media/platforms/apple/VideoToolbox/VideoToolbox.h
rename from dom/media/fmp4/ffmpeg/FFmpegAudioDecoder.cpp
rename to dom/media/platforms/ffmpeg/FFmpegAudioDecoder.cpp
rename from dom/media/fmp4/ffmpeg/FFmpegAudioDecoder.h
rename to dom/media/platforms/ffmpeg/FFmpegAudioDecoder.h
rename from dom/media/fmp4/ffmpeg/FFmpegDataDecoder.cpp
rename to dom/media/platforms/ffmpeg/FFmpegDataDecoder.cpp
rename from dom/media/fmp4/ffmpeg/FFmpegDataDecoder.h
rename to dom/media/platforms/ffmpeg/FFmpegDataDecoder.h
rename from dom/media/fmp4/ffmpeg/FFmpegDecoderModule.cpp
rename to dom/media/platforms/ffmpeg/FFmpegDecoderModule.cpp
rename from dom/media/fmp4/ffmpeg/FFmpegDecoderModule.h
rename to dom/media/platforms/ffmpeg/FFmpegDecoderModule.h
rename from dom/media/fmp4/ffmpeg/FFmpegFunctionList.h
rename to dom/media/platforms/ffmpeg/FFmpegFunctionList.h
rename from dom/media/fmp4/ffmpeg/FFmpegH264Decoder.cpp
rename to dom/media/platforms/ffmpeg/FFmpegH264Decoder.cpp
rename from dom/media/fmp4/ffmpeg/FFmpegH264Decoder.h
rename to dom/media/platforms/ffmpeg/FFmpegH264Decoder.h
rename from dom/media/fmp4/ffmpeg/FFmpegLibs.h
rename to dom/media/platforms/ffmpeg/FFmpegLibs.h
rename from dom/media/fmp4/ffmpeg/FFmpegLog.cpp
rename to dom/media/platforms/ffmpeg/FFmpegLog.cpp
rename from dom/media/fmp4/ffmpeg/FFmpegLog.h
rename to dom/media/platforms/ffmpeg/FFmpegLog.h
rename from dom/media/fmp4/ffmpeg/FFmpegRuntimeLinker.cpp
rename to dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
--- a/dom/media/fmp4/ffmpeg/FFmpegRuntimeLinker.cpp
+++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
@@ -53,16 +53,18 @@ const AvFormatLib* FFmpegRuntimeLinker::
 
 /* static */ bool
 FFmpegRuntimeLinker::Link()
 {
   if (sLinkStatus) {
     return sLinkStatus == LinkStatus_SUCCEEDED;
   }
 
+  MOZ_ASSERT(NS_IsMainThread());
+
   for (size_t i = 0; i < ArrayLength(sLibs); i++) {
     const AvFormatLib* lib = &sLibs[i];
     sLinkedLib = dlopen(lib->Name, RTLD_NOW | RTLD_LOCAL);
     if (sLinkedLib) {
       if (Bind(lib->Name, lib->Version)) {
         sLib = lib;
         sLinkStatus = LinkStatus_SUCCEEDED;
         return true;
rename from dom/media/fmp4/ffmpeg/FFmpegRuntimeLinker.h
rename to dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.h
rename from dom/media/fmp4/ffmpeg/README_mozilla
rename to dom/media/platforms/ffmpeg/README_mozilla
rename from dom/media/fmp4/ffmpeg/libav53/include/COPYING.LGPLv2.1
rename to dom/media/platforms/ffmpeg/libav53/include/COPYING.LGPLv2.1
rename from dom/media/fmp4/ffmpeg/libav53/include/libavcodec/avcodec.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavcodec/avcodec.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavcodec/avfft.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavcodec/avfft.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavcodec/dxva2.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavcodec/dxva2.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavcodec/old_codec_ids.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavcodec/old_codec_ids.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavcodec/opt.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavcodec/opt.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavcodec/vaapi.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavcodec/vaapi.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavcodec/vda.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavcodec/vda.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavcodec/vdpau.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavcodec/vdpau.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavcodec/version.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavcodec/version.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavcodec/xvmc.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavcodec/xvmc.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavformat/avformat.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavformat/avformat.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavformat/avio.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavformat/avio.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavformat/version.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavformat/version.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/adler32.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/adler32.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/aes.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/aes.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/attributes.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/attributes.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/audio_fifo.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/audio_fifo.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/audioconvert.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/audioconvert.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/avassert.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/avassert.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/avconfig.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/avconfig.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/avstring.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/avstring.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/avutil.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/avutil.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/base64.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/base64.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/blowfish.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/blowfish.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/bprint.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/bprint.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/bswap.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/bswap.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/common.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/common.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/cpu.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/cpu.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/crc.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/crc.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/dict.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/dict.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/error.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/error.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/eval.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/eval.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/fifo.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/fifo.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/file.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/file.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/imgutils.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/imgutils.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/intfloat.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/intfloat.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/intfloat_readwrite.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/intfloat_readwrite.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/intreadwrite.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/intreadwrite.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/lfg.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/lfg.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/log.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/log.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/lzo.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/lzo.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/mathematics.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/mathematics.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/md5.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/md5.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/mem.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/mem.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/old_pix_fmts.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/old_pix_fmts.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/opt.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/opt.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/parseutils.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/parseutils.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/pixdesc.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/pixdesc.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/pixfmt.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/pixfmt.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/random_seed.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/random_seed.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/rational.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/rational.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/samplefmt.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/samplefmt.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/sha.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/sha.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/time.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/time.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/timecode.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/timecode.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/timestamp.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/timestamp.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/version.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/version.h
rename from dom/media/fmp4/ffmpeg/libav53/include/libavutil/xtea.h
rename to dom/media/platforms/ffmpeg/libav53/include/libavutil/xtea.h
rename from dom/media/fmp4/ffmpeg/libav53/moz.build
rename to dom/media/platforms/ffmpeg/libav53/moz.build
rename from dom/media/fmp4/ffmpeg/libav54/include/COPYING.LGPLv2.1
rename to dom/media/platforms/ffmpeg/libav54/include/COPYING.LGPLv2.1
rename from dom/media/fmp4/ffmpeg/libav54/include/libavcodec/avcodec.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavcodec/avcodec.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavcodec/avfft.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavcodec/avfft.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavcodec/dxva2.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavcodec/dxva2.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavcodec/old_codec_ids.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavcodec/old_codec_ids.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavcodec/vaapi.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavcodec/vaapi.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavcodec/vda.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavcodec/vda.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavcodec/vdpau.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavcodec/vdpau.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavcodec/version.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavcodec/version.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavcodec/xvmc.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavcodec/xvmc.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavformat/avformat.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavformat/avformat.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavformat/avio.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavformat/avio.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavformat/version.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavformat/version.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/adler32.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/adler32.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/aes.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/aes.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/attributes.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/attributes.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/audio_fifo.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/audio_fifo.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/audioconvert.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/audioconvert.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/avassert.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/avassert.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/avconfig.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/avconfig.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/avstring.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/avstring.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/avutil.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/avutil.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/base64.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/base64.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/blowfish.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/blowfish.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/bswap.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/bswap.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/channel_layout.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/channel_layout.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/common.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/common.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/cpu.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/cpu.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/crc.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/crc.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/dict.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/dict.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/error.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/error.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/eval.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/eval.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/fifo.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/fifo.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/file.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/file.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/imgutils.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/imgutils.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/intfloat.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/intfloat.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/intfloat_readwrite.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/intfloat_readwrite.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/intreadwrite.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/intreadwrite.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/lfg.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/lfg.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/log.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/log.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/lzo.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/lzo.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/mathematics.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/mathematics.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/md5.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/md5.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/mem.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/mem.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/old_pix_fmts.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/old_pix_fmts.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/opt.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/opt.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/parseutils.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/parseutils.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/pixdesc.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/pixdesc.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/pixfmt.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/pixfmt.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/random_seed.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/random_seed.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/rational.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/rational.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/samplefmt.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/samplefmt.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/sha.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/sha.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/time.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/time.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/version.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/version.h
rename from dom/media/fmp4/ffmpeg/libav54/include/libavutil/xtea.h
rename to dom/media/platforms/ffmpeg/libav54/include/libavutil/xtea.h
rename from dom/media/fmp4/ffmpeg/libav54/moz.build
rename to dom/media/platforms/ffmpeg/libav54/moz.build
rename from dom/media/fmp4/ffmpeg/libav55/include/COPYING.LGPLv2.1
rename to dom/media/platforms/ffmpeg/libav55/include/COPYING.LGPLv2.1
rename from dom/media/fmp4/ffmpeg/libav55/include/libavcodec/avcodec.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavcodec/avcodec.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavcodec/avfft.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavcodec/avfft.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavcodec/dxva2.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavcodec/dxva2.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavcodec/vaapi.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavcodec/vaapi.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavcodec/vda.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavcodec/vda.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavcodec/vdpau.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavcodec/vdpau.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavcodec/version.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavcodec/version.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavcodec/xvmc.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavcodec/xvmc.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavformat/avformat.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavformat/avformat.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavformat/avio.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavformat/avio.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavformat/version.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavformat/version.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/adler32.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/adler32.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/aes.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/aes.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/attributes.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/attributes.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/audio_fifo.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/audio_fifo.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/audioconvert.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/audioconvert.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/avassert.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/avassert.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/avconfig.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/avconfig.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/avstring.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/avstring.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/avutil.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/avutil.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/base64.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/base64.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/blowfish.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/blowfish.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/bswap.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/bswap.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/buffer.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/buffer.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/channel_layout.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/channel_layout.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/common.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/common.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/cpu.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/cpu.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/crc.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/crc.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/dict.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/dict.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/downmix_info.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/downmix_info.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/error.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/error.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/eval.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/eval.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/fifo.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/fifo.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/file.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/file.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/frame.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/frame.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/hmac.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/hmac.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/imgutils.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/imgutils.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/intfloat.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/intfloat.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/intreadwrite.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/intreadwrite.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/lfg.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/lfg.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/log.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/log.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/lzo.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/lzo.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/macros.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/macros.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/mathematics.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/mathematics.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/md5.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/md5.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/mem.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/mem.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/old_pix_fmts.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/old_pix_fmts.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/opt.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/opt.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/parseutils.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/parseutils.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/pixdesc.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/pixdesc.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/pixfmt.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/pixfmt.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/random_seed.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/random_seed.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/rational.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/rational.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/samplefmt.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/samplefmt.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/sha.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/sha.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/stereo3d.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/stereo3d.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/time.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/time.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/version.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/version.h
rename from dom/media/fmp4/ffmpeg/libav55/include/libavutil/xtea.h
rename to dom/media/platforms/ffmpeg/libav55/include/libavutil/xtea.h
rename from dom/media/fmp4/ffmpeg/libav55/moz.build
rename to dom/media/platforms/ffmpeg/libav55/moz.build
rename from dom/media/fmp4/gonk/GonkAudioDecoderManager.cpp
rename to dom/media/platforms/gonk/GonkAudioDecoderManager.cpp
rename from dom/media/fmp4/gonk/GonkAudioDecoderManager.h
rename to dom/media/platforms/gonk/GonkAudioDecoderManager.h
--- a/dom/media/fmp4/gonk/GonkAudioDecoderManager.h
+++ b/dom/media/platforms/gonk/GonkAudioDecoderManager.h
@@ -3,17 +3,16 @@
 /* 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/. */
 
 #if !defined(GonkAudioDecoderManager_h_)
 #define GonkAudioDecoderManager_h_
 
 #include "mozilla/RefPtr.h"
-#include "MP4Reader.h"
 #include "GonkMediaDataDecoder.h"
 
 using namespace android;
 
 namespace android {
 struct MOZ_EXPORT ALooper;
 class MOZ_EXPORT MediaBuffer;
 } // namespace android
rename from dom/media/fmp4/gonk/GonkDecoderModule.cpp
rename to dom/media/platforms/gonk/GonkDecoderModule.cpp
rename from dom/media/fmp4/gonk/GonkDecoderModule.h
rename to dom/media/platforms/gonk/GonkDecoderModule.h
rename from dom/media/fmp4/gonk/GonkMediaDataDecoder.cpp
rename to dom/media/platforms/gonk/GonkMediaDataDecoder.cpp
--- a/dom/media/fmp4/gonk/GonkMediaDataDecoder.cpp
+++ b/dom/media/platforms/gonk/GonkMediaDataDecoder.cpp
@@ -1,14 +1,13 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim:set ts=2 sw=2 sts=2 et cindent: */
 /* 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 "mp4_demuxer/mp4_demuxer.h"
 #include "GonkMediaDataDecoder.h"
 #include "VideoUtils.h"
 #include "nsTArray.h"
 #include "MediaCodecProxy.h"
 #include "MediaData.h"
 
 #include "prlog.h"
 #include <android/log.h>
rename from dom/media/fmp4/gonk/GonkMediaDataDecoder.h
rename to dom/media/platforms/gonk/GonkMediaDataDecoder.h
--- a/dom/media/fmp4/gonk/GonkMediaDataDecoder.h
+++ b/dom/media/platforms/gonk/GonkMediaDataDecoder.h
@@ -1,18 +1,17 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim:set ts=2 sw=2 sts=2 et cindent: */
 /* 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/. */
 
 #if !defined(GonkMediaDataDecoder_h_)
 #define GonkMediaDataDecoder_h_
-#include "mozilla/RefPtr.h"
-#include "MP4Reader.h"
+#include "PlatformDecoderModule.h"
 
 namespace android {
 class MediaCodecProxy;
 } // namespace android
 
 namespace mozilla {
 class MediaRawData;
 
rename from dom/media/fmp4/gonk/GonkVideoDecoderManager.cpp
rename to dom/media/platforms/gonk/GonkVideoDecoderManager.cpp
rename from dom/media/fmp4/gonk/GonkVideoDecoderManager.h
rename to dom/media/platforms/gonk/GonkVideoDecoderManager.h
--- a/dom/media/fmp4/gonk/GonkVideoDecoderManager.h
+++ b/dom/media/platforms/gonk/GonkVideoDecoderManager.h
@@ -3,17 +3,16 @@
 /* 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/. */
 
 #if !defined(GonkVideoDecoderManager_h_)
 #define GonkVideoDecoderManager_h_
 
 #include <set>
-#include "MP4Reader.h"
 #include "nsRect.h"
 #include "GonkMediaDataDecoder.h"
 #include "mozilla/RefPtr.h"
 #include "I420ColorConverterHelper.h"
 #include "MediaCodecProxy.h"
 #include <stagefright/foundation/AHandler.h>
 #include "GonkNativeWindow.h"
 #include "GonkNativeWindowClient.h"
rename from dom/media/fmp4/gonk/moz.build
rename to dom/media/platforms/gonk/moz.build
copy from dom/media/fmp4/moz.build
copy to dom/media/platforms/moz.build
--- a/dom/media/fmp4/moz.build
+++ b/dom/media/platforms/moz.build
@@ -1,45 +1,34 @@
 # -*- 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/.
 
 EXPORTS += [
-    'MP4Decoder.h',
-    'MP4Demuxer.h',
-    'MP4Reader.h',
-    'MP4Stream.h',
     'PlatformDecoderModule.h',
     'SharedDecoderManager.h',
     'wrappers/H264Converter.h'
 ]
 
 UNIFIED_SOURCES += [
-    'BlankDecoderModule.cpp',
-    'MP4Decoder.cpp',
-    'MP4Stream.cpp',
+    'agnostic/BlankDecoderModule.cpp',
     'PlatformDecoderModule.cpp',
     'SharedDecoderManager.cpp',
     'wrappers/H264Converter.cpp'
 ]
 
-SOURCES += [
-    'MP4Demuxer.cpp',
-    'MP4Reader.cpp',
-]
-
-DIRS += ['gmp']
+DIRS += ['agnostic/gmp']
 
 if CONFIG['MOZ_WMF']:
     DIRS += [ 'wmf' ];
 
 if CONFIG['MOZ_EME']:
-    DIRS += ['eme']
+    DIRS += ['agnostic/eme']
 
 if CONFIG['MOZ_FFMPEG']:
     EXPORTS += [
         'ffmpeg/FFmpegRuntimeLinker.h',
     ]
     UNIFIED_SOURCES += [
         'ffmpeg/FFmpegLog.cpp',
         'ffmpeg/FFmpegRuntimeLinker.cpp',
@@ -65,17 +54,17 @@ if CONFIG['MOZ_APPLEMEDIA']:
       'apple/AppleVDALinker.cpp',
       'apple/AppleVTDecoder.cpp',
       'apple/AppleVTLinker.cpp',
   ]
   OS_LIBS += [
       '-framework AudioToolbox',
   ]
 
-if CONFIG['ANDROID_VERSION'] >= '18'and CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
+if CONFIG['MOZ_FMP4'] and CONFIG['ANDROID_VERSION'] >= '18'and CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
     DEFINES['MOZ_GONK_MEDIACODEC'] = True
     DIRS += ['gonk']
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
     EXPORTS += [
         'android/AndroidDecoderModule.h',
rename from dom/media/fmp4/wmf/MFTDecoder.cpp
rename to dom/media/platforms/wmf/MFTDecoder.cpp
rename from dom/media/fmp4/wmf/MFTDecoder.h
rename to dom/media/platforms/wmf/MFTDecoder.h
rename from dom/media/fmp4/wmf/WMFAudioMFTManager.cpp
rename to dom/media/platforms/wmf/WMFAudioMFTManager.cpp
rename from dom/media/fmp4/wmf/WMFAudioMFTManager.h
rename to dom/media/platforms/wmf/WMFAudioMFTManager.h
rename from dom/media/fmp4/wmf/WMFDecoderModule.cpp
rename to dom/media/platforms/wmf/WMFDecoderModule.cpp
rename from dom/media/fmp4/wmf/WMFDecoderModule.h
rename to dom/media/platforms/wmf/WMFDecoderModule.h
rename from dom/media/fmp4/wmf/WMFMediaDataDecoder.cpp
rename to dom/media/platforms/wmf/WMFMediaDataDecoder.cpp
rename from dom/media/fmp4/wmf/WMFMediaDataDecoder.h
rename to dom/media/platforms/wmf/WMFMediaDataDecoder.h
rename from dom/media/fmp4/wmf/WMFVideoMFTManager.cpp
rename to dom/media/platforms/wmf/WMFVideoMFTManager.cpp
rename from dom/media/fmp4/wmf/WMFVideoMFTManager.h
rename to dom/media/platforms/wmf/WMFVideoMFTManager.h
rename from dom/media/fmp4/wmf/moz.build
rename to dom/media/platforms/wmf/moz.build
rename from dom/media/fmp4/wrappers/H264Converter.cpp
rename to dom/media/platforms/wrappers/H264Converter.cpp
rename from dom/media/fmp4/wrappers/H264Converter.h
rename to dom/media/platforms/wrappers/H264Converter.h