gecko/dom/media/ogg/OggCodecState.cpp
Birunthan Mohanathas 09e204851c Bug 946065 - Part 10: Move content/media/ to dom/. r=peterv
--HG--
rename : content/media/AbstractMediaDecoder.h => dom/media/AbstractMediaDecoder.h
rename : content/media/AudioBufferUtils.h => dom/media/AudioBufferUtils.h
rename : content/media/AudioChannelFormat.cpp => dom/media/AudioChannelFormat.cpp
rename : content/media/AudioChannelFormat.h => dom/media/AudioChannelFormat.h
rename : content/media/AudioCompactor.cpp => dom/media/AudioCompactor.cpp
rename : content/media/AudioCompactor.h => dom/media/AudioCompactor.h
rename : content/media/AudioMixer.h => dom/media/AudioMixer.h
rename : content/media/AudioSampleFormat.h => dom/media/AudioSampleFormat.h
rename : content/media/AudioSegment.cpp => dom/media/AudioSegment.cpp
rename : content/media/AudioSegment.h => dom/media/AudioSegment.h
rename : content/media/AudioSink.cpp => dom/media/AudioSink.cpp
rename : content/media/AudioSink.h => dom/media/AudioSink.h
rename : content/media/AudioStream.cpp => dom/media/AudioStream.cpp
rename : content/media/AudioStream.h => dom/media/AudioStream.h
rename : content/media/AudioStreamTrack.cpp => dom/media/AudioStreamTrack.cpp
rename : content/media/AudioStreamTrack.h => dom/media/AudioStreamTrack.h
rename : content/media/AudioTrack.cpp => dom/media/AudioTrack.cpp
rename : content/media/AudioTrack.h => dom/media/AudioTrack.h
rename : content/media/AudioTrackList.cpp => dom/media/AudioTrackList.cpp
rename : content/media/AudioTrackList.h => dom/media/AudioTrackList.h
rename : content/media/BufferMediaResource.h => dom/media/BufferMediaResource.h
rename : content/media/CubebUtils.cpp => dom/media/CubebUtils.cpp
rename : content/media/CubebUtils.h => dom/media/CubebUtils.h
rename : content/media/DOMMediaStream.cpp => dom/media/DOMMediaStream.cpp
rename : content/media/DOMMediaStream.h => dom/media/DOMMediaStream.h
rename : content/media/DecoderTraits.cpp => dom/media/DecoderTraits.cpp
rename : content/media/DecoderTraits.h => dom/media/DecoderTraits.h
rename : content/media/EncodedBufferCache.cpp => dom/media/EncodedBufferCache.cpp
rename : content/media/EncodedBufferCache.h => dom/media/EncodedBufferCache.h
rename : content/media/FileBlockCache.cpp => dom/media/FileBlockCache.cpp
rename : content/media/FileBlockCache.h => dom/media/FileBlockCache.h
rename : content/media/GraphDriver.cpp => dom/media/GraphDriver.cpp
rename : content/media/GraphDriver.h => dom/media/GraphDriver.h
rename : content/media/Latency.cpp => dom/media/Latency.cpp
rename : content/media/Latency.h => dom/media/Latency.h
rename : content/media/MP3FrameParser.cpp => dom/media/MP3FrameParser.cpp
rename : content/media/MP3FrameParser.h => dom/media/MP3FrameParser.h
rename : content/media/MediaCache.cpp => dom/media/MediaCache.cpp
rename : content/media/MediaCache.h => dom/media/MediaCache.h
rename : content/media/MediaData.cpp => dom/media/MediaData.cpp
rename : content/media/MediaData.h => dom/media/MediaData.h
rename : content/media/MediaDataDecodedListener.h => dom/media/MediaDataDecodedListener.h
rename : content/media/MediaDecoder.cpp => dom/media/MediaDecoder.cpp
rename : content/media/MediaDecoder.h => dom/media/MediaDecoder.h
rename : content/media/MediaDecoderOwner.h => dom/media/MediaDecoderOwner.h
rename : content/media/MediaDecoderReader.cpp => dom/media/MediaDecoderReader.cpp
rename : content/media/MediaDecoderReader.h => dom/media/MediaDecoderReader.h
rename : content/media/MediaDecoderStateMachine.cpp => dom/media/MediaDecoderStateMachine.cpp
rename : content/media/MediaDecoderStateMachine.h => dom/media/MediaDecoderStateMachine.h
rename : content/media/MediaDecoderStateMachineScheduler.cpp => dom/media/MediaDecoderStateMachineScheduler.cpp
rename : content/media/MediaDecoderStateMachineScheduler.h => dom/media/MediaDecoderStateMachineScheduler.h
rename : content/media/MediaInfo.h => dom/media/MediaInfo.h
rename : content/media/MediaMetadataManager.h => dom/media/MediaMetadataManager.h
rename : content/media/MediaQueue.h => dom/media/MediaQueue.h
rename : content/media/MediaRecorder.cpp => dom/media/MediaRecorder.cpp
rename : content/media/MediaRecorder.h => dom/media/MediaRecorder.h
rename : content/media/MediaResource.cpp => dom/media/MediaResource.cpp
rename : content/media/MediaResource.h => dom/media/MediaResource.h
rename : content/media/MediaSegment.h => dom/media/MediaSegment.h
rename : content/media/MediaShutdownManager.cpp => dom/media/MediaShutdownManager.cpp
rename : content/media/MediaShutdownManager.h => dom/media/MediaShutdownManager.h
rename : content/media/MediaStreamGraph.cpp => dom/media/MediaStreamGraph.cpp
rename : content/media/MediaStreamGraph.h => dom/media/MediaStreamGraph.h
rename : content/media/MediaStreamGraphImpl.h => dom/media/MediaStreamGraphImpl.h
rename : content/media/MediaStreamTrack.cpp => dom/media/MediaStreamTrack.cpp
rename : content/media/MediaStreamTrack.h => dom/media/MediaStreamTrack.h
rename : content/media/MediaTaskQueue.cpp => dom/media/MediaTaskQueue.cpp
rename : content/media/MediaTaskQueue.h => dom/media/MediaTaskQueue.h
rename : content/media/MediaTrack.cpp => dom/media/MediaTrack.cpp
rename : content/media/MediaTrack.h => dom/media/MediaTrack.h
rename : content/media/MediaTrackList.cpp => dom/media/MediaTrackList.cpp
rename : content/media/MediaTrackList.h => dom/media/MediaTrackList.h
rename : content/media/RtspMediaResource.cpp => dom/media/RtspMediaResource.cpp
rename : content/media/RtspMediaResource.h => dom/media/RtspMediaResource.h
rename : content/media/SharedBuffer.h => dom/media/SharedBuffer.h
rename : content/media/SharedThreadPool.cpp => dom/media/SharedThreadPool.cpp
rename : content/media/SharedThreadPool.h => dom/media/SharedThreadPool.h
rename : content/media/StreamBuffer.cpp => dom/media/StreamBuffer.cpp
rename : content/media/StreamBuffer.h => dom/media/StreamBuffer.h
rename : content/media/TextTrack.cpp => dom/media/TextTrack.cpp
rename : content/media/TextTrack.h => dom/media/TextTrack.h
rename : content/media/TextTrackCue.cpp => dom/media/TextTrackCue.cpp
rename : content/media/TextTrackCue.h => dom/media/TextTrackCue.h
rename : content/media/TextTrackCueList.cpp => dom/media/TextTrackCueList.cpp
rename : content/media/TextTrackCueList.h => dom/media/TextTrackCueList.h
rename : content/media/TextTrackList.cpp => dom/media/TextTrackList.cpp
rename : content/media/TextTrackList.h => dom/media/TextTrackList.h
rename : content/media/TextTrackRegion.cpp => dom/media/TextTrackRegion.cpp
rename : content/media/TextTrackRegion.h => dom/media/TextTrackRegion.h
rename : content/media/ThreadPoolCOMListener.cpp => dom/media/ThreadPoolCOMListener.cpp
rename : content/media/ThreadPoolCOMListener.h => dom/media/ThreadPoolCOMListener.h
rename : content/media/TimeVarying.h => dom/media/TimeVarying.h
rename : content/media/TrackUnionStream.cpp => dom/media/TrackUnionStream.cpp
rename : content/media/TrackUnionStream.h => dom/media/TrackUnionStream.h
rename : content/media/VideoFrameContainer.cpp => dom/media/VideoFrameContainer.cpp
rename : content/media/VideoFrameContainer.h => dom/media/VideoFrameContainer.h
rename : content/media/VideoPlaybackQuality.cpp => dom/media/VideoPlaybackQuality.cpp
rename : content/media/VideoPlaybackQuality.h => dom/media/VideoPlaybackQuality.h
rename : content/media/VideoSegment.cpp => dom/media/VideoSegment.cpp
rename : content/media/VideoSegment.h => dom/media/VideoSegment.h
rename : content/media/VideoStreamTrack.cpp => dom/media/VideoStreamTrack.cpp
rename : content/media/VideoStreamTrack.h => dom/media/VideoStreamTrack.h
rename : content/media/VideoTrack.cpp => dom/media/VideoTrack.cpp
rename : content/media/VideoTrack.h => dom/media/VideoTrack.h
rename : content/media/VideoTrackList.cpp => dom/media/VideoTrackList.cpp
rename : content/media/VideoTrackList.h => dom/media/VideoTrackList.h
rename : content/media/VideoUtils.cpp => dom/media/VideoUtils.cpp
rename : content/media/VideoUtils.h => dom/media/VideoUtils.h
rename : content/media/VorbisUtils.h => dom/media/VorbisUtils.h
rename : content/media/WebVTTListener.cpp => dom/media/WebVTTListener.cpp
rename : content/media/WebVTTListener.h => dom/media/WebVTTListener.h
rename : content/media/android/AndroidMediaDecoder.cpp => dom/media/android/AndroidMediaDecoder.cpp
rename : content/media/android/AndroidMediaDecoder.h => dom/media/android/AndroidMediaDecoder.h
rename : content/media/android/AndroidMediaPluginHost.cpp => dom/media/android/AndroidMediaPluginHost.cpp
rename : content/media/android/AndroidMediaPluginHost.h => dom/media/android/AndroidMediaPluginHost.h
rename : content/media/android/AndroidMediaReader.cpp => dom/media/android/AndroidMediaReader.cpp
rename : content/media/android/AndroidMediaReader.h => dom/media/android/AndroidMediaReader.h
rename : content/media/android/AndroidMediaResourceServer.cpp => dom/media/android/AndroidMediaResourceServer.cpp
rename : content/media/android/AndroidMediaResourceServer.h => dom/media/android/AndroidMediaResourceServer.h
rename : content/media/android/MPAPI.h => dom/media/android/MPAPI.h
rename : content/media/android/moz.build => dom/media/android/moz.build
rename : content/media/apple/AppleDecoder.cpp => dom/media/apple/AppleDecoder.cpp
rename : content/media/apple/AppleDecoder.h => dom/media/apple/AppleDecoder.h
rename : content/media/apple/AppleMP3Reader.cpp => dom/media/apple/AppleMP3Reader.cpp
rename : content/media/apple/AppleMP3Reader.h => dom/media/apple/AppleMP3Reader.h
rename : content/media/apple/moz.build => dom/media/apple/moz.build
rename : content/media/compiledtest/TestAudioBuffers.cpp => dom/media/compiledtest/TestAudioBuffers.cpp
rename : content/media/compiledtest/TestAudioMixer.cpp => dom/media/compiledtest/TestAudioMixer.cpp
rename : content/media/compiledtest/moz.build => dom/media/compiledtest/moz.build
rename : content/media/directshow/AudioSinkFilter.cpp => dom/media/directshow/AudioSinkFilter.cpp
rename : content/media/directshow/AudioSinkFilter.h => dom/media/directshow/AudioSinkFilter.h
rename : content/media/directshow/AudioSinkInputPin.cpp => dom/media/directshow/AudioSinkInputPin.cpp
rename : content/media/directshow/AudioSinkInputPin.h => dom/media/directshow/AudioSinkInputPin.h
rename : content/media/directshow/DirectShowDecoder.cpp => dom/media/directshow/DirectShowDecoder.cpp
rename : content/media/directshow/DirectShowDecoder.h => dom/media/directshow/DirectShowDecoder.h
rename : content/media/directshow/DirectShowReader.cpp => dom/media/directshow/DirectShowReader.cpp
rename : content/media/directshow/DirectShowReader.h => dom/media/directshow/DirectShowReader.h
rename : content/media/directshow/DirectShowUtils.cpp => dom/media/directshow/DirectShowUtils.cpp
rename : content/media/directshow/DirectShowUtils.h => dom/media/directshow/DirectShowUtils.h
rename : content/media/directshow/SampleSink.cpp => dom/media/directshow/SampleSink.cpp
rename : content/media/directshow/SampleSink.h => dom/media/directshow/SampleSink.h
rename : content/media/directshow/SourceFilter.cpp => dom/media/directshow/SourceFilter.cpp
rename : content/media/directshow/SourceFilter.h => dom/media/directshow/SourceFilter.h
rename : content/media/directshow/moz.build => dom/media/directshow/moz.build
rename : content/media/eme/CDMCallbackProxy.cpp => dom/media/eme/CDMCallbackProxy.cpp
rename : content/media/eme/CDMCallbackProxy.h => dom/media/eme/CDMCallbackProxy.h
rename : content/media/eme/CDMCaps.cpp => dom/media/eme/CDMCaps.cpp
rename : content/media/eme/CDMCaps.h => dom/media/eme/CDMCaps.h
rename : content/media/eme/CDMProxy.cpp => dom/media/eme/CDMProxy.cpp
rename : content/media/eme/CDMProxy.h => dom/media/eme/CDMProxy.h
rename : content/media/eme/EMELog.cpp => dom/media/eme/EMELog.cpp
rename : content/media/eme/EMELog.h => dom/media/eme/EMELog.h
rename : content/media/eme/MediaEncryptedEvent.cpp => dom/media/eme/MediaEncryptedEvent.cpp
rename : content/media/eme/MediaEncryptedEvent.h => dom/media/eme/MediaEncryptedEvent.h
rename : content/media/eme/MediaKeyError.cpp => dom/media/eme/MediaKeyError.cpp
rename : content/media/eme/MediaKeyError.h => dom/media/eme/MediaKeyError.h
rename : content/media/eme/MediaKeyMessageEvent.cpp => dom/media/eme/MediaKeyMessageEvent.cpp
rename : content/media/eme/MediaKeyMessageEvent.h => dom/media/eme/MediaKeyMessageEvent.h
rename : content/media/eme/MediaKeySession.cpp => dom/media/eme/MediaKeySession.cpp
rename : content/media/eme/MediaKeySession.h => dom/media/eme/MediaKeySession.h
rename : content/media/eme/MediaKeys.cpp => dom/media/eme/MediaKeys.cpp
rename : content/media/eme/MediaKeys.h => dom/media/eme/MediaKeys.h
rename : content/media/eme/moz.build => dom/media/eme/moz.build
rename : content/media/encoder/ContainerWriter.h => dom/media/encoder/ContainerWriter.h
rename : content/media/encoder/EncodedFrameContainer.h => dom/media/encoder/EncodedFrameContainer.h
rename : content/media/encoder/MediaEncoder.cpp => dom/media/encoder/MediaEncoder.cpp
rename : content/media/encoder/MediaEncoder.h => dom/media/encoder/MediaEncoder.h
rename : content/media/encoder/OmxTrackEncoder.cpp => dom/media/encoder/OmxTrackEncoder.cpp
rename : content/media/encoder/OmxTrackEncoder.h => dom/media/encoder/OmxTrackEncoder.h
rename : content/media/encoder/OpusTrackEncoder.cpp => dom/media/encoder/OpusTrackEncoder.cpp
rename : content/media/encoder/OpusTrackEncoder.h => dom/media/encoder/OpusTrackEncoder.h
rename : content/media/encoder/TrackEncoder.cpp => dom/media/encoder/TrackEncoder.cpp
rename : content/media/encoder/TrackEncoder.h => dom/media/encoder/TrackEncoder.h
rename : content/media/encoder/TrackMetadataBase.h => dom/media/encoder/TrackMetadataBase.h
rename : content/media/encoder/VP8TrackEncoder.cpp => dom/media/encoder/VP8TrackEncoder.cpp
rename : content/media/encoder/VP8TrackEncoder.h => dom/media/encoder/VP8TrackEncoder.h
rename : content/media/encoder/VorbisTrackEncoder.cpp => dom/media/encoder/VorbisTrackEncoder.cpp
rename : content/media/encoder/VorbisTrackEncoder.h => dom/media/encoder/VorbisTrackEncoder.h
rename : content/media/encoder/fmp4_muxer/AMRBox.cpp => dom/media/encoder/fmp4_muxer/AMRBox.cpp
rename : content/media/encoder/fmp4_muxer/AMRBox.h => dom/media/encoder/fmp4_muxer/AMRBox.h
rename : content/media/encoder/fmp4_muxer/AVCBox.cpp => dom/media/encoder/fmp4_muxer/AVCBox.cpp
rename : content/media/encoder/fmp4_muxer/AVCBox.h => dom/media/encoder/fmp4_muxer/AVCBox.h
rename : content/media/encoder/fmp4_muxer/ISOControl.cpp => dom/media/encoder/fmp4_muxer/ISOControl.cpp
rename : content/media/encoder/fmp4_muxer/ISOControl.h => dom/media/encoder/fmp4_muxer/ISOControl.h
rename : content/media/encoder/fmp4_muxer/ISOMediaBoxes.cpp => dom/media/encoder/fmp4_muxer/ISOMediaBoxes.cpp
rename : content/media/encoder/fmp4_muxer/ISOMediaBoxes.h => dom/media/encoder/fmp4_muxer/ISOMediaBoxes.h
rename : content/media/encoder/fmp4_muxer/ISOMediaWriter.cpp => dom/media/encoder/fmp4_muxer/ISOMediaWriter.cpp
rename : content/media/encoder/fmp4_muxer/ISOMediaWriter.h => dom/media/encoder/fmp4_muxer/ISOMediaWriter.h
rename : content/media/encoder/fmp4_muxer/ISOTrackMetadata.h => dom/media/encoder/fmp4_muxer/ISOTrackMetadata.h
rename : content/media/encoder/fmp4_muxer/MP4ESDS.cpp => dom/media/encoder/fmp4_muxer/MP4ESDS.cpp
rename : content/media/encoder/fmp4_muxer/MP4ESDS.h => dom/media/encoder/fmp4_muxer/MP4ESDS.h
rename : content/media/encoder/fmp4_muxer/MuxerOperation.h => dom/media/encoder/fmp4_muxer/MuxerOperation.h
rename : content/media/encoder/fmp4_muxer/moz.build => dom/media/encoder/fmp4_muxer/moz.build
rename : content/media/encoder/moz.build => dom/media/encoder/moz.build
rename : content/media/fmp4/BlankDecoderModule.cpp => dom/media/fmp4/BlankDecoderModule.cpp
rename : content/media/fmp4/MP4Decoder.cpp => dom/media/fmp4/MP4Decoder.cpp
rename : content/media/fmp4/MP4Decoder.h => dom/media/fmp4/MP4Decoder.h
rename : content/media/fmp4/MP4Reader.cpp => dom/media/fmp4/MP4Reader.cpp
rename : content/media/fmp4/MP4Reader.h => dom/media/fmp4/MP4Reader.h
rename : content/media/fmp4/PlatformDecoderModule.cpp => dom/media/fmp4/PlatformDecoderModule.cpp
rename : content/media/fmp4/PlatformDecoderModule.h => dom/media/fmp4/PlatformDecoderModule.h
rename : content/media/fmp4/android/AndroidDecoderModule.cpp => dom/media/fmp4/android/AndroidDecoderModule.cpp
rename : content/media/fmp4/android/AndroidDecoderModule.h => dom/media/fmp4/android/AndroidDecoderModule.h
rename : content/media/fmp4/apple/AppleATDecoder.cpp => dom/media/fmp4/apple/AppleATDecoder.cpp
rename : content/media/fmp4/apple/AppleATDecoder.h => dom/media/fmp4/apple/AppleATDecoder.h
rename : content/media/fmp4/apple/AppleCMFunctions.h => dom/media/fmp4/apple/AppleCMFunctions.h
rename : content/media/fmp4/apple/AppleCMLinker.cpp => dom/media/fmp4/apple/AppleCMLinker.cpp
rename : content/media/fmp4/apple/AppleCMLinker.h => dom/media/fmp4/apple/AppleCMLinker.h
rename : content/media/fmp4/apple/AppleDecoderModule.cpp => dom/media/fmp4/apple/AppleDecoderModule.cpp
rename : content/media/fmp4/apple/AppleDecoderModule.h => dom/media/fmp4/apple/AppleDecoderModule.h
rename : content/media/fmp4/apple/AppleUtils.cpp => dom/media/fmp4/apple/AppleUtils.cpp
rename : content/media/fmp4/apple/AppleUtils.h => dom/media/fmp4/apple/AppleUtils.h
rename : content/media/fmp4/apple/AppleVDADecoder.cpp => dom/media/fmp4/apple/AppleVDADecoder.cpp
rename : content/media/fmp4/apple/AppleVDADecoder.h => dom/media/fmp4/apple/AppleVDADecoder.h
rename : content/media/fmp4/apple/AppleVDAFunctions.h => dom/media/fmp4/apple/AppleVDAFunctions.h
rename : content/media/fmp4/apple/AppleVDALinker.cpp => dom/media/fmp4/apple/AppleVDALinker.cpp
rename : content/media/fmp4/apple/AppleVDALinker.h => dom/media/fmp4/apple/AppleVDALinker.h
rename : content/media/fmp4/apple/AppleVTDecoder.cpp => dom/media/fmp4/apple/AppleVTDecoder.cpp
rename : content/media/fmp4/apple/AppleVTDecoder.h => dom/media/fmp4/apple/AppleVTDecoder.h
rename : content/media/fmp4/apple/AppleVTFunctions.h => dom/media/fmp4/apple/AppleVTFunctions.h
rename : content/media/fmp4/apple/AppleVTLinker.cpp => dom/media/fmp4/apple/AppleVTLinker.cpp
rename : content/media/fmp4/apple/AppleVTLinker.h => dom/media/fmp4/apple/AppleVTLinker.h
rename : content/media/fmp4/apple/ReorderQueue.h => dom/media/fmp4/apple/ReorderQueue.h
rename : content/media/fmp4/apple/VideoDecodeAcceleration/VDADecoder.h => dom/media/fmp4/apple/VideoDecodeAcceleration/VDADecoder.h
rename : content/media/fmp4/apple/VideoToolbox/VideoToolbox.h => dom/media/fmp4/apple/VideoToolbox/VideoToolbox.h
rename : content/media/fmp4/eme/EMEAudioDecoder.cpp => dom/media/fmp4/eme/EMEAudioDecoder.cpp
rename : content/media/fmp4/eme/EMEAudioDecoder.h => dom/media/fmp4/eme/EMEAudioDecoder.h
rename : content/media/fmp4/eme/EMEDecoderModule.cpp => dom/media/fmp4/eme/EMEDecoderModule.cpp
rename : content/media/fmp4/eme/EMEDecoderModule.h => dom/media/fmp4/eme/EMEDecoderModule.h
rename : content/media/fmp4/eme/EMEH264Decoder.cpp => dom/media/fmp4/eme/EMEH264Decoder.cpp
rename : content/media/fmp4/eme/EMEH264Decoder.h => dom/media/fmp4/eme/EMEH264Decoder.h
rename : content/media/fmp4/eme/moz.build => dom/media/fmp4/eme/moz.build
rename : content/media/fmp4/ffmpeg/FFmpegAudioDecoder.cpp => dom/media/fmp4/ffmpeg/FFmpegAudioDecoder.cpp
rename : content/media/fmp4/ffmpeg/FFmpegAudioDecoder.h => dom/media/fmp4/ffmpeg/FFmpegAudioDecoder.h
rename : content/media/fmp4/ffmpeg/FFmpegDataDecoder.cpp => dom/media/fmp4/ffmpeg/FFmpegDataDecoder.cpp
rename : content/media/fmp4/ffmpeg/FFmpegDataDecoder.h => dom/media/fmp4/ffmpeg/FFmpegDataDecoder.h
rename : content/media/fmp4/ffmpeg/FFmpegDecoderModule.cpp => dom/media/fmp4/ffmpeg/FFmpegDecoderModule.cpp
rename : content/media/fmp4/ffmpeg/FFmpegDecoderModule.h => dom/media/fmp4/ffmpeg/FFmpegDecoderModule.h
rename : content/media/fmp4/ffmpeg/FFmpegFunctionList.h => dom/media/fmp4/ffmpeg/FFmpegFunctionList.h
rename : content/media/fmp4/ffmpeg/FFmpegH264Decoder.cpp => dom/media/fmp4/ffmpeg/FFmpegH264Decoder.cpp
rename : content/media/fmp4/ffmpeg/FFmpegH264Decoder.h => dom/media/fmp4/ffmpeg/FFmpegH264Decoder.h
rename : content/media/fmp4/ffmpeg/FFmpegLibs.h => dom/media/fmp4/ffmpeg/FFmpegLibs.h
rename : content/media/fmp4/ffmpeg/FFmpegLog.cpp => dom/media/fmp4/ffmpeg/FFmpegLog.cpp
rename : content/media/fmp4/ffmpeg/FFmpegLog.h => dom/media/fmp4/ffmpeg/FFmpegLog.h
rename : content/media/fmp4/ffmpeg/FFmpegRuntimeLinker.cpp => dom/media/fmp4/ffmpeg/FFmpegRuntimeLinker.cpp
rename : content/media/fmp4/ffmpeg/FFmpegRuntimeLinker.h => dom/media/fmp4/ffmpeg/FFmpegRuntimeLinker.h
rename : content/media/fmp4/ffmpeg/README_mozilla => dom/media/fmp4/ffmpeg/README_mozilla
rename : content/media/fmp4/ffmpeg/libav53/include/COPYING.LGPLv2.1 => dom/media/fmp4/ffmpeg/libav53/include/COPYING.LGPLv2.1
rename : content/media/fmp4/ffmpeg/libav53/include/libavcodec/avcodec.h => dom/media/fmp4/ffmpeg/libav53/include/libavcodec/avcodec.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavcodec/avfft.h => dom/media/fmp4/ffmpeg/libav53/include/libavcodec/avfft.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavcodec/dxva2.h => dom/media/fmp4/ffmpeg/libav53/include/libavcodec/dxva2.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavcodec/old_codec_ids.h => dom/media/fmp4/ffmpeg/libav53/include/libavcodec/old_codec_ids.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavcodec/opt.h => dom/media/fmp4/ffmpeg/libav53/include/libavcodec/opt.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavcodec/vaapi.h => dom/media/fmp4/ffmpeg/libav53/include/libavcodec/vaapi.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavcodec/vda.h => dom/media/fmp4/ffmpeg/libav53/include/libavcodec/vda.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavcodec/vdpau.h => dom/media/fmp4/ffmpeg/libav53/include/libavcodec/vdpau.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavcodec/version.h => dom/media/fmp4/ffmpeg/libav53/include/libavcodec/version.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavcodec/xvmc.h => dom/media/fmp4/ffmpeg/libav53/include/libavcodec/xvmc.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavformat/avformat.h => dom/media/fmp4/ffmpeg/libav53/include/libavformat/avformat.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavformat/avio.h => dom/media/fmp4/ffmpeg/libav53/include/libavformat/avio.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavformat/version.h => dom/media/fmp4/ffmpeg/libav53/include/libavformat/version.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/adler32.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/adler32.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/aes.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/aes.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/attributes.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/attributes.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/audio_fifo.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/audio_fifo.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/audioconvert.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/audioconvert.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/avassert.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/avassert.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/avconfig.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/avconfig.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/avstring.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/avstring.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/avutil.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/avutil.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/base64.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/base64.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/blowfish.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/blowfish.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/bprint.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/bprint.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/bswap.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/bswap.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/common.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/common.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/cpu.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/cpu.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/crc.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/crc.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/dict.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/dict.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/error.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/error.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/eval.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/eval.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/fifo.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/fifo.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/file.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/file.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/imgutils.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/imgutils.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/intfloat.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/intfloat.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/intfloat_readwrite.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/intfloat_readwrite.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/intreadwrite.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/intreadwrite.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/lfg.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/lfg.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/log.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/log.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/lzo.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/lzo.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/mathematics.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/mathematics.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/md5.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/md5.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/mem.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/mem.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/old_pix_fmts.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/old_pix_fmts.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/opt.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/opt.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/parseutils.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/parseutils.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/pixdesc.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/pixdesc.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/pixfmt.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/pixfmt.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/random_seed.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/random_seed.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/rational.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/rational.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/samplefmt.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/samplefmt.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/sha.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/sha.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/time.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/time.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/timecode.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/timecode.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/timestamp.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/timestamp.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/version.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/version.h
rename : content/media/fmp4/ffmpeg/libav53/include/libavutil/xtea.h => dom/media/fmp4/ffmpeg/libav53/include/libavutil/xtea.h
rename : content/media/fmp4/ffmpeg/libav53/moz.build => dom/media/fmp4/ffmpeg/libav53/moz.build
rename : content/media/fmp4/ffmpeg/libav54/include/COPYING.LGPLv2.1 => dom/media/fmp4/ffmpeg/libav54/include/COPYING.LGPLv2.1
rename : content/media/fmp4/ffmpeg/libav54/include/libavcodec/avcodec.h => dom/media/fmp4/ffmpeg/libav54/include/libavcodec/avcodec.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavcodec/avfft.h => dom/media/fmp4/ffmpeg/libav54/include/libavcodec/avfft.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavcodec/dxva2.h => dom/media/fmp4/ffmpeg/libav54/include/libavcodec/dxva2.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavcodec/old_codec_ids.h => dom/media/fmp4/ffmpeg/libav54/include/libavcodec/old_codec_ids.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavcodec/vaapi.h => dom/media/fmp4/ffmpeg/libav54/include/libavcodec/vaapi.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavcodec/vda.h => dom/media/fmp4/ffmpeg/libav54/include/libavcodec/vda.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavcodec/vdpau.h => dom/media/fmp4/ffmpeg/libav54/include/libavcodec/vdpau.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavcodec/version.h => dom/media/fmp4/ffmpeg/libav54/include/libavcodec/version.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavcodec/xvmc.h => dom/media/fmp4/ffmpeg/libav54/include/libavcodec/xvmc.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavformat/avformat.h => dom/media/fmp4/ffmpeg/libav54/include/libavformat/avformat.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavformat/avio.h => dom/media/fmp4/ffmpeg/libav54/include/libavformat/avio.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavformat/version.h => dom/media/fmp4/ffmpeg/libav54/include/libavformat/version.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/adler32.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/adler32.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/aes.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/aes.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/attributes.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/attributes.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/audio_fifo.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/audio_fifo.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/audioconvert.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/audioconvert.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/avassert.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/avassert.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/avconfig.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/avconfig.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/avstring.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/avstring.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/avutil.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/avutil.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/base64.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/base64.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/blowfish.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/blowfish.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/bswap.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/bswap.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/channel_layout.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/channel_layout.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/common.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/common.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/cpu.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/cpu.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/crc.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/crc.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/dict.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/dict.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/error.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/error.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/eval.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/eval.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/fifo.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/fifo.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/file.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/file.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/imgutils.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/imgutils.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/intfloat.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/intfloat.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/intfloat_readwrite.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/intfloat_readwrite.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/intreadwrite.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/intreadwrite.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/lfg.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/lfg.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/log.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/log.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/lzo.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/lzo.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/mathematics.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/mathematics.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/md5.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/md5.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/mem.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/mem.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/old_pix_fmts.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/old_pix_fmts.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/opt.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/opt.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/parseutils.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/parseutils.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/pixdesc.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/pixdesc.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/pixfmt.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/pixfmt.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/random_seed.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/random_seed.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/rational.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/rational.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/samplefmt.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/samplefmt.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/sha.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/sha.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/time.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/time.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/version.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/version.h
rename : content/media/fmp4/ffmpeg/libav54/include/libavutil/xtea.h => dom/media/fmp4/ffmpeg/libav54/include/libavutil/xtea.h
rename : content/media/fmp4/ffmpeg/libav54/moz.build => dom/media/fmp4/ffmpeg/libav54/moz.build
rename : content/media/fmp4/ffmpeg/libav55/include/COPYING.LGPLv2.1 => dom/media/fmp4/ffmpeg/libav55/include/COPYING.LGPLv2.1
rename : content/media/fmp4/ffmpeg/libav55/include/libavcodec/avcodec.h => dom/media/fmp4/ffmpeg/libav55/include/libavcodec/avcodec.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavcodec/avfft.h => dom/media/fmp4/ffmpeg/libav55/include/libavcodec/avfft.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavcodec/dxva2.h => dom/media/fmp4/ffmpeg/libav55/include/libavcodec/dxva2.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavcodec/vaapi.h => dom/media/fmp4/ffmpeg/libav55/include/libavcodec/vaapi.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavcodec/vda.h => dom/media/fmp4/ffmpeg/libav55/include/libavcodec/vda.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavcodec/vdpau.h => dom/media/fmp4/ffmpeg/libav55/include/libavcodec/vdpau.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavcodec/version.h => dom/media/fmp4/ffmpeg/libav55/include/libavcodec/version.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavcodec/xvmc.h => dom/media/fmp4/ffmpeg/libav55/include/libavcodec/xvmc.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavformat/avformat.h => dom/media/fmp4/ffmpeg/libav55/include/libavformat/avformat.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavformat/avio.h => dom/media/fmp4/ffmpeg/libav55/include/libavformat/avio.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavformat/version.h => dom/media/fmp4/ffmpeg/libav55/include/libavformat/version.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/adler32.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/adler32.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/aes.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/aes.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/attributes.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/attributes.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/audio_fifo.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/audio_fifo.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/audioconvert.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/audioconvert.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/avassert.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/avassert.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/avconfig.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/avconfig.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/avstring.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/avstring.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/avutil.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/avutil.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/base64.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/base64.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/blowfish.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/blowfish.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/bswap.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/bswap.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/buffer.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/buffer.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/channel_layout.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/channel_layout.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/common.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/common.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/cpu.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/cpu.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/crc.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/crc.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/dict.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/dict.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/downmix_info.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/downmix_info.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/error.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/error.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/eval.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/eval.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/fifo.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/fifo.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/file.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/file.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/frame.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/frame.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/hmac.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/hmac.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/imgutils.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/imgutils.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/intfloat.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/intfloat.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/intreadwrite.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/intreadwrite.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/lfg.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/lfg.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/log.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/log.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/lzo.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/lzo.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/macros.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/macros.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/mathematics.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/mathematics.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/md5.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/md5.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/mem.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/mem.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/old_pix_fmts.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/old_pix_fmts.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/opt.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/opt.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/parseutils.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/parseutils.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/pixdesc.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/pixdesc.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/pixfmt.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/pixfmt.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/random_seed.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/random_seed.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/rational.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/rational.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/samplefmt.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/samplefmt.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/sha.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/sha.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/stereo3d.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/stereo3d.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/time.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/time.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/version.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/version.h
rename : content/media/fmp4/ffmpeg/libav55/include/libavutil/xtea.h => dom/media/fmp4/ffmpeg/libav55/include/libavutil/xtea.h
rename : content/media/fmp4/ffmpeg/libav55/moz.build => dom/media/fmp4/ffmpeg/libav55/moz.build
rename : content/media/fmp4/gonk/GonkAudioDecoderManager.cpp => dom/media/fmp4/gonk/GonkAudioDecoderManager.cpp
rename : content/media/fmp4/gonk/GonkAudioDecoderManager.h => dom/media/fmp4/gonk/GonkAudioDecoderManager.h
rename : content/media/fmp4/gonk/GonkDecoderModule.cpp => dom/media/fmp4/gonk/GonkDecoderModule.cpp
rename : content/media/fmp4/gonk/GonkDecoderModule.h => dom/media/fmp4/gonk/GonkDecoderModule.h
rename : content/media/fmp4/gonk/GonkMediaDataDecoder.cpp => dom/media/fmp4/gonk/GonkMediaDataDecoder.cpp
rename : content/media/fmp4/gonk/GonkMediaDataDecoder.h => dom/media/fmp4/gonk/GonkMediaDataDecoder.h
rename : content/media/fmp4/gonk/GonkVideoDecoderManager.cpp => dom/media/fmp4/gonk/GonkVideoDecoderManager.cpp
rename : content/media/fmp4/gonk/GonkVideoDecoderManager.h => dom/media/fmp4/gonk/GonkVideoDecoderManager.h
rename : content/media/fmp4/gonk/moz.build => dom/media/fmp4/gonk/moz.build
rename : content/media/fmp4/moz.build => dom/media/fmp4/moz.build
rename : content/media/fmp4/wmf/MFTDecoder.cpp => dom/media/fmp4/wmf/MFTDecoder.cpp
rename : content/media/fmp4/wmf/MFTDecoder.h => dom/media/fmp4/wmf/MFTDecoder.h
rename : content/media/fmp4/wmf/WMFAudioMFTManager.cpp => dom/media/fmp4/wmf/WMFAudioMFTManager.cpp
rename : content/media/fmp4/wmf/WMFAudioMFTManager.h => dom/media/fmp4/wmf/WMFAudioMFTManager.h
rename : content/media/fmp4/wmf/WMFDecoderModule.cpp => dom/media/fmp4/wmf/WMFDecoderModule.cpp
rename : content/media/fmp4/wmf/WMFDecoderModule.h => dom/media/fmp4/wmf/WMFDecoderModule.h
rename : content/media/fmp4/wmf/WMFMediaDataDecoder.cpp => dom/media/fmp4/wmf/WMFMediaDataDecoder.cpp
rename : content/media/fmp4/wmf/WMFMediaDataDecoder.h => dom/media/fmp4/wmf/WMFMediaDataDecoder.h
rename : content/media/fmp4/wmf/WMFVideoMFTManager.cpp => dom/media/fmp4/wmf/WMFVideoMFTManager.cpp
rename : content/media/fmp4/wmf/WMFVideoMFTManager.h => dom/media/fmp4/wmf/WMFVideoMFTManager.h
rename : content/media/fmp4/wmf/moz.build => dom/media/fmp4/wmf/moz.build
rename : content/media/gmp/GMPAudioDecoderChild.cpp => dom/media/gmp/GMPAudioDecoderChild.cpp
rename : content/media/gmp/GMPAudioDecoderChild.h => dom/media/gmp/GMPAudioDecoderChild.h
rename : content/media/gmp/GMPAudioDecoderParent.cpp => dom/media/gmp/GMPAudioDecoderParent.cpp
rename : content/media/gmp/GMPAudioDecoderParent.h => dom/media/gmp/GMPAudioDecoderParent.h
rename : content/media/gmp/GMPAudioDecoderProxy.h => dom/media/gmp/GMPAudioDecoderProxy.h
rename : content/media/gmp/GMPAudioHost.cpp => dom/media/gmp/GMPAudioHost.cpp
rename : content/media/gmp/GMPAudioHost.h => dom/media/gmp/GMPAudioHost.h
rename : content/media/gmp/GMPCallbackBase.h => dom/media/gmp/GMPCallbackBase.h
rename : content/media/gmp/GMPChild.cpp => dom/media/gmp/GMPChild.cpp
rename : content/media/gmp/GMPChild.h => dom/media/gmp/GMPChild.h
rename : content/media/gmp/GMPDecryptorChild.cpp => dom/media/gmp/GMPDecryptorChild.cpp
rename : content/media/gmp/GMPDecryptorChild.h => dom/media/gmp/GMPDecryptorChild.h
rename : content/media/gmp/GMPDecryptorParent.cpp => dom/media/gmp/GMPDecryptorParent.cpp
rename : content/media/gmp/GMPDecryptorParent.h => dom/media/gmp/GMPDecryptorParent.h
rename : content/media/gmp/GMPDecryptorProxy.h => dom/media/gmp/GMPDecryptorProxy.h
rename : content/media/gmp/GMPEncryptedBufferDataImpl.cpp => dom/media/gmp/GMPEncryptedBufferDataImpl.cpp
rename : content/media/gmp/GMPEncryptedBufferDataImpl.h => dom/media/gmp/GMPEncryptedBufferDataImpl.h
rename : content/media/gmp/GMPMessageUtils.h => dom/media/gmp/GMPMessageUtils.h
rename : content/media/gmp/GMPParent.cpp => dom/media/gmp/GMPParent.cpp
rename : content/media/gmp/GMPParent.h => dom/media/gmp/GMPParent.h
rename : content/media/gmp/GMPPlatform.cpp => dom/media/gmp/GMPPlatform.cpp
rename : content/media/gmp/GMPPlatform.h => dom/media/gmp/GMPPlatform.h
rename : content/media/gmp/GMPProcessChild.cpp => dom/media/gmp/GMPProcessChild.cpp
rename : content/media/gmp/GMPProcessChild.h => dom/media/gmp/GMPProcessChild.h
rename : content/media/gmp/GMPProcessParent.cpp => dom/media/gmp/GMPProcessParent.cpp
rename : content/media/gmp/GMPProcessParent.h => dom/media/gmp/GMPProcessParent.h
rename : content/media/gmp/GMPService.cpp => dom/media/gmp/GMPService.cpp
rename : content/media/gmp/GMPService.h => dom/media/gmp/GMPService.h
rename : content/media/gmp/GMPSharedMemManager.cpp => dom/media/gmp/GMPSharedMemManager.cpp
rename : content/media/gmp/GMPSharedMemManager.h => dom/media/gmp/GMPSharedMemManager.h
rename : content/media/gmp/GMPStorageChild.cpp => dom/media/gmp/GMPStorageChild.cpp
rename : content/media/gmp/GMPStorageChild.h => dom/media/gmp/GMPStorageChild.h
rename : content/media/gmp/GMPStorageParent.cpp => dom/media/gmp/GMPStorageParent.cpp
rename : content/media/gmp/GMPStorageParent.h => dom/media/gmp/GMPStorageParent.h
rename : content/media/gmp/GMPTimerChild.cpp => dom/media/gmp/GMPTimerChild.cpp
rename : content/media/gmp/GMPTimerChild.h => dom/media/gmp/GMPTimerChild.h
rename : content/media/gmp/GMPTimerParent.cpp => dom/media/gmp/GMPTimerParent.cpp
rename : content/media/gmp/GMPTimerParent.h => dom/media/gmp/GMPTimerParent.h
rename : content/media/gmp/GMPTypes.ipdlh => dom/media/gmp/GMPTypes.ipdlh
rename : content/media/gmp/GMPVideoDecoderChild.cpp => dom/media/gmp/GMPVideoDecoderChild.cpp
rename : content/media/gmp/GMPVideoDecoderChild.h => dom/media/gmp/GMPVideoDecoderChild.h
rename : content/media/gmp/GMPVideoDecoderParent.cpp => dom/media/gmp/GMPVideoDecoderParent.cpp
rename : content/media/gmp/GMPVideoDecoderParent.h => dom/media/gmp/GMPVideoDecoderParent.h
rename : content/media/gmp/GMPVideoDecoderProxy.h => dom/media/gmp/GMPVideoDecoderProxy.h
rename : content/media/gmp/GMPVideoEncodedFrameImpl.cpp => dom/media/gmp/GMPVideoEncodedFrameImpl.cpp
rename : content/media/gmp/GMPVideoEncodedFrameImpl.h => dom/media/gmp/GMPVideoEncodedFrameImpl.h
rename : content/media/gmp/GMPVideoEncoderChild.cpp => dom/media/gmp/GMPVideoEncoderChild.cpp
rename : content/media/gmp/GMPVideoEncoderChild.h => dom/media/gmp/GMPVideoEncoderChild.h
rename : content/media/gmp/GMPVideoEncoderParent.cpp => dom/media/gmp/GMPVideoEncoderParent.cpp
rename : content/media/gmp/GMPVideoEncoderParent.h => dom/media/gmp/GMPVideoEncoderParent.h
rename : content/media/gmp/GMPVideoEncoderProxy.h => dom/media/gmp/GMPVideoEncoderProxy.h
rename : content/media/gmp/GMPVideoHost.cpp => dom/media/gmp/GMPVideoHost.cpp
rename : content/media/gmp/GMPVideoHost.h => dom/media/gmp/GMPVideoHost.h
rename : content/media/gmp/GMPVideoPlaneImpl.cpp => dom/media/gmp/GMPVideoPlaneImpl.cpp
rename : content/media/gmp/GMPVideoPlaneImpl.h => dom/media/gmp/GMPVideoPlaneImpl.h
rename : content/media/gmp/GMPVideoi420FrameImpl.cpp => dom/media/gmp/GMPVideoi420FrameImpl.cpp
rename : content/media/gmp/GMPVideoi420FrameImpl.h => dom/media/gmp/GMPVideoi420FrameImpl.h
rename : content/media/gmp/PGMP.ipdl => dom/media/gmp/PGMP.ipdl
rename : content/media/gmp/PGMPAudioDecoder.ipdl => dom/media/gmp/PGMPAudioDecoder.ipdl
rename : content/media/gmp/PGMPDecryptor.ipdl => dom/media/gmp/PGMPDecryptor.ipdl
rename : content/media/gmp/PGMPStorage.ipdl => dom/media/gmp/PGMPStorage.ipdl
rename : content/media/gmp/PGMPTimer.ipdl => dom/media/gmp/PGMPTimer.ipdl
rename : content/media/gmp/PGMPVideoDecoder.ipdl => dom/media/gmp/PGMPVideoDecoder.ipdl
rename : content/media/gmp/PGMPVideoEncoder.ipdl => dom/media/gmp/PGMPVideoEncoder.ipdl
rename : content/media/gmp/README.txt => dom/media/gmp/README.txt
rename : content/media/gmp/gmp-api/gmp-async-shutdown.h => dom/media/gmp/gmp-api/gmp-async-shutdown.h
rename : content/media/gmp/gmp-api/gmp-audio-codec.h => dom/media/gmp/gmp-api/gmp-audio-codec.h
rename : content/media/gmp/gmp-api/gmp-audio-decode.h => dom/media/gmp/gmp-api/gmp-audio-decode.h
rename : content/media/gmp/gmp-api/gmp-audio-host.h => dom/media/gmp/gmp-api/gmp-audio-host.h
rename : content/media/gmp/gmp-api/gmp-audio-samples.h => dom/media/gmp/gmp-api/gmp-audio-samples.h
rename : content/media/gmp/gmp-api/gmp-decryption.h => dom/media/gmp/gmp-api/gmp-decryption.h
rename : content/media/gmp/gmp-api/gmp-entrypoints.h => dom/media/gmp/gmp-api/gmp-entrypoints.h
rename : content/media/gmp/gmp-api/gmp-errors.h => dom/media/gmp/gmp-api/gmp-errors.h
rename : content/media/gmp/gmp-api/gmp-platform.h => dom/media/gmp/gmp-api/gmp-platform.h
rename : content/media/gmp/gmp-api/gmp-storage.h => dom/media/gmp/gmp-api/gmp-storage.h
rename : content/media/gmp/gmp-api/gmp-video-codec.h => dom/media/gmp/gmp-api/gmp-video-codec.h
rename : content/media/gmp/gmp-api/gmp-video-decode.h => dom/media/gmp/gmp-api/gmp-video-decode.h
rename : content/media/gmp/gmp-api/gmp-video-encode.h => dom/media/gmp/gmp-api/gmp-video-encode.h
rename : content/media/gmp/gmp-api/gmp-video-frame-encoded.h => dom/media/gmp/gmp-api/gmp-video-frame-encoded.h
rename : content/media/gmp/gmp-api/gmp-video-frame-i420.h => dom/media/gmp/gmp-api/gmp-video-frame-i420.h
rename : content/media/gmp/gmp-api/gmp-video-frame.h => dom/media/gmp/gmp-api/gmp-video-frame.h
rename : content/media/gmp/gmp-api/gmp-video-host.h => dom/media/gmp/gmp-api/gmp-video-host.h
rename : content/media/gmp/gmp-api/gmp-video-plane.h => dom/media/gmp/gmp-api/gmp-video-plane.h
rename : content/media/gmp/moz.build => dom/media/gmp/moz.build
rename : content/media/gmp/mozIGeckoMediaPluginService.idl => dom/media/gmp/mozIGeckoMediaPluginService.idl
rename : content/media/gmp/rlz/COPYING => dom/media/gmp/rlz/COPYING
rename : content/media/gmp/rlz/README.mozilla => dom/media/gmp/rlz/README.mozilla
rename : content/media/gmp/rlz/base/memory/scoped_ptr.h => dom/media/gmp/rlz/base/memory/scoped_ptr.h
rename : content/media/gmp/rlz/base/string16.h => dom/media/gmp/rlz/base/string16.h
rename : content/media/gmp/rlz/lib/assert.h => dom/media/gmp/rlz/lib/assert.h
rename : content/media/gmp/rlz/lib/machine_id.h => dom/media/gmp/rlz/lib/machine_id.h
rename : content/media/gmp/rlz/lib/string_utils.cc => dom/media/gmp/rlz/lib/string_utils.cc
rename : content/media/gmp/rlz/lib/string_utils.h => dom/media/gmp/rlz/lib/string_utils.h
rename : content/media/gmp/rlz/moz.build => dom/media/gmp/rlz/moz.build
rename : content/media/gmp/rlz/win/lib/machine_id_win.cc => dom/media/gmp/rlz/win/lib/machine_id_win.cc
rename : content/media/gstreamer/GStreamerAllocator.cpp => dom/media/gstreamer/GStreamerAllocator.cpp
rename : content/media/gstreamer/GStreamerAllocator.h => dom/media/gstreamer/GStreamerAllocator.h
rename : content/media/gstreamer/GStreamerDecoder.cpp => dom/media/gstreamer/GStreamerDecoder.cpp
rename : content/media/gstreamer/GStreamerDecoder.h => dom/media/gstreamer/GStreamerDecoder.h
rename : content/media/gstreamer/GStreamerFormatHelper.cpp => dom/media/gstreamer/GStreamerFormatHelper.cpp
rename : content/media/gstreamer/GStreamerFormatHelper.h => dom/media/gstreamer/GStreamerFormatHelper.h
rename : content/media/gstreamer/GStreamerFunctionList.h => dom/media/gstreamer/GStreamerFunctionList.h
rename : content/media/gstreamer/GStreamerLoader.cpp => dom/media/gstreamer/GStreamerLoader.cpp
rename : content/media/gstreamer/GStreamerLoader.h => dom/media/gstreamer/GStreamerLoader.h
rename : content/media/gstreamer/GStreamerMozVideoBuffer.cpp => dom/media/gstreamer/GStreamerMozVideoBuffer.cpp
rename : content/media/gstreamer/GStreamerMozVideoBuffer.h => dom/media/gstreamer/GStreamerMozVideoBuffer.h
rename : content/media/gstreamer/GStreamerReader-0.10.cpp => dom/media/gstreamer/GStreamerReader-0.10.cpp
rename : content/media/gstreamer/GStreamerReader.cpp => dom/media/gstreamer/GStreamerReader.cpp
rename : content/media/gstreamer/GStreamerReader.h => dom/media/gstreamer/GStreamerReader.h
rename : content/media/gstreamer/moz.build => dom/media/gstreamer/moz.build
rename : content/media/gtest/MockMediaDecoderOwner.h => dom/media/gtest/MockMediaDecoderOwner.h
rename : content/media/gtest/MockMediaResource.cpp => dom/media/gtest/MockMediaResource.cpp
rename : content/media/gtest/MockMediaResource.h => dom/media/gtest/MockMediaResource.h
rename : content/media/gtest/TestAudioCompactor.cpp => dom/media/gtest/TestAudioCompactor.cpp
rename : content/media/gtest/TestGMPCrossOrigin.cpp => dom/media/gtest/TestGMPCrossOrigin.cpp
rename : content/media/gtest/TestMP4Reader.cpp => dom/media/gtest/TestMP4Reader.cpp
rename : content/media/gtest/TestTrackEncoder.cpp => dom/media/gtest/TestTrackEncoder.cpp
rename : content/media/gtest/TestVideoSegment.cpp => dom/media/gtest/TestVideoSegment.cpp
rename : content/media/gtest/TestVideoTrackEncoder.cpp => dom/media/gtest/TestVideoTrackEncoder.cpp
rename : content/media/gtest/TestVorbisTrackEncoder.cpp => dom/media/gtest/TestVorbisTrackEncoder.cpp
rename : content/media/gtest/TestWebMBuffered.cpp => dom/media/gtest/TestWebMBuffered.cpp
rename : content/media/gtest/TestWebMWriter.cpp => dom/media/gtest/TestWebMWriter.cpp
rename : content/media/gtest/mediasource_test.mp4 => dom/media/gtest/mediasource_test.mp4
rename : content/media/gtest/moz.build => dom/media/gtest/moz.build
rename : content/media/gtest/test.webm => dom/media/gtest/test.webm
rename : content/media/imagecapture/CaptureTask.cpp => dom/media/imagecapture/CaptureTask.cpp
rename : content/media/imagecapture/CaptureTask.h => dom/media/imagecapture/CaptureTask.h
rename : content/media/imagecapture/ImageCapture.cpp => dom/media/imagecapture/ImageCapture.cpp
rename : content/media/imagecapture/ImageCapture.h => dom/media/imagecapture/ImageCapture.h
rename : content/media/imagecapture/moz.build => dom/media/imagecapture/moz.build
rename : content/media/mediasource/AsyncEventRunner.h => dom/media/mediasource/AsyncEventRunner.h
rename : content/media/mediasource/ContainerParser.cpp => dom/media/mediasource/ContainerParser.cpp
rename : content/media/mediasource/ContainerParser.h => dom/media/mediasource/ContainerParser.h
rename : content/media/mediasource/MediaSource.cpp => dom/media/mediasource/MediaSource.cpp
rename : content/media/mediasource/MediaSource.h => dom/media/mediasource/MediaSource.h
rename : content/media/mediasource/MediaSourceDecoder.cpp => dom/media/mediasource/MediaSourceDecoder.cpp
rename : content/media/mediasource/MediaSourceDecoder.h => dom/media/mediasource/MediaSourceDecoder.h
rename : content/media/mediasource/MediaSourceReader.cpp => dom/media/mediasource/MediaSourceReader.cpp
rename : content/media/mediasource/MediaSourceReader.h => dom/media/mediasource/MediaSourceReader.h
rename : content/media/mediasource/MediaSourceResource.h => dom/media/mediasource/MediaSourceResource.h
rename : content/media/mediasource/MediaSourceUtils.cpp => dom/media/mediasource/MediaSourceUtils.cpp
rename : content/media/mediasource/MediaSourceUtils.h => dom/media/mediasource/MediaSourceUtils.h
rename : content/media/mediasource/ResourceQueue.h => dom/media/mediasource/ResourceQueue.h
rename : content/media/mediasource/SourceBuffer.cpp => dom/media/mediasource/SourceBuffer.cpp
rename : content/media/mediasource/SourceBuffer.h => dom/media/mediasource/SourceBuffer.h
rename : content/media/mediasource/SourceBufferDecoder.cpp => dom/media/mediasource/SourceBufferDecoder.cpp
rename : content/media/mediasource/SourceBufferDecoder.h => dom/media/mediasource/SourceBufferDecoder.h
rename : content/media/mediasource/SourceBufferList.cpp => dom/media/mediasource/SourceBufferList.cpp
rename : content/media/mediasource/SourceBufferList.h => dom/media/mediasource/SourceBufferList.h
rename : content/media/mediasource/SourceBufferResource.cpp => dom/media/mediasource/SourceBufferResource.cpp
rename : content/media/mediasource/SourceBufferResource.h => dom/media/mediasource/SourceBufferResource.h
rename : content/media/mediasource/TrackBuffer.cpp => dom/media/mediasource/TrackBuffer.cpp
rename : content/media/mediasource/TrackBuffer.h => dom/media/mediasource/TrackBuffer.h
rename : content/media/mediasource/moz.build => dom/media/mediasource/moz.build
rename : content/media/mediasource/test/crashtests/1005366.html => dom/media/mediasource/test/crashtests/1005366.html
rename : content/media/mediasource/test/crashtests/1059035.html => dom/media/mediasource/test/crashtests/1059035.html
rename : content/media/mediasource/test/crashtests/926665.html => dom/media/mediasource/test/crashtests/926665.html
rename : content/media/mediasource/test/crashtests/931388.html => dom/media/mediasource/test/crashtests/931388.html
rename : content/media/mediasource/test/crashtests/crashtests.list => dom/media/mediasource/test/crashtests/crashtests.list
rename : content/media/mediasource/test/mediasource.js => dom/media/mediasource/test/mediasource.js
rename : content/media/mediasource/test/mochitest.ini => dom/media/mediasource/test/mochitest.ini
rename : content/media/mediasource/test/seek.webm => dom/media/mediasource/test/seek.webm
rename : content/media/mediasource/test/seek.webm^headers^ => dom/media/mediasource/test/seek.webm^headers^
rename : content/media/mediasource/test/seek_lowres.webm => dom/media/mediasource/test/seek_lowres.webm
rename : content/media/mediasource/test/seek_lowres.webm^headers^ => dom/media/mediasource/test/seek_lowres.webm^headers^
rename : content/media/mediasource/test/test_BufferedSeek.html => dom/media/mediasource/test/test_BufferedSeek.html
rename : content/media/mediasource/test/test_FrameSelection.html => dom/media/mediasource/test/test_FrameSelection.html
rename : content/media/mediasource/test/test_HaveMetadataUnbufferedSeek.html => dom/media/mediasource/test/test_HaveMetadataUnbufferedSeek.html
rename : content/media/mediasource/test/test_MediaSource.html => dom/media/mediasource/test/test_MediaSource.html
rename : content/media/mediasource/test/test_MediaSource_disabled.html => dom/media/mediasource/test/test_MediaSource_disabled.html
rename : content/media/mediasource/test/test_SeekableAfterEndOfStream.html => dom/media/mediasource/test/test_SeekableAfterEndOfStream.html
rename : content/media/mediasource/test/test_SeekableAfterEndOfStreamSplit.html => dom/media/mediasource/test/test_SeekableAfterEndOfStreamSplit.html
rename : content/media/mediasource/test/test_SeekableBeforeEndOfStream.html => dom/media/mediasource/test/test_SeekableBeforeEndOfStream.html
rename : content/media/mediasource/test/test_SeekableBeforeEndOfStreamSplit.html => dom/media/mediasource/test/test_SeekableBeforeEndOfStreamSplit.html
rename : content/media/mediasource/test/test_SplitAppend.html => dom/media/mediasource/test/test_SplitAppend.html
rename : content/media/mediasource/test/test_SplitAppendDelay.html => dom/media/mediasource/test/test_SplitAppendDelay.html
rename : content/media/nsIDocumentActivity.h => dom/media/nsIDocumentActivity.h
rename : content/media/ogg/OggCodecState.cpp => dom/media/ogg/OggCodecState.cpp
rename : content/media/ogg/OggCodecState.h => dom/media/ogg/OggCodecState.h
rename : content/media/ogg/OggDecoder.cpp => dom/media/ogg/OggDecoder.cpp
rename : content/media/ogg/OggDecoder.h => dom/media/ogg/OggDecoder.h
rename : content/media/ogg/OggReader.cpp => dom/media/ogg/OggReader.cpp
rename : content/media/ogg/OggReader.h => dom/media/ogg/OggReader.h
rename : content/media/ogg/OggWriter.cpp => dom/media/ogg/OggWriter.cpp
rename : content/media/ogg/OggWriter.h => dom/media/ogg/OggWriter.h
rename : content/media/ogg/OpusParser.cpp => dom/media/ogg/OpusParser.cpp
rename : content/media/ogg/OpusParser.h => dom/media/ogg/OpusParser.h
rename : content/media/ogg/moz.build => dom/media/ogg/moz.build
rename : content/media/omx/AudioOffloadPlayer.cpp => dom/media/omx/AudioOffloadPlayer.cpp
rename : content/media/omx/AudioOffloadPlayer.h => dom/media/omx/AudioOffloadPlayer.h
rename : content/media/omx/AudioOffloadPlayerBase.h => dom/media/omx/AudioOffloadPlayerBase.h
rename : content/media/omx/AudioOutput.cpp => dom/media/omx/AudioOutput.cpp
rename : content/media/omx/AudioOutput.h => dom/media/omx/AudioOutput.h
rename : content/media/omx/AudioSink.h => dom/media/omx/AudioSink.h
rename : content/media/omx/I420ColorConverterHelper.cpp => dom/media/omx/I420ColorConverterHelper.cpp
rename : content/media/omx/I420ColorConverterHelper.h => dom/media/omx/I420ColorConverterHelper.h
rename : content/media/omx/MPAPI.h => dom/media/omx/MPAPI.h
rename : content/media/omx/MediaCodecDecoder.cpp => dom/media/omx/MediaCodecDecoder.cpp
rename : content/media/omx/MediaCodecDecoder.h => dom/media/omx/MediaCodecDecoder.h
rename : content/media/omx/MediaCodecProxy.cpp => dom/media/omx/MediaCodecProxy.cpp
rename : content/media/omx/MediaCodecProxy.h => dom/media/omx/MediaCodecProxy.h
rename : content/media/omx/MediaCodecReader.cpp => dom/media/omx/MediaCodecReader.cpp
rename : content/media/omx/MediaCodecReader.h => dom/media/omx/MediaCodecReader.h
rename : content/media/omx/MediaOmxCommonDecoder.cpp => dom/media/omx/MediaOmxCommonDecoder.cpp
rename : content/media/omx/MediaOmxCommonDecoder.h => dom/media/omx/MediaOmxCommonDecoder.h
rename : content/media/omx/MediaOmxCommonReader.cpp => dom/media/omx/MediaOmxCommonReader.cpp
rename : content/media/omx/MediaOmxCommonReader.h => dom/media/omx/MediaOmxCommonReader.h
rename : content/media/omx/MediaOmxDecoder.cpp => dom/media/omx/MediaOmxDecoder.cpp
rename : content/media/omx/MediaOmxDecoder.h => dom/media/omx/MediaOmxDecoder.h
rename : content/media/omx/MediaOmxReader.cpp => dom/media/omx/MediaOmxReader.cpp
rename : content/media/omx/MediaOmxReader.h => dom/media/omx/MediaOmxReader.h
rename : content/media/omx/MediaStreamSource.cpp => dom/media/omx/MediaStreamSource.cpp
rename : content/media/omx/MediaStreamSource.h => dom/media/omx/MediaStreamSource.h
rename : content/media/omx/OMXCodecDescriptorUtil.cpp => dom/media/omx/OMXCodecDescriptorUtil.cpp
rename : content/media/omx/OMXCodecDescriptorUtil.h => dom/media/omx/OMXCodecDescriptorUtil.h
rename : content/media/omx/OMXCodecProxy.cpp => dom/media/omx/OMXCodecProxy.cpp
rename : content/media/omx/OMXCodecProxy.h => dom/media/omx/OMXCodecProxy.h
rename : content/media/omx/OMXCodecWrapper.cpp => dom/media/omx/OMXCodecWrapper.cpp
rename : content/media/omx/OMXCodecWrapper.h => dom/media/omx/OMXCodecWrapper.h
rename : content/media/omx/OmxDecoder.cpp => dom/media/omx/OmxDecoder.cpp
rename : content/media/omx/OmxDecoder.h => dom/media/omx/OmxDecoder.h
rename : content/media/omx/RtspExtractor.cpp => dom/media/omx/RtspExtractor.cpp
rename : content/media/omx/RtspExtractor.h => dom/media/omx/RtspExtractor.h
rename : content/media/omx/RtspMediaCodecDecoder.cpp => dom/media/omx/RtspMediaCodecDecoder.cpp
rename : content/media/omx/RtspMediaCodecDecoder.h => dom/media/omx/RtspMediaCodecDecoder.h
rename : content/media/omx/RtspMediaCodecReader.cpp => dom/media/omx/RtspMediaCodecReader.cpp
rename : content/media/omx/RtspMediaCodecReader.h => dom/media/omx/RtspMediaCodecReader.h
rename : content/media/omx/RtspOmxDecoder.cpp => dom/media/omx/RtspOmxDecoder.cpp
rename : content/media/omx/RtspOmxDecoder.h => dom/media/omx/RtspOmxDecoder.h
rename : content/media/omx/RtspOmxReader.cpp => dom/media/omx/RtspOmxReader.cpp
rename : content/media/omx/RtspOmxReader.h => dom/media/omx/RtspOmxReader.h
rename : content/media/omx/mediaresourcemanager/IMediaResourceManagerClient.cpp => dom/media/omx/mediaresourcemanager/IMediaResourceManagerClient.cpp
rename : content/media/omx/mediaresourcemanager/IMediaResourceManagerClient.h => dom/media/omx/mediaresourcemanager/IMediaResourceManagerClient.h
rename : content/media/omx/mediaresourcemanager/IMediaResourceManagerDeathNotifier.cpp => dom/media/omx/mediaresourcemanager/IMediaResourceManagerDeathNotifier.cpp
rename : content/media/omx/mediaresourcemanager/IMediaResourceManagerDeathNotifier.h => dom/media/omx/mediaresourcemanager/IMediaResourceManagerDeathNotifier.h
rename : content/media/omx/mediaresourcemanager/IMediaResourceManagerService.cpp => dom/media/omx/mediaresourcemanager/IMediaResourceManagerService.cpp
rename : content/media/omx/mediaresourcemanager/IMediaResourceManagerService.h => dom/media/omx/mediaresourcemanager/IMediaResourceManagerService.h
rename : content/media/omx/mediaresourcemanager/MediaResourceHandler.cpp => dom/media/omx/mediaresourcemanager/MediaResourceHandler.cpp
rename : content/media/omx/mediaresourcemanager/MediaResourceHandler.h => dom/media/omx/mediaresourcemanager/MediaResourceHandler.h
rename : content/media/omx/mediaresourcemanager/MediaResourceManagerClient.cpp => dom/media/omx/mediaresourcemanager/MediaResourceManagerClient.cpp
rename : content/media/omx/mediaresourcemanager/MediaResourceManagerClient.h => dom/media/omx/mediaresourcemanager/MediaResourceManagerClient.h
rename : content/media/omx/mediaresourcemanager/MediaResourceManagerService.cpp => dom/media/omx/mediaresourcemanager/MediaResourceManagerService.cpp
rename : content/media/omx/mediaresourcemanager/MediaResourceManagerService.h => dom/media/omx/mediaresourcemanager/MediaResourceManagerService.h
rename : content/media/omx/mediaresourcemanager/moz.build => dom/media/omx/mediaresourcemanager/moz.build
rename : content/media/omx/moz.build => dom/media/omx/moz.build
rename : content/media/raw/RawDecoder.cpp => dom/media/raw/RawDecoder.cpp
rename : content/media/raw/RawDecoder.h => dom/media/raw/RawDecoder.h
rename : content/media/raw/RawReader.cpp => dom/media/raw/RawReader.cpp
rename : content/media/raw/RawReader.h => dom/media/raw/RawReader.h
rename : content/media/raw/RawStructs.h => dom/media/raw/RawStructs.h
rename : content/media/raw/moz.build => dom/media/raw/moz.build
rename : content/media/systemservices/LoadManager.cpp => dom/media/systemservices/LoadManager.cpp
rename : content/media/systemservices/LoadManager.h => dom/media/systemservices/LoadManager.h
rename : content/media/systemservices/LoadManagerFactory.cpp => dom/media/systemservices/LoadManagerFactory.cpp
rename : content/media/systemservices/LoadManagerFactory.h => dom/media/systemservices/LoadManagerFactory.h
rename : content/media/systemservices/LoadMonitor.cpp => dom/media/systemservices/LoadMonitor.cpp
rename : content/media/systemservices/LoadMonitor.h => dom/media/systemservices/LoadMonitor.h
rename : content/media/systemservices/OSXRunLoopSingleton.cpp => dom/media/systemservices/OSXRunLoopSingleton.cpp
rename : content/media/systemservices/OSXRunLoopSingleton.h => dom/media/systemservices/OSXRunLoopSingleton.h
rename : content/media/systemservices/OpenSLESProvider.cpp => dom/media/systemservices/OpenSLESProvider.cpp
rename : content/media/systemservices/OpenSLESProvider.h => dom/media/systemservices/OpenSLESProvider.h
rename : content/media/systemservices/moz.build => dom/media/systemservices/moz.build
rename : content/media/test/320x240.ogv => dom/media/test/320x240.ogv
rename : content/media/test/320x240.ogv^headers^ => dom/media/test/320x240.ogv^headers^
rename : content/media/test/448636.ogv => dom/media/test/448636.ogv
rename : content/media/test/448636.ogv^headers^ => dom/media/test/448636.ogv^headers^
rename : content/media/test/VID_0001.ogg => dom/media/test/VID_0001.ogg
rename : content/media/test/VID_0001.ogg^headers^ => dom/media/test/VID_0001.ogg^headers^
rename : content/media/test/allowed.sjs => dom/media/test/allowed.sjs
rename : content/media/test/audio-gaps.ogg => dom/media/test/audio-gaps.ogg
rename : content/media/test/audio-gaps.ogg^headers^ => dom/media/test/audio-gaps.ogg^headers^
rename : content/media/test/audio-overhang.ogg => dom/media/test/audio-overhang.ogg
rename : content/media/test/audio-overhang.ogg^headers^ => dom/media/test/audio-overhang.ogg^headers^
rename : content/media/test/audio.wav => dom/media/test/audio.wav
rename : content/media/test/audio.wav^headers^ => dom/media/test/audio.wav^headers^
rename : content/media/test/bad-signature.vtt => dom/media/test/bad-signature.vtt
rename : content/media/test/badtags.ogg => dom/media/test/badtags.ogg
rename : content/media/test/badtags.ogg^headers^ => dom/media/test/badtags.ogg^headers^
rename : content/media/test/basic.vtt => dom/media/test/basic.vtt
rename : content/media/test/beta-phrasebook.ogg => dom/media/test/beta-phrasebook.ogg
rename : content/media/test/beta-phrasebook.ogg^headers^ => dom/media/test/beta-phrasebook.ogg^headers^
rename : content/media/test/big.wav => dom/media/test/big.wav
rename : content/media/test/big.wav^headers^ => dom/media/test/big.wav^headers^
rename : content/media/test/bogus.duh => dom/media/test/bogus.duh
rename : content/media/test/bogus.ogv => dom/media/test/bogus.ogv
rename : content/media/test/bogus.ogv^headers^ => dom/media/test/bogus.ogv^headers^
rename : content/media/test/bogus.wav => dom/media/test/bogus.wav
rename : content/media/test/bogus.wav^headers^ => dom/media/test/bogus.wav^headers^
rename : content/media/test/bug1066943.webm => dom/media/test/bug1066943.webm
rename : content/media/test/bug1066943.webm^headers^ => dom/media/test/bug1066943.webm^headers^
rename : content/media/test/bug461281.ogg => dom/media/test/bug461281.ogg
rename : content/media/test/bug461281.ogg^headers^ => dom/media/test/bug461281.ogg^headers^
rename : content/media/test/bug482461-theora.ogv => dom/media/test/bug482461-theora.ogv
rename : content/media/test/bug482461-theora.ogv^headers^ => dom/media/test/bug482461-theora.ogv^headers^
rename : content/media/test/bug482461.ogv => dom/media/test/bug482461.ogv
rename : content/media/test/bug482461.ogv^headers^ => dom/media/test/bug482461.ogv^headers^
rename : content/media/test/bug495129.ogv => dom/media/test/bug495129.ogv
rename : content/media/test/bug495129.ogv^headers^ => dom/media/test/bug495129.ogv^headers^
rename : content/media/test/bug495794.ogg => dom/media/test/bug495794.ogg
rename : content/media/test/bug495794.ogg^headers^ => dom/media/test/bug495794.ogg^headers^
rename : content/media/test/bug498380.ogv => dom/media/test/bug498380.ogv
rename : content/media/test/bug498380.ogv^headers^ => dom/media/test/bug498380.ogv^headers^
rename : content/media/test/bug498855-1.ogv => dom/media/test/bug498855-1.ogv
rename : content/media/test/bug498855-1.ogv^headers^ => dom/media/test/bug498855-1.ogv^headers^
rename : content/media/test/bug498855-2.ogv => dom/media/test/bug498855-2.ogv
rename : content/media/test/bug498855-2.ogv^headers^ => dom/media/test/bug498855-2.ogv^headers^
rename : content/media/test/bug498855-3.ogv => dom/media/test/bug498855-3.ogv
rename : content/media/test/bug498855-3.ogv^headers^ => dom/media/test/bug498855-3.ogv^headers^
rename : content/media/test/bug499519.ogv => dom/media/test/bug499519.ogv
rename : content/media/test/bug499519.ogv^headers^ => dom/media/test/bug499519.ogv^headers^
rename : content/media/test/bug500311.ogv => dom/media/test/bug500311.ogv
rename : content/media/test/bug500311.ogv^headers^ => dom/media/test/bug500311.ogv^headers^
rename : content/media/test/bug501279.ogg => dom/media/test/bug501279.ogg
rename : content/media/test/bug501279.ogg^headers^ => dom/media/test/bug501279.ogg^headers^
rename : content/media/test/bug504613.ogv => dom/media/test/bug504613.ogv
rename : content/media/test/bug504613.ogv^headers^ => dom/media/test/bug504613.ogv^headers^
rename : content/media/test/bug504644.ogv => dom/media/test/bug504644.ogv
rename : content/media/test/bug504644.ogv^headers^ => dom/media/test/bug504644.ogv^headers^
rename : content/media/test/bug504843.ogv => dom/media/test/bug504843.ogv
rename : content/media/test/bug504843.ogv^headers^ => dom/media/test/bug504843.ogv^headers^
rename : content/media/test/bug506094.ogv => dom/media/test/bug506094.ogv
rename : content/media/test/bug506094.ogv^headers^ => dom/media/test/bug506094.ogv^headers^
rename : content/media/test/bug516323.indexed.ogv => dom/media/test/bug516323.indexed.ogv
rename : content/media/test/bug516323.indexed.ogv^headers^ => dom/media/test/bug516323.indexed.ogv^headers^
rename : content/media/test/bug516323.ogv => dom/media/test/bug516323.ogv
rename : content/media/test/bug516323.ogv^headers^ => dom/media/test/bug516323.ogv^headers^
rename : content/media/test/bug520493.ogg => dom/media/test/bug520493.ogg
rename : content/media/test/bug520493.ogg^headers^ => dom/media/test/bug520493.ogg^headers^
rename : content/media/test/bug520500.ogg => dom/media/test/bug520500.ogg
rename : content/media/test/bug520500.ogg^headers^ => dom/media/test/bug520500.ogg^headers^
rename : content/media/test/bug520908.ogv => dom/media/test/bug520908.ogv
rename : content/media/test/bug520908.ogv^headers^ => dom/media/test/bug520908.ogv^headers^
rename : content/media/test/bug523816.ogv => dom/media/test/bug523816.ogv
rename : content/media/test/bug523816.ogv^headers^ => dom/media/test/bug523816.ogv^headers^
rename : content/media/test/bug533822.ogg => dom/media/test/bug533822.ogg
rename : content/media/test/bug533822.ogg^headers^ => dom/media/test/bug533822.ogg^headers^
rename : content/media/test/bug556821.ogv => dom/media/test/bug556821.ogv
rename : content/media/test/bug556821.ogv^headers^ => dom/media/test/bug556821.ogv^headers^
rename : content/media/test/bug557094.ogv => dom/media/test/bug557094.ogv
rename : content/media/test/bug557094.ogv^headers^ => dom/media/test/bug557094.ogv^headers^
rename : content/media/test/bug580982.webm => dom/media/test/bug580982.webm
rename : content/media/test/bug580982.webm^headers^ => dom/media/test/bug580982.webm^headers^
rename : content/media/test/bug603918.webm => dom/media/test/bug603918.webm
rename : content/media/test/bug603918.webm^headers^ => dom/media/test/bug603918.webm^headers^
rename : content/media/test/bug604067.webm => dom/media/test/bug604067.webm
rename : content/media/test/bug604067.webm^headers^ => dom/media/test/bug604067.webm^headers^
rename : content/media/test/bug883173.vtt => dom/media/test/bug883173.vtt
rename : content/media/test/can_play_type_dash.js => dom/media/test/can_play_type_dash.js
rename : content/media/test/can_play_type_ogg.js => dom/media/test/can_play_type_ogg.js
rename : content/media/test/can_play_type_wave.js => dom/media/test/can_play_type_wave.js
rename : content/media/test/can_play_type_webm.js => dom/media/test/can_play_type_webm.js
rename : content/media/test/cancellable_request.sjs => dom/media/test/cancellable_request.sjs
rename : content/media/test/chain.ogg => dom/media/test/chain.ogg
rename : content/media/test/chain.ogg^headers^ => dom/media/test/chain.ogg^headers^
rename : content/media/test/chain.ogv => dom/media/test/chain.ogv
rename : content/media/test/chain.ogv^headers^ => dom/media/test/chain.ogv^headers^
rename : content/media/test/chain.opus => dom/media/test/chain.opus
rename : content/media/test/chain.opus^headers^ => dom/media/test/chain.opus^headers^
rename : content/media/test/chained-audio-video.ogg => dom/media/test/chained-audio-video.ogg
rename : content/media/test/chained-audio-video.ogg^headers^ => dom/media/test/chained-audio-video.ogg^headers^
rename : content/media/test/chained-video.ogv => dom/media/test/chained-video.ogv
rename : content/media/test/chained-video.ogv^headers^ => dom/media/test/chained-video.ogv^headers^
rename : content/media/test/chrome.ini => dom/media/test/chrome.ini
rename : content/media/test/contentDuration1.sjs => dom/media/test/contentDuration1.sjs
rename : content/media/test/contentDuration2.sjs => dom/media/test/contentDuration2.sjs
rename : content/media/test/contentDuration3.sjs => dom/media/test/contentDuration3.sjs
rename : content/media/test/contentDuration4.sjs => dom/media/test/contentDuration4.sjs
rename : content/media/test/contentDuration5.sjs => dom/media/test/contentDuration5.sjs
rename : content/media/test/contentDuration6.sjs => dom/media/test/contentDuration6.sjs
rename : content/media/test/contentDuration7.sjs => dom/media/test/contentDuration7.sjs
rename : content/media/test/contentType.sjs => dom/media/test/contentType.sjs
rename : content/media/test/crashtests/0-timescale.html => dom/media/test/crashtests/0-timescale.html
rename : content/media/test/crashtests/0-timescale.mp4 => dom/media/test/crashtests/0-timescale.mp4
rename : content/media/test/crashtests/1015662.html => dom/media/test/crashtests/1015662.html
rename : content/media/test/crashtests/1028458.html => dom/media/test/crashtests/1028458.html
rename : content/media/test/crashtests/1080986.html => dom/media/test/crashtests/1080986.html
rename : content/media/test/crashtests/1080986.wav => dom/media/test/crashtests/1080986.wav
rename : content/media/test/crashtests/459439-1.html => dom/media/test/crashtests/459439-1.html
rename : content/media/test/crashtests/466607-1.html => dom/media/test/crashtests/466607-1.html
rename : content/media/test/crashtests/466945-1.html => dom/media/test/crashtests/466945-1.html
rename : content/media/test/crashtests/468763-1.html => dom/media/test/crashtests/468763-1.html
rename : content/media/test/crashtests/474744-1.html => dom/media/test/crashtests/474744-1.html
rename : content/media/test/crashtests/481136-1.html => dom/media/test/crashtests/481136-1.html
rename : content/media/test/crashtests/492286-1.xhtml => dom/media/test/crashtests/492286-1.xhtml
rename : content/media/test/crashtests/493915-1.html => dom/media/test/crashtests/493915-1.html
rename : content/media/test/crashtests/495794-1.html => dom/media/test/crashtests/495794-1.html
rename : content/media/test/crashtests/495794-1.ogg => dom/media/test/crashtests/495794-1.ogg
rename : content/media/test/crashtests/576612-1.html => dom/media/test/crashtests/576612-1.html
rename : content/media/test/crashtests/691096-1.html => dom/media/test/crashtests/691096-1.html
rename : content/media/test/crashtests/752784-1.html => dom/media/test/crashtests/752784-1.html
rename : content/media/test/crashtests/789075-1.html => dom/media/test/crashtests/789075-1.html
rename : content/media/test/crashtests/789075.webm => dom/media/test/crashtests/789075.webm
rename : content/media/test/crashtests/795892-1.html => dom/media/test/crashtests/795892-1.html
rename : content/media/test/crashtests/844563.html => dom/media/test/crashtests/844563.html
rename : content/media/test/crashtests/846612.html => dom/media/test/crashtests/846612.html
rename : content/media/test/crashtests/852838.html => dom/media/test/crashtests/852838.html
rename : content/media/test/crashtests/865537-1.html => dom/media/test/crashtests/865537-1.html
rename : content/media/test/crashtests/868504.html => dom/media/test/crashtests/868504.html
rename : content/media/test/crashtests/874869.html => dom/media/test/crashtests/874869.html
rename : content/media/test/crashtests/874915.html => dom/media/test/crashtests/874915.html
rename : content/media/test/crashtests/874934.html => dom/media/test/crashtests/874934.html
rename : content/media/test/crashtests/874952.html => dom/media/test/crashtests/874952.html
rename : content/media/test/crashtests/875144.html => dom/media/test/crashtests/875144.html
rename : content/media/test/crashtests/875596.html => dom/media/test/crashtests/875596.html
rename : content/media/test/crashtests/875911.html => dom/media/test/crashtests/875911.html
rename : content/media/test/crashtests/876024-1.html => dom/media/test/crashtests/876024-1.html
rename : content/media/test/crashtests/876024-2.html => dom/media/test/crashtests/876024-2.html
rename : content/media/test/crashtests/876118.html => dom/media/test/crashtests/876118.html
rename : content/media/test/crashtests/876207.html => dom/media/test/crashtests/876207.html
rename : content/media/test/crashtests/876215.html => dom/media/test/crashtests/876215.html
rename : content/media/test/crashtests/876249.html => dom/media/test/crashtests/876249.html
rename : content/media/test/crashtests/876252.html => dom/media/test/crashtests/876252.html
rename : content/media/test/crashtests/876834.html => dom/media/test/crashtests/876834.html
rename : content/media/test/crashtests/877527.html => dom/media/test/crashtests/877527.html
rename : content/media/test/crashtests/877820.html => dom/media/test/crashtests/877820.html
rename : content/media/test/crashtests/878014.html => dom/media/test/crashtests/878014.html
rename : content/media/test/crashtests/878328.html => dom/media/test/crashtests/878328.html
rename : content/media/test/crashtests/878407.html => dom/media/test/crashtests/878407.html
rename : content/media/test/crashtests/878478.html => dom/media/test/crashtests/878478.html
rename : content/media/test/crashtests/880129.html => dom/media/test/crashtests/880129.html
rename : content/media/test/crashtests/880202.html => dom/media/test/crashtests/880202.html
rename : content/media/test/crashtests/880342-1.html => dom/media/test/crashtests/880342-1.html
rename : content/media/test/crashtests/880342-2.html => dom/media/test/crashtests/880342-2.html
rename : content/media/test/crashtests/880384.html => dom/media/test/crashtests/880384.html
rename : content/media/test/crashtests/880404.html => dom/media/test/crashtests/880404.html
rename : content/media/test/crashtests/880724.html => dom/media/test/crashtests/880724.html
rename : content/media/test/crashtests/881775.html => dom/media/test/crashtests/881775.html
rename : content/media/test/crashtests/882549.html => dom/media/test/crashtests/882549.html
rename : content/media/test/crashtests/882956.html => dom/media/test/crashtests/882956.html
rename : content/media/test/crashtests/884459.html => dom/media/test/crashtests/884459.html
rename : content/media/test/crashtests/889042.html => dom/media/test/crashtests/889042.html
rename : content/media/test/crashtests/894104.html => dom/media/test/crashtests/894104.html
rename : content/media/test/crashtests/907986-1.html => dom/media/test/crashtests/907986-1.html
rename : content/media/test/crashtests/907986-2.html => dom/media/test/crashtests/907986-2.html
rename : content/media/test/crashtests/907986-3.html => dom/media/test/crashtests/907986-3.html
rename : content/media/test/crashtests/907986-4.html => dom/media/test/crashtests/907986-4.html
rename : content/media/test/crashtests/910171-1.html => dom/media/test/crashtests/910171-1.html
rename : content/media/test/crashtests/920987.html => dom/media/test/crashtests/920987.html
rename : content/media/test/crashtests/925619-1.html => dom/media/test/crashtests/925619-1.html
rename : content/media/test/crashtests/925619-2.html => dom/media/test/crashtests/925619-2.html
rename : content/media/test/crashtests/926619.html => dom/media/test/crashtests/926619.html
rename : content/media/test/crashtests/933151.html => dom/media/test/crashtests/933151.html
rename : content/media/test/crashtests/933156.html => dom/media/test/crashtests/933156.html
rename : content/media/test/crashtests/944851.html => dom/media/test/crashtests/944851.html
rename : content/media/test/crashtests/952756.html => dom/media/test/crashtests/952756.html
rename : content/media/test/crashtests/966636.html => dom/media/test/crashtests/966636.html
rename : content/media/test/crashtests/986901.html => dom/media/test/crashtests/986901.html
rename : content/media/test/crashtests/990794.html => dom/media/test/crashtests/990794.html
rename : content/media/test/crashtests/buffer-source-ended-1.html => dom/media/test/crashtests/buffer-source-ended-1.html
rename : content/media/test/crashtests/cors.webm => dom/media/test/crashtests/cors.webm
rename : content/media/test/crashtests/cors.webm^headers^ => dom/media/test/crashtests/cors.webm^headers^
rename : content/media/test/crashtests/crashtests.list => dom/media/test/crashtests/crashtests.list
rename : content/media/test/crashtests/media-element-source-seek-1.html => dom/media/test/crashtests/media-element-source-seek-1.html
rename : content/media/test/crashtests/offline-buffer-source-ended-1.html => dom/media/test/crashtests/offline-buffer-source-ended-1.html
rename : content/media/test/crashtests/oscillator-ended-1.html => dom/media/test/crashtests/oscillator-ended-1.html
rename : content/media/test/crashtests/oscillator-ended-2.html => dom/media/test/crashtests/oscillator-ended-2.html
rename : content/media/test/crashtests/sound.ogg => dom/media/test/crashtests/sound.ogg
rename : content/media/test/dash/dash-manifest-garbled-webm.mpd => dom/media/test/dash/dash-manifest-garbled-webm.mpd
rename : content/media/test/dash/dash-manifest-garbled.mpd => dom/media/test/dash/dash-manifest-garbled.mpd
rename : content/media/test/dash/dash-manifest-sjs.mpd => dom/media/test/dash/dash-manifest-sjs.mpd
rename : content/media/test/dash/dash-manifest.mpd => dom/media/test/dash/dash-manifest.mpd
rename : content/media/test/dash/dash-webm-audio-128k.webm => dom/media/test/dash/dash-webm-audio-128k.webm
rename : content/media/test/dash/dash-webm-video-320x180.webm => dom/media/test/dash/dash-webm-video-320x180.webm
rename : content/media/test/dash/dash-webm-video-428x240.webm => dom/media/test/dash/dash-webm-video-428x240.webm
rename : content/media/test/dash/garbled.webm => dom/media/test/dash/garbled.webm
rename : content/media/test/dash_detect_stream_switch.sjs => dom/media/test/dash_detect_stream_switch.sjs
rename : content/media/test/detodos.opus => dom/media/test/detodos.opus
rename : content/media/test/detodos.opus^headers^ => dom/media/test/detodos.opus^headers^
rename : content/media/test/detodos.webm => dom/media/test/detodos.webm
rename : content/media/test/detodos.webm^headers^ => dom/media/test/detodos.webm^headers^
rename : content/media/test/dirac.ogg => dom/media/test/dirac.ogg
rename : content/media/test/dirac.ogg^headers^ => dom/media/test/dirac.ogg^headers^
rename : content/media/test/dynamic_redirect.sjs => dom/media/test/dynamic_redirect.sjs
rename : content/media/test/dynamic_resource.sjs => dom/media/test/dynamic_resource.sjs
rename : content/media/test/file_access_controls.html => dom/media/test/file_access_controls.html
rename : content/media/test/fragment_noplay.js => dom/media/test/fragment_noplay.js
rename : content/media/test/fragment_play.js => dom/media/test/fragment_play.js
rename : content/media/test/gizmo-frag-cenc.xml => dom/media/test/gizmo-frag-cenc.xml
rename : content/media/test/gizmo-frag-cenc1.m4s => dom/media/test/gizmo-frag-cenc1.m4s
rename : content/media/test/gizmo-frag-cenc2.m4s => dom/media/test/gizmo-frag-cenc2.m4s
rename : content/media/test/gizmo-frag-cencinit.mp4 => dom/media/test/gizmo-frag-cencinit.mp4
rename : content/media/test/gizmo.mp4 => dom/media/test/gizmo.mp4
rename : content/media/test/gizmo.mp4^headers^ => dom/media/test/gizmo.mp4^headers^
rename : content/media/test/graph_latency.py => dom/media/test/graph_latency.py
rename : content/media/test/huge-id3.mp3 => dom/media/test/huge-id3.mp3
rename : content/media/test/huge-id3.mp3^headers^ => dom/media/test/huge-id3.mp3^headers^
rename : content/media/test/id3tags.mp3 => dom/media/test/id3tags.mp3
rename : content/media/test/id3tags.mp3^headers^ => dom/media/test/id3tags.mp3^headers^
rename : content/media/test/invalid-cmap-s0c0.opus => dom/media/test/invalid-cmap-s0c0.opus
rename : content/media/test/invalid-cmap-s0c0.opus^headers^ => dom/media/test/invalid-cmap-s0c0.opus^headers^
rename : content/media/test/invalid-cmap-s0c2.opus => dom/media/test/invalid-cmap-s0c2.opus
rename : content/media/test/invalid-cmap-s0c2.opus^headers^ => dom/media/test/invalid-cmap-s0c2.opus^headers^
rename : content/media/test/invalid-cmap-s1c2.opus => dom/media/test/invalid-cmap-s1c2.opus
rename : content/media/test/invalid-cmap-s1c2.opus^headers^ => dom/media/test/invalid-cmap-s1c2.opus^headers^
rename : content/media/test/invalid-cmap-short.opus => dom/media/test/invalid-cmap-short.opus
rename : content/media/test/invalid-cmap-short.opus^headers^ => dom/media/test/invalid-cmap-short.opus^headers^
rename : content/media/test/invalid-discard_on_multi_blocks.webm => dom/media/test/invalid-discard_on_multi_blocks.webm
rename : content/media/test/invalid-discard_on_multi_blocks.webm^headers^ => dom/media/test/invalid-discard_on_multi_blocks.webm^headers^
rename : content/media/test/invalid-excess_discard.webm => dom/media/test/invalid-excess_discard.webm
rename : content/media/test/invalid-excess_discard.webm^headers^ => dom/media/test/invalid-excess_discard.webm^headers^
rename : content/media/test/invalid-excess_neg_discard.webm => dom/media/test/invalid-excess_neg_discard.webm
rename : content/media/test/invalid-excess_neg_discard.webm^headers^ => dom/media/test/invalid-excess_neg_discard.webm^headers^
rename : content/media/test/invalid-m0c0.opus => dom/media/test/invalid-m0c0.opus
rename : content/media/test/invalid-m0c0.opus^headers^ => dom/media/test/invalid-m0c0.opus^headers^
rename : content/media/test/invalid-m0c3.opus => dom/media/test/invalid-m0c3.opus
rename : content/media/test/invalid-m0c3.opus^headers^ => dom/media/test/invalid-m0c3.opus^headers^
rename : content/media/test/invalid-m1c0.opus => dom/media/test/invalid-m1c0.opus
rename : content/media/test/invalid-m1c0.opus^headers^ => dom/media/test/invalid-m1c0.opus^headers^
rename : content/media/test/invalid-m1c9.opus => dom/media/test/invalid-m1c9.opus
rename : content/media/test/invalid-m1c9.opus^headers^ => dom/media/test/invalid-m1c9.opus^headers^
rename : content/media/test/invalid-m2c0.opus => dom/media/test/invalid-m2c0.opus
rename : content/media/test/invalid-m2c0.opus^headers^ => dom/media/test/invalid-m2c0.opus^headers^
rename : content/media/test/invalid-m2c1.opus => dom/media/test/invalid-m2c1.opus
rename : content/media/test/invalid-m2c1.opus^headers^ => dom/media/test/invalid-m2c1.opus^headers^
rename : content/media/test/invalid-neg_discard.webm => dom/media/test/invalid-neg_discard.webm
rename : content/media/test/invalid-neg_discard.webm^headers^ => dom/media/test/invalid-neg_discard.webm^headers^
rename : content/media/test/invalid-preskip.webm => dom/media/test/invalid-preskip.webm
rename : content/media/test/invalid-preskip.webm^headers^ => dom/media/test/invalid-preskip.webm^headers^
rename : content/media/test/long.vtt => dom/media/test/long.vtt
rename : content/media/test/make-headers.sh => dom/media/test/make-headers.sh
rename : content/media/test/manifest.js => dom/media/test/manifest.js
rename : content/media/test/mochitest.ini => dom/media/test/mochitest.ini
rename : content/media/test/multiple-bos-more-header-fileds.ogg => dom/media/test/multiple-bos-more-header-fileds.ogg
rename : content/media/test/multiple-bos-more-header-fileds.ogg^headers^ => dom/media/test/multiple-bos-more-header-fileds.ogg^headers^
rename : content/media/test/multiple-bos.ogg => dom/media/test/multiple-bos.ogg
rename : content/media/test/multiple-bos.ogg^headers^ => dom/media/test/multiple-bos.ogg^headers^
rename : content/media/test/no-cues.webm => dom/media/test/no-cues.webm
rename : content/media/test/no-cues.webm^headers^ => dom/media/test/no-cues.webm^headers^
rename : content/media/test/noContentLength.sjs => dom/media/test/noContentLength.sjs
rename : content/media/test/notags.mp3 => dom/media/test/notags.mp3
rename : content/media/test/notags.mp3^headers^ => dom/media/test/notags.mp3^headers^
rename : content/media/test/owl-funnier-id3.mp3 => dom/media/test/owl-funnier-id3.mp3
rename : content/media/test/owl-funnier-id3.mp3^headers^ => dom/media/test/owl-funnier-id3.mp3^headers^
rename : content/media/test/owl-funny-id3.mp3 => dom/media/test/owl-funny-id3.mp3
rename : content/media/test/owl-funny-id3.mp3^headers^ => dom/media/test/owl-funny-id3.mp3^headers^
rename : content/media/test/owl.mp3 => dom/media/test/owl.mp3
rename : content/media/test/owl.mp3^headers^ => dom/media/test/owl.mp3^headers^
rename : content/media/test/parser.vtt => dom/media/test/parser.vtt
rename : content/media/test/pixel_aspect_ratio.mp4 => dom/media/test/pixel_aspect_ratio.mp4
rename : content/media/test/r11025_msadpcm_c1.wav => dom/media/test/r11025_msadpcm_c1.wav
rename : content/media/test/r11025_msadpcm_c1.wav^headers^ => dom/media/test/r11025_msadpcm_c1.wav^headers^
rename : content/media/test/r11025_s16_c1.wav => dom/media/test/r11025_s16_c1.wav
rename : content/media/test/r11025_s16_c1.wav^headers^ => dom/media/test/r11025_s16_c1.wav^headers^
rename : content/media/test/r11025_s16_c1_trailing.wav => dom/media/test/r11025_s16_c1_trailing.wav
rename : content/media/test/r11025_s16_c1_trailing.wav^headers^ => dom/media/test/r11025_s16_c1_trailing.wav^headers^
rename : content/media/test/r11025_u8_c1.wav => dom/media/test/r11025_u8_c1.wav
rename : content/media/test/r11025_u8_c1.wav^headers^ => dom/media/test/r11025_u8_c1.wav^headers^
rename : content/media/test/r11025_u8_c1_trunc.wav => dom/media/test/r11025_u8_c1_trunc.wav
rename : content/media/test/r11025_u8_c1_trunc.wav^headers^ => dom/media/test/r11025_u8_c1_trunc.wav^headers^
rename : content/media/test/r16000_u8_c1_list.wav => dom/media/test/r16000_u8_c1_list.wav
rename : content/media/test/r16000_u8_c1_list.wav^headers^ => dom/media/test/r16000_u8_c1_list.wav^headers^
rename : content/media/test/reactivate_helper.html => dom/media/test/reactivate_helper.html
rename : content/media/test/redirect.sjs => dom/media/test/redirect.sjs
rename : content/media/test/referer.sjs => dom/media/test/referer.sjs
rename : content/media/test/region.vtt => dom/media/test/region.vtt
rename : content/media/test/sample-fisbone-skeleton4.ogv => dom/media/test/sample-fisbone-skeleton4.ogv
rename : content/media/test/sample-fisbone-skeleton4.ogv^headers^ => dom/media/test/sample-fisbone-skeleton4.ogv^headers^
rename : content/media/test/sample-fisbone-wrong-header.ogv => dom/media/test/sample-fisbone-wrong-header.ogv
rename : content/media/test/sample-fisbone-wrong-header.ogv^headers^ => dom/media/test/sample-fisbone-wrong-header.ogv^headers^
rename : content/media/test/sample.3g2 => dom/media/test/sample.3g2
rename : content/media/test/sample.3gp => dom/media/test/sample.3gp
rename : content/media/test/seek.ogv => dom/media/test/seek.ogv
rename : content/media/test/seek.ogv^headers^ => dom/media/test/seek.ogv^headers^
rename : content/media/test/seek.webm => dom/media/test/seek.webm
rename : content/media/test/seek.webm^headers^ => dom/media/test/seek.webm^headers^
rename : content/media/test/seek.yuv => dom/media/test/seek.yuv
rename : content/media/test/seekLies.sjs => dom/media/test/seekLies.sjs
rename : content/media/test/seek_support.js => dom/media/test/seek_support.js
rename : content/media/test/seek_with_sound.ogg => dom/media/test/seek_with_sound.ogg
rename : content/media/test/seek_with_sound.ogg^headers^ => dom/media/test/seek_with_sound.ogg^headers^
rename : content/media/test/short-cenc.mp4 => dom/media/test/short-cenc.mp4
rename : content/media/test/short-cenc.xml => dom/media/test/short-cenc.xml
rename : content/media/test/short-video.ogv => dom/media/test/short-video.ogv
rename : content/media/test/short-video.ogv^headers^ => dom/media/test/short-video.ogv^headers^
rename : content/media/test/short.mp4 => dom/media/test/short.mp4
rename : content/media/test/small-shot-mp3.mp4 => dom/media/test/small-shot-mp3.mp4
rename : content/media/test/small-shot-mp3.mp4^headers^ => dom/media/test/small-shot-mp3.mp4^headers^
rename : content/media/test/small-shot.m4a => dom/media/test/small-shot.m4a
rename : content/media/test/small-shot.mp3 => dom/media/test/small-shot.mp3
rename : content/media/test/small-shot.mp3^headers^ => dom/media/test/small-shot.mp3^headers^
rename : content/media/test/small-shot.ogg => dom/media/test/small-shot.ogg
rename : content/media/test/small-shot.ogg^headers^ => dom/media/test/small-shot.ogg^headers^
rename : content/media/test/sound.ogg => dom/media/test/sound.ogg
rename : content/media/test/sound.ogg^headers^ => dom/media/test/sound.ogg^headers^
rename : content/media/test/spacestorm-1000Hz-100ms.ogg => dom/media/test/spacestorm-1000Hz-100ms.ogg
rename : content/media/test/spacestorm-1000Hz-100ms.ogg^headers^ => dom/media/test/spacestorm-1000Hz-100ms.ogg^headers^
rename : content/media/test/split.webm => dom/media/test/split.webm
rename : content/media/test/split.webm^headers^ => dom/media/test/split.webm^headers^
rename : content/media/test/street.mp4 => dom/media/test/street.mp4
rename : content/media/test/street.mp4^headers^ => dom/media/test/street.mp4^headers^
rename : content/media/test/test-1-mono.opus => dom/media/test/test-1-mono.opus
rename : content/media/test/test-1-mono.opus^headers^ => dom/media/test/test-1-mono.opus^headers^
rename : content/media/test/test-2-stereo.opus => dom/media/test/test-2-stereo.opus
rename : content/media/test/test-2-stereo.opus^headers^ => dom/media/test/test-2-stereo.opus^headers^
rename : content/media/test/test-3-LCR.opus => dom/media/test/test-3-LCR.opus
rename : content/media/test/test-3-LCR.opus^headers^ => dom/media/test/test-3-LCR.opus^headers^
rename : content/media/test/test-4-quad.opus => dom/media/test/test-4-quad.opus
rename : content/media/test/test-4-quad.opus^headers^ => dom/media/test/test-4-quad.opus^headers^
rename : content/media/test/test-5-5.0.opus => dom/media/test/test-5-5.0.opus
rename : content/media/test/test-5-5.0.opus^headers^ => dom/media/test/test-5-5.0.opus^headers^
rename : content/media/test/test-6-5.1.opus => dom/media/test/test-6-5.1.opus
rename : content/media/test/test-6-5.1.opus^headers^ => dom/media/test/test-6-5.1.opus^headers^
rename : content/media/test/test-7-6.1.opus => dom/media/test/test-7-6.1.opus
rename : content/media/test/test-7-6.1.opus^headers^ => dom/media/test/test-7-6.1.opus^headers^
rename : content/media/test/test-8-7.1.opus => dom/media/test/test-8-7.1.opus
rename : content/media/test/test-8-7.1.opus^headers^ => dom/media/test/test-8-7.1.opus^headers^
rename : content/media/test/test_VideoPlaybackQuality.html => dom/media/test/test_VideoPlaybackQuality.html
rename : content/media/test/test_VideoPlaybackQuality_disabled.html => dom/media/test/test_VideoPlaybackQuality_disabled.html
rename : content/media/test/test_access_control.html => dom/media/test/test_access_control.html
rename : content/media/test/test_aspectratio_mp4.html => dom/media/test/test_aspectratio_mp4.html
rename : content/media/test/test_audio1.html => dom/media/test/test_audio1.html
rename : content/media/test/test_audio2.html => dom/media/test/test_audio2.html
rename : content/media/test/test_audioDocumentTitle.html => dom/media/test/test_audioDocumentTitle.html
rename : content/media/test/test_autoplay.html => dom/media/test/test_autoplay.html
rename : content/media/test/test_autoplay_contentEditable.html => dom/media/test/test_autoplay_contentEditable.html
rename : content/media/test/test_buffered.html => dom/media/test/test_buffered.html
rename : content/media/test/test_bug1018933.html => dom/media/test/test_bug1018933.html
rename : content/media/test/test_bug448534.html => dom/media/test/test_bug448534.html
rename : content/media/test/test_bug463162.xhtml => dom/media/test/test_bug463162.xhtml
rename : content/media/test/test_bug465498.html => dom/media/test/test_bug465498.html
rename : content/media/test/test_bug493187.html => dom/media/test/test_bug493187.html
rename : content/media/test/test_bug495145.html => dom/media/test/test_bug495145.html
rename : content/media/test/test_bug495300.html => dom/media/test/test_bug495300.html
rename : content/media/test/test_bug654550.html => dom/media/test/test_bug654550.html
rename : content/media/test/test_bug686942.html => dom/media/test/test_bug686942.html
rename : content/media/test/test_bug726904.html => dom/media/test/test_bug726904.html
rename : content/media/test/test_bug874897.html => dom/media/test/test_bug874897.html
rename : content/media/test/test_bug883173.html => dom/media/test/test_bug883173.html
rename : content/media/test/test_bug895091.html => dom/media/test/test_bug895091.html
rename : content/media/test/test_bug895305.html => dom/media/test/test_bug895305.html
rename : content/media/test/test_bug919265.html => dom/media/test/test_bug919265.html
rename : content/media/test/test_bug957847.html => dom/media/test/test_bug957847.html
rename : content/media/test/test_can_play_type.html => dom/media/test/test_can_play_type.html
rename : content/media/test/test_can_play_type_mpeg.html => dom/media/test/test_can_play_type_mpeg.html
rename : content/media/test/test_can_play_type_no_ogg.html => dom/media/test/test_can_play_type_no_ogg.html
rename : content/media/test/test_can_play_type_no_wave.html => dom/media/test/test_can_play_type_no_wave.html
rename : content/media/test/test_can_play_type_no_webm.html => dom/media/test/test_can_play_type_no_webm.html
rename : content/media/test/test_can_play_type_ogg.html => dom/media/test/test_can_play_type_ogg.html
rename : content/media/test/test_can_play_type_wave.html => dom/media/test/test_can_play_type_wave.html
rename : content/media/test/test_can_play_type_webm.html => dom/media/test/test_can_play_type_webm.html
rename : content/media/test/test_chaining.html => dom/media/test/test_chaining.html
rename : content/media/test/test_clone_media_element.html => dom/media/test/test_clone_media_element.html
rename : content/media/test/test_closing_connections.html => dom/media/test/test_closing_connections.html
rename : content/media/test/test_constants.html => dom/media/test/test_constants.html
rename : content/media/test/test_contentDuration1.html => dom/media/test/test_contentDuration1.html
rename : content/media/test/test_contentDuration2.html => dom/media/test/test_contentDuration2.html
rename : content/media/test/test_contentDuration3.html => dom/media/test/test_contentDuration3.html
rename : content/media/test/test_contentDuration4.html => dom/media/test/test_contentDuration4.html
rename : content/media/test/test_contentDuration5.html => dom/media/test/test_contentDuration5.html
rename : content/media/test/test_contentDuration6.html => dom/media/test/test_contentDuration6.html
rename : content/media/test/test_contentDuration7.html => dom/media/test/test_contentDuration7.html
rename : content/media/test/test_controls.html => dom/media/test/test_controls.html
rename : content/media/test/test_currentTime.html => dom/media/test/test_currentTime.html
rename : content/media/test/test_decode_error.html => dom/media/test/test_decode_error.html
rename : content/media/test/test_decoder_disable.html => dom/media/test/test_decoder_disable.html
rename : content/media/test/test_defaultMuted.html => dom/media/test/test_defaultMuted.html
rename : content/media/test/test_delay_load.html => dom/media/test/test_delay_load.html
rename : content/media/test/test_encryptedMediaExtensions.html => dom/media/test/test_encryptedMediaExtensions.html
rename : content/media/test/test_error_in_video_document.html => dom/media/test/test_error_in_video_document.html
rename : content/media/test/test_error_on_404.html => dom/media/test/test_error_on_404.html
rename : content/media/test/test_fastSeek-forwards.html => dom/media/test/test_fastSeek-forwards.html
rename : content/media/test/test_fastSeek.html => dom/media/test/test_fastSeek.html
rename : content/media/test/test_fragment_noplay.html => dom/media/test/test_fragment_noplay.html
rename : content/media/test/test_fragment_play.html => dom/media/test/test_fragment_play.html
rename : content/media/test/test_imagecapture.html => dom/media/test/test_imagecapture.html
rename : content/media/test/test_info_leak.html => dom/media/test/test_info_leak.html
rename : content/media/test/test_invalid_reject.html => dom/media/test/test_invalid_reject.html
rename : content/media/test/test_invalid_reject_play.html => dom/media/test/test_invalid_reject_play.html
rename : content/media/test/test_invalid_seek.html => dom/media/test/test_invalid_seek.html
rename : content/media/test/test_load.html => dom/media/test/test_load.html
rename : content/media/test/test_load_candidates.html => dom/media/test/test_load_candidates.html
rename : content/media/test/test_load_same_resource.html => dom/media/test/test_load_same_resource.html
rename : content/media/test/test_load_source.html => dom/media/test/test_load_source.html
rename : content/media/test/test_loop.html => dom/media/test/test_loop.html
rename : content/media/test/test_media_selection.html => dom/media/test/test_media_selection.html
rename : content/media/test/test_media_sniffer.html => dom/media/test/test_media_sniffer.html
rename : content/media/test/test_mediarecorder_avoid_recursion.html => dom/media/test/test_mediarecorder_avoid_recursion.html
rename : content/media/test/test_mediarecorder_creation.html => dom/media/test/test_mediarecorder_creation.html
rename : content/media/test/test_mediarecorder_creation_fail.html => dom/media/test/test_mediarecorder_creation_fail.html
rename : content/media/test/test_mediarecorder_getencodeddata.html => dom/media/test/test_mediarecorder_getencodeddata.html
rename : content/media/test/test_mediarecorder_record_4ch_audiocontext.html => dom/media/test/test_mediarecorder_record_4ch_audiocontext.html
rename : content/media/test/test_mediarecorder_record_audiocontext.html => dom/media/test/test_mediarecorder_record_audiocontext.html
rename : content/media/test/test_mediarecorder_record_audiocontext_mlk.html => dom/media/test/test_mediarecorder_record_audiocontext_mlk.html
rename : content/media/test/test_mediarecorder_record_audionode.html => dom/media/test/test_mediarecorder_record_audionode.html
rename : content/media/test/test_mediarecorder_record_getdata_afterstart.html => dom/media/test/test_mediarecorder_record_getdata_afterstart.html
rename : content/media/test/test_mediarecorder_record_gum_video_timeslice.html => dom/media/test/test_mediarecorder_record_gum_video_timeslice.html
rename : content/media/test/test_mediarecorder_record_immediate_stop.html => dom/media/test/test_mediarecorder_record_immediate_stop.html
rename : content/media/test/test_mediarecorder_record_no_timeslice.html => dom/media/test/test_mediarecorder_record_no_timeslice.html
rename : content/media/test/test_mediarecorder_record_nosrc.html => dom/media/test/test_mediarecorder_record_nosrc.html
rename : content/media/test/test_mediarecorder_record_session.html => dom/media/test/test_mediarecorder_record_session.html
rename : content/media/test/test_mediarecorder_record_startstopstart.html => dom/media/test/test_mediarecorder_record_startstopstart.html
rename : content/media/test/test_mediarecorder_record_stopms.html => dom/media/test/test_mediarecorder_record_stopms.html
rename : content/media/test/test_mediarecorder_record_timeslice.html => dom/media/test/test_mediarecorder_record_timeslice.html
rename : content/media/test/test_mediarecorder_reload_crash.html => dom/media/test/test_mediarecorder_reload_crash.html
rename : content/media/test/test_mediarecorder_state_transition.html => dom/media/test/test_mediarecorder_state_transition.html
rename : content/media/test/test_mediarecorder_unsupported_src.html => dom/media/test/test_mediarecorder_unsupported_src.html
rename : content/media/test/test_mediatrack_consuming_mediaresource.html => dom/media/test/test_mediatrack_consuming_mediaresource.html
rename : content/media/test/test_mediatrack_consuming_mediastream.html => dom/media/test/test_mediatrack_consuming_mediastream.html
rename : content/media/test/test_mediatrack_events.html => dom/media/test/test_mediatrack_events.html
rename : content/media/test/test_mediatrack_parsing_ogg.html => dom/media/test/test_mediatrack_parsing_ogg.html
rename : content/media/test/test_mediatrack_replay_from_end.html => dom/media/test/test_mediatrack_replay_from_end.html
rename : content/media/test/test_metadata.html => dom/media/test/test_metadata.html
rename : content/media/test/test_mixed_principals.html => dom/media/test/test_mixed_principals.html
rename : content/media/test/test_mozHasAudio.html => dom/media/test/test_mozHasAudio.html
rename : content/media/test/test_networkState.html => dom/media/test/test_networkState.html
rename : content/media/test/test_new_audio.html => dom/media/test/test_new_audio.html
rename : content/media/test/test_no_load_event.html => dom/media/test/test_no_load_event.html
rename : content/media/test/test_paused.html => dom/media/test/test_paused.html
rename : content/media/test/test_paused_after_ended.html => dom/media/test/test_paused_after_ended.html
rename : content/media/test/test_play_events.html => dom/media/test/test_play_events.html
rename : content/media/test/test_play_events_2.html => dom/media/test/test_play_events_2.html
rename : content/media/test/test_play_twice.html => dom/media/test/test_play_twice.html
rename : content/media/test/test_playback.html => dom/media/test/test_playback.html
rename : content/media/test/test_playback_errors.html => dom/media/test/test_playback_errors.html
rename : content/media/test/test_playback_rate.html => dom/media/test/test_playback_rate.html
rename : content/media/test/test_playback_rate_playpause.html => dom/media/test/test_playback_rate_playpause.html
rename : content/media/test/test_played.html => dom/media/test/test_played.html
rename : content/media/test/test_preload_actions.html => dom/media/test/test_preload_actions.html
rename : content/media/test/test_preload_attribute.html => dom/media/test/test_preload_attribute.html
rename : content/media/test/test_preload_suspend.html => dom/media/test/test_preload_suspend.html
rename : content/media/test/test_progress.html => dom/media/test/test_progress.html
rename : content/media/test/test_reactivate.html => dom/media/test/test_reactivate.html
rename : content/media/test/test_readyState.html => dom/media/test/test_readyState.html
rename : content/media/test/test_referer.html => dom/media/test/test_referer.html
rename : content/media/test/test_replay_metadata.html => dom/media/test/test_replay_metadata.html
rename : content/media/test/test_reset_events_async.html => dom/media/test/test_reset_events_async.html
rename : content/media/test/test_reset_src.html => dom/media/test/test_reset_src.html
rename : content/media/test/test_resume.html => dom/media/test/test_resume.html
rename : content/media/test/test_seek-1.html => dom/media/test/test_seek-1.html
rename : content/media/test/test_seek-10.html => dom/media/test/test_seek-10.html
rename : content/media/test/test_seek-11.html => dom/media/test/test_seek-11.html
rename : content/media/test/test_seek-12.html => dom/media/test/test_seek-12.html
rename : content/media/test/test_seek-13.html => dom/media/test/test_seek-13.html
rename : content/media/test/test_seek-2.html => dom/media/test/test_seek-2.html
rename : content/media/test/test_seek-3.html => dom/media/test/test_seek-3.html
rename : content/media/test/test_seek-4.html => dom/media/test/test_seek-4.html
rename : content/media/test/test_seek-5.html => dom/media/test/test_seek-5.html
rename : content/media/test/test_seek-6.html => dom/media/test/test_seek-6.html
rename : content/media/test/test_seek-7.html => dom/media/test/test_seek-7.html
rename : content/media/test/test_seek-8.html => dom/media/test/test_seek-8.html
rename : content/media/test/test_seek-9.html => dom/media/test/test_seek-9.html
rename : content/media/test/test_seekLies.html => dom/media/test/test_seekLies.html
rename : content/media/test/test_seek_out_of_range.html => dom/media/test/test_seek_out_of_range.html
rename : content/media/test/test_seekable1.html => dom/media/test/test_seekable1.html
rename : content/media/test/test_seekable2.html => dom/media/test/test_seekable2.html
rename : content/media/test/test_seekable3.html => dom/media/test/test_seekable3.html
rename : content/media/test/test_source.html => dom/media/test/test_source.html
rename : content/media/test/test_source_media.html => dom/media/test/test_source_media.html
rename : content/media/test/test_source_null.html => dom/media/test/test_source_null.html
rename : content/media/test/test_source_write.html => dom/media/test/test_source_write.html
rename : content/media/test/test_standalone.html => dom/media/test/test_standalone.html
rename : content/media/test/test_streams_autoplay.html => dom/media/test/test_streams_autoplay.html
rename : content/media/test/test_streams_element_capture.html => dom/media/test/test_streams_element_capture.html
rename : content/media/test/test_streams_element_capture_createObjectURL.html => dom/media/test/test_streams_element_capture_createObjectURL.html
rename : content/media/test/test_streams_element_capture_playback.html => dom/media/test/test_streams_element_capture_playback.html
rename : content/media/test/test_streams_element_capture_reset.html => dom/media/test/test_streams_element_capture_reset.html
rename : content/media/test/test_streams_gc.html => dom/media/test/test_streams_gc.html
rename : content/media/test/test_streams_srcObject.html => dom/media/test/test_streams_srcObject.html
rename : content/media/test/test_streams_tracks.html => dom/media/test/test_streams_tracks.html
rename : content/media/test/test_texttrack.html => dom/media/test/test_texttrack.html
rename : content/media/test/test_texttrack_chrome.html => dom/media/test/test_texttrack_chrome.html
rename : content/media/test/test_texttrackcue.html => dom/media/test/test_texttrackcue.html
rename : content/media/test/test_texttrackcue_chrome.html => dom/media/test/test_texttrackcue_chrome.html
rename : content/media/test/test_texttracklist.html => dom/media/test/test_texttracklist.html
rename : content/media/test/test_texttracklist_chrome.html => dom/media/test/test_texttracklist_chrome.html
rename : content/media/test/test_texttrackregion.html => dom/media/test/test_texttrackregion.html
rename : content/media/test/test_timeupdate_small_files.html => dom/media/test/test_timeupdate_small_files.html
rename : content/media/test/test_trackelementevent.html => dom/media/test/test_trackelementevent.html
rename : content/media/test/test_trackevent.html => dom/media/test/test_trackevent.html
rename : content/media/test/test_unseekable.html => dom/media/test/test_unseekable.html
rename : content/media/test/test_videoDocumentTitle.html => dom/media/test/test_videoDocumentTitle.html
rename : content/media/test/test_video_in_audio_element.html => dom/media/test/test_video_in_audio_element.html
rename : content/media/test/test_video_to_canvas.html => dom/media/test/test_video_to_canvas.html
rename : content/media/test/test_volume.html => dom/media/test/test_volume.html
rename : content/media/test/test_vttparser.html => dom/media/test/test_vttparser.html
rename : content/media/test/test_wav_ended1.html => dom/media/test/test_wav_ended1.html
rename : content/media/test/test_wav_ended2.html => dom/media/test/test_wav_ended2.html
rename : content/media/test/test_webvtt_disabled.html => dom/media/test/test_webvtt_disabled.html
rename : content/media/test/variable-channel.ogg => dom/media/test/variable-channel.ogg
rename : content/media/test/variable-channel.ogg^headers^ => dom/media/test/variable-channel.ogg^headers^
rename : content/media/test/variable-channel.opus => dom/media/test/variable-channel.opus
rename : content/media/test/variable-channel.opus^headers^ => dom/media/test/variable-channel.opus^headers^
rename : content/media/test/variable-preskip.opus => dom/media/test/variable-preskip.opus
rename : content/media/test/variable-preskip.opus^headers^ => dom/media/test/variable-preskip.opus^headers^
rename : content/media/test/variable-samplerate.ogg => dom/media/test/variable-samplerate.ogg
rename : content/media/test/variable-samplerate.ogg^headers^ => dom/media/test/variable-samplerate.ogg^headers^
rename : content/media/test/variable-samplerate.opus => dom/media/test/variable-samplerate.opus
rename : content/media/test/variable-samplerate.opus^headers^ => dom/media/test/variable-samplerate.opus^headers^
rename : content/media/test/vbr-head.mp3 => dom/media/test/vbr-head.mp3
rename : content/media/test/vbr-head.mp3^headers^ => dom/media/test/vbr-head.mp3^headers^
rename : content/media/test/vbr.mp3 => dom/media/test/vbr.mp3
rename : content/media/test/vbr.mp3^headers^ => dom/media/test/vbr.mp3^headers^
rename : content/media/test/video-overhang.ogg => dom/media/test/video-overhang.ogg
rename : content/media/test/video-overhang.ogg^headers^ => dom/media/test/video-overhang.ogg^headers^
rename : content/media/test/vp9.webm => dom/media/test/vp9.webm
rename : content/media/test/vp9.webm^headers^ => dom/media/test/vp9.webm^headers^
rename : content/media/test/vp9cake.webm => dom/media/test/vp9cake.webm
rename : content/media/test/vp9cake.webm^headers^ => dom/media/test/vp9cake.webm^headers^
rename : content/media/test/wave_metadata.wav => dom/media/test/wave_metadata.wav
rename : content/media/test/wave_metadata.wav^headers^ => dom/media/test/wave_metadata.wav^headers^
rename : content/media/test/wave_metadata_bad_len.wav => dom/media/test/wave_metadata_bad_len.wav
rename : content/media/test/wave_metadata_bad_len.wav^headers^ => dom/media/test/wave_metadata_bad_len.wav^headers^
rename : content/media/test/wave_metadata_bad_no_null.wav => dom/media/test/wave_metadata_bad_no_null.wav
rename : content/media/test/wave_metadata_bad_no_null.wav^headers^ => dom/media/test/wave_metadata_bad_no_null.wav^headers^
rename : content/media/test/wave_metadata_bad_utf8.wav => dom/media/test/wave_metadata_bad_utf8.wav
rename : content/media/test/wave_metadata_bad_utf8.wav^headers^ => dom/media/test/wave_metadata_bad_utf8.wav^headers^
rename : content/media/test/wave_metadata_unknown_tag.wav => dom/media/test/wave_metadata_unknown_tag.wav
rename : content/media/test/wave_metadata_unknown_tag.wav^headers^ => dom/media/test/wave_metadata_unknown_tag.wav^headers^
rename : content/media/test/wave_metadata_utf8.wav => dom/media/test/wave_metadata_utf8.wav
rename : content/media/test/wave_metadata_utf8.wav^headers^ => dom/media/test/wave_metadata_utf8.wav^headers^
rename : content/media/test/wavedata_s16.wav => dom/media/test/wavedata_s16.wav
rename : content/media/test/wavedata_s16.wav^headers^ => dom/media/test/wavedata_s16.wav^headers^
rename : content/media/test/wavedata_u8.wav => dom/media/test/wavedata_u8.wav
rename : content/media/test/wavedata_u8.wav^headers^ => dom/media/test/wavedata_u8.wav^headers^
rename : content/media/wave/WaveDecoder.cpp => dom/media/wave/WaveDecoder.cpp
rename : content/media/wave/WaveDecoder.h => dom/media/wave/WaveDecoder.h
rename : content/media/wave/WaveReader.cpp => dom/media/wave/WaveReader.cpp
rename : content/media/wave/WaveReader.h => dom/media/wave/WaveReader.h
rename : content/media/wave/moz.build => dom/media/wave/moz.build
rename : content/media/webaudio/AnalyserNode.cpp => dom/media/webaudio/AnalyserNode.cpp
rename : content/media/webaudio/AnalyserNode.h => dom/media/webaudio/AnalyserNode.h
rename : content/media/webaudio/AudioBuffer.cpp => dom/media/webaudio/AudioBuffer.cpp
rename : content/media/webaudio/AudioBuffer.h => dom/media/webaudio/AudioBuffer.h
rename : content/media/webaudio/AudioBufferSourceNode.cpp => dom/media/webaudio/AudioBufferSourceNode.cpp
rename : content/media/webaudio/AudioBufferSourceNode.h => dom/media/webaudio/AudioBufferSourceNode.h
rename : content/media/webaudio/AudioContext.cpp => dom/media/webaudio/AudioContext.cpp
rename : content/media/webaudio/AudioContext.h => dom/media/webaudio/AudioContext.h
rename : content/media/webaudio/AudioDestinationNode.cpp => dom/media/webaudio/AudioDestinationNode.cpp
rename : content/media/webaudio/AudioDestinationNode.h => dom/media/webaudio/AudioDestinationNode.h
rename : content/media/webaudio/AudioEventTimeline.h => dom/media/webaudio/AudioEventTimeline.h
rename : content/media/webaudio/AudioListener.cpp => dom/media/webaudio/AudioListener.cpp
rename : content/media/webaudio/AudioListener.h => dom/media/webaudio/AudioListener.h
rename : content/media/webaudio/AudioNode.cpp => dom/media/webaudio/AudioNode.cpp
rename : content/media/webaudio/AudioNode.h => dom/media/webaudio/AudioNode.h
rename : content/media/webaudio/AudioNodeEngine.cpp => dom/media/webaudio/AudioNodeEngine.cpp
rename : content/media/webaudio/AudioNodeEngine.h => dom/media/webaudio/AudioNodeEngine.h
rename : content/media/webaudio/AudioNodeEngineNEON.cpp => dom/media/webaudio/AudioNodeEngineNEON.cpp
rename : content/media/webaudio/AudioNodeEngineNEON.h => dom/media/webaudio/AudioNodeEngineNEON.h
rename : content/media/webaudio/AudioNodeExternalInputStream.cpp => dom/media/webaudio/AudioNodeExternalInputStream.cpp
rename : content/media/webaudio/AudioNodeExternalInputStream.h => dom/media/webaudio/AudioNodeExternalInputStream.h
rename : content/media/webaudio/AudioNodeStream.cpp => dom/media/webaudio/AudioNodeStream.cpp
rename : content/media/webaudio/AudioNodeStream.h => dom/media/webaudio/AudioNodeStream.h
rename : content/media/webaudio/AudioParam.cpp => dom/media/webaudio/AudioParam.cpp
rename : content/media/webaudio/AudioParam.h => dom/media/webaudio/AudioParam.h
rename : content/media/webaudio/AudioParamTimeline.h => dom/media/webaudio/AudioParamTimeline.h
rename : content/media/webaudio/AudioProcessingEvent.cpp => dom/media/webaudio/AudioProcessingEvent.cpp
rename : content/media/webaudio/AudioProcessingEvent.h => dom/media/webaudio/AudioProcessingEvent.h
rename : content/media/webaudio/BiquadFilterNode.cpp => dom/media/webaudio/BiquadFilterNode.cpp
rename : content/media/webaudio/BiquadFilterNode.h => dom/media/webaudio/BiquadFilterNode.h
rename : content/media/webaudio/BufferDecoder.cpp => dom/media/webaudio/BufferDecoder.cpp
rename : content/media/webaudio/BufferDecoder.h => dom/media/webaudio/BufferDecoder.h
rename : content/media/webaudio/ChannelMergerNode.cpp => dom/media/webaudio/ChannelMergerNode.cpp
rename : content/media/webaudio/ChannelMergerNode.h => dom/media/webaudio/ChannelMergerNode.h
rename : content/media/webaudio/ChannelSplitterNode.cpp => dom/media/webaudio/ChannelSplitterNode.cpp
rename : content/media/webaudio/ChannelSplitterNode.h => dom/media/webaudio/ChannelSplitterNode.h
rename : content/media/webaudio/ConvolverNode.cpp => dom/media/webaudio/ConvolverNode.cpp
rename : content/media/webaudio/ConvolverNode.h => dom/media/webaudio/ConvolverNode.h
rename : content/media/webaudio/DelayBuffer.cpp => dom/media/webaudio/DelayBuffer.cpp
rename : content/media/webaudio/DelayBuffer.h => dom/media/webaudio/DelayBuffer.h
rename : content/media/webaudio/DelayNode.cpp => dom/media/webaudio/DelayNode.cpp
rename : content/media/webaudio/DelayNode.h => dom/media/webaudio/DelayNode.h
rename : content/media/webaudio/DynamicsCompressorNode.cpp => dom/media/webaudio/DynamicsCompressorNode.cpp
rename : content/media/webaudio/DynamicsCompressorNode.h => dom/media/webaudio/DynamicsCompressorNode.h
rename : content/media/webaudio/FFTBlock.cpp => dom/media/webaudio/FFTBlock.cpp
rename : content/media/webaudio/FFTBlock.h => dom/media/webaudio/FFTBlock.h
rename : content/media/webaudio/GainNode.cpp => dom/media/webaudio/GainNode.cpp
rename : content/media/webaudio/GainNode.h => dom/media/webaudio/GainNode.h
rename : content/media/webaudio/MediaBufferDecoder.cpp => dom/media/webaudio/MediaBufferDecoder.cpp
rename : content/media/webaudio/MediaBufferDecoder.h => dom/media/webaudio/MediaBufferDecoder.h
rename : content/media/webaudio/MediaElementAudioSourceNode.cpp => dom/media/webaudio/MediaElementAudioSourceNode.cpp
rename : content/media/webaudio/MediaElementAudioSourceNode.h => dom/media/webaudio/MediaElementAudioSourceNode.h
rename : content/media/webaudio/MediaStreamAudioDestinationNode.cpp => dom/media/webaudio/MediaStreamAudioDestinationNode.cpp
rename : content/media/webaudio/MediaStreamAudioDestinationNode.h => dom/media/webaudio/MediaStreamAudioDestinationNode.h
rename : content/media/webaudio/MediaStreamAudioSourceNode.cpp => dom/media/webaudio/MediaStreamAudioSourceNode.cpp
rename : content/media/webaudio/MediaStreamAudioSourceNode.h => dom/media/webaudio/MediaStreamAudioSourceNode.h
rename : content/media/webaudio/OfflineAudioCompletionEvent.cpp => dom/media/webaudio/OfflineAudioCompletionEvent.cpp
rename : content/media/webaudio/OfflineAudioCompletionEvent.h => dom/media/webaudio/OfflineAudioCompletionEvent.h
rename : content/media/webaudio/OscillatorNode.cpp => dom/media/webaudio/OscillatorNode.cpp
rename : content/media/webaudio/OscillatorNode.h => dom/media/webaudio/OscillatorNode.h
rename : content/media/webaudio/PannerNode.cpp => dom/media/webaudio/PannerNode.cpp
rename : content/media/webaudio/PannerNode.h => dom/media/webaudio/PannerNode.h
rename : content/media/webaudio/PeriodicWave.cpp => dom/media/webaudio/PeriodicWave.cpp
rename : content/media/webaudio/PeriodicWave.h => dom/media/webaudio/PeriodicWave.h
rename : content/media/webaudio/PlayingRefChangeHandler.h => dom/media/webaudio/PlayingRefChangeHandler.h
rename : content/media/webaudio/ReportDecodeResultTask.h => dom/media/webaudio/ReportDecodeResultTask.h
rename : content/media/webaudio/ScriptProcessorNode.cpp => dom/media/webaudio/ScriptProcessorNode.cpp
rename : content/media/webaudio/ScriptProcessorNode.h => dom/media/webaudio/ScriptProcessorNode.h
rename : content/media/webaudio/ThreeDPoint.cpp => dom/media/webaudio/ThreeDPoint.cpp
rename : content/media/webaudio/ThreeDPoint.h => dom/media/webaudio/ThreeDPoint.h
rename : content/media/webaudio/WaveShaperNode.cpp => dom/media/webaudio/WaveShaperNode.cpp
rename : content/media/webaudio/WaveShaperNode.h => dom/media/webaudio/WaveShaperNode.h
rename : content/media/webaudio/WebAudioUtils.cpp => dom/media/webaudio/WebAudioUtils.cpp
rename : content/media/webaudio/WebAudioUtils.h => dom/media/webaudio/WebAudioUtils.h
rename : content/media/webaudio/blink/Biquad.cpp => dom/media/webaudio/blink/Biquad.cpp
rename : content/media/webaudio/blink/Biquad.h => dom/media/webaudio/blink/Biquad.h
rename : content/media/webaudio/blink/DenormalDisabler.h => dom/media/webaudio/blink/DenormalDisabler.h
rename : content/media/webaudio/blink/DirectConvolver.cpp => dom/media/webaudio/blink/DirectConvolver.cpp
rename : content/media/webaudio/blink/DirectConvolver.h => dom/media/webaudio/blink/DirectConvolver.h
rename : content/media/webaudio/blink/DynamicsCompressor.cpp => dom/media/webaudio/blink/DynamicsCompressor.cpp
rename : content/media/webaudio/blink/DynamicsCompressor.h => dom/media/webaudio/blink/DynamicsCompressor.h
rename : content/media/webaudio/blink/DynamicsCompressorKernel.cpp => dom/media/webaudio/blink/DynamicsCompressorKernel.cpp
rename : content/media/webaudio/blink/DynamicsCompressorKernel.h => dom/media/webaudio/blink/DynamicsCompressorKernel.h
rename : content/media/webaudio/blink/FFTConvolver.cpp => dom/media/webaudio/blink/FFTConvolver.cpp
rename : content/media/webaudio/blink/FFTConvolver.h => dom/media/webaudio/blink/FFTConvolver.h
rename : content/media/webaudio/blink/HRTFDatabase.cpp => dom/media/webaudio/blink/HRTFDatabase.cpp
rename : content/media/webaudio/blink/HRTFDatabase.h => dom/media/webaudio/blink/HRTFDatabase.h
rename : content/media/webaudio/blink/HRTFDatabaseLoader.cpp => dom/media/webaudio/blink/HRTFDatabaseLoader.cpp
rename : content/media/webaudio/blink/HRTFDatabaseLoader.h => dom/media/webaudio/blink/HRTFDatabaseLoader.h
rename : content/media/webaudio/blink/HRTFElevation.cpp => dom/media/webaudio/blink/HRTFElevation.cpp
rename : content/media/webaudio/blink/HRTFElevation.h => dom/media/webaudio/blink/HRTFElevation.h
rename : content/media/webaudio/blink/HRTFKernel.cpp => dom/media/webaudio/blink/HRTFKernel.cpp
rename : content/media/webaudio/blink/HRTFKernel.h => dom/media/webaudio/blink/HRTFKernel.h
rename : content/media/webaudio/blink/HRTFPanner.cpp => dom/media/webaudio/blink/HRTFPanner.cpp
rename : content/media/webaudio/blink/HRTFPanner.h => dom/media/webaudio/blink/HRTFPanner.h
rename : content/media/webaudio/blink/IRC_Composite_C_R0195-incl.cpp => dom/media/webaudio/blink/IRC_Composite_C_R0195-incl.cpp
rename : content/media/webaudio/blink/PeriodicWave.cpp => dom/media/webaudio/blink/PeriodicWave.cpp
rename : content/media/webaudio/blink/PeriodicWave.h => dom/media/webaudio/blink/PeriodicWave.h
rename : content/media/webaudio/blink/README => dom/media/webaudio/blink/README
rename : content/media/webaudio/blink/Reverb.cpp => dom/media/webaudio/blink/Reverb.cpp
rename : content/media/webaudio/blink/Reverb.h => dom/media/webaudio/blink/Reverb.h
rename : content/media/webaudio/blink/ReverbAccumulationBuffer.cpp => dom/media/webaudio/blink/ReverbAccumulationBuffer.cpp
rename : content/media/webaudio/blink/ReverbAccumulationBuffer.h => dom/media/webaudio/blink/ReverbAccumulationBuffer.h
rename : content/media/webaudio/blink/ReverbConvolver.cpp => dom/media/webaudio/blink/ReverbConvolver.cpp
rename : content/media/webaudio/blink/ReverbConvolver.h => dom/media/webaudio/blink/ReverbConvolver.h
rename : content/media/webaudio/blink/ReverbConvolverStage.cpp => dom/media/webaudio/blink/ReverbConvolverStage.cpp
rename : content/media/webaudio/blink/ReverbConvolverStage.h => dom/media/webaudio/blink/ReverbConvolverStage.h
rename : content/media/webaudio/blink/ReverbInputBuffer.cpp => dom/media/webaudio/blink/ReverbInputBuffer.cpp
rename : content/media/webaudio/blink/ReverbInputBuffer.h => dom/media/webaudio/blink/ReverbInputBuffer.h
rename : content/media/webaudio/blink/ZeroPole.cpp => dom/media/webaudio/blink/ZeroPole.cpp
rename : content/media/webaudio/blink/ZeroPole.h => dom/media/webaudio/blink/ZeroPole.h
rename : content/media/webaudio/blink/moz.build => dom/media/webaudio/blink/moz.build
rename : content/media/webaudio/compiledtest/TestAudioEventTimeline.cpp => dom/media/webaudio/compiledtest/TestAudioEventTimeline.cpp
rename : content/media/webaudio/compiledtest/moz.build => dom/media/webaudio/compiledtest/moz.build
rename : content/media/webaudio/moz.build => dom/media/webaudio/moz.build
rename : content/media/webaudio/test/audio-expected.wav => dom/media/webaudio/test/audio-expected.wav
rename : content/media/webaudio/test/audio-mono-expected-2.wav => dom/media/webaudio/test/audio-mono-expected-2.wav
rename : content/media/webaudio/test/audio-mono-expected.wav => dom/media/webaudio/test/audio-mono-expected.wav
rename : content/media/webaudio/test/audio-quad.wav => dom/media/webaudio/test/audio-quad.wav
rename : content/media/webaudio/test/audio.ogv => dom/media/webaudio/test/audio.ogv
rename : content/media/webaudio/test/audioBufferSourceNodeNeutered_worker.js => dom/media/webaudio/test/audioBufferSourceNodeNeutered_worker.js
rename : content/media/webaudio/test/blink/README => dom/media/webaudio/test/blink/README
rename : content/media/webaudio/test/blink/audio-testing.js => dom/media/webaudio/test/blink/audio-testing.js
rename : content/media/webaudio/test/blink/convolution-testing.js => dom/media/webaudio/test/blink/convolution-testing.js
rename : content/media/webaudio/test/blink/mochitest.ini => dom/media/webaudio/test/blink/mochitest.ini
rename : content/media/webaudio/test/blink/panner-model-testing.js => dom/media/webaudio/test/blink/panner-model-testing.js
rename : content/media/webaudio/test/browser.ini => dom/media/webaudio/test/browser.ini
rename : content/media/webaudio/test/browser_mozAudioChannel.html => dom/media/webaudio/test/browser_mozAudioChannel.html
rename : content/media/webaudio/test/browser_mozAudioChannel.js => dom/media/webaudio/test/browser_mozAudioChannel.js
rename : content/media/webaudio/test/browser_mozAudioChannel_muted.html => dom/media/webaudio/test/browser_mozAudioChannel_muted.html
rename : content/media/webaudio/test/browser_mozAudioChannel_muted.js => dom/media/webaudio/test/browser_mozAudioChannel_muted.js
rename : content/media/webaudio/test/chrome.ini => dom/media/webaudio/test/chrome.ini
rename : content/media/webaudio/test/invalid.txt => dom/media/webaudio/test/invalid.txt
rename : content/media/webaudio/test/layouttest-glue.js => dom/media/webaudio/test/layouttest-glue.js
rename : content/media/webaudio/test/mochitest.ini => dom/media/webaudio/test/mochitest.ini
rename : content/media/webaudio/test/noaudio.webm => dom/media/webaudio/test/noaudio.webm
rename : content/media/webaudio/test/small-shot-expected.wav => dom/media/webaudio/test/small-shot-expected.wav
rename : content/media/webaudio/test/small-shot-mono-expected.wav => dom/media/webaudio/test/small-shot-mono-expected.wav
rename : content/media/webaudio/test/small-shot.mp3 => dom/media/webaudio/test/small-shot.mp3
rename : content/media/webaudio/test/small-shot.ogg => dom/media/webaudio/test/small-shot.ogg
rename : content/media/webaudio/test/test_AudioBuffer.html => dom/media/webaudio/test/test_AudioBuffer.html
rename : content/media/webaudio/test/test_AudioContext.html => dom/media/webaudio/test/test_AudioContext.html
rename : content/media/webaudio/test/test_AudioListener.html => dom/media/webaudio/test/test_AudioListener.html
rename : content/media/webaudio/test/test_AudioNodeDevtoolsAPI.html => dom/media/webaudio/test/test_AudioNodeDevtoolsAPI.html
rename : content/media/webaudio/test/test_OfflineAudioContext.html => dom/media/webaudio/test/test_OfflineAudioContext.html
rename : content/media/webaudio/test/test_analyserNode.html => dom/media/webaudio/test/test_analyserNode.html
rename : content/media/webaudio/test/test_analyserNodeOutput.html => dom/media/webaudio/test/test_analyserNodeOutput.html
rename : content/media/webaudio/test/test_analyserNodePassThrough.html => dom/media/webaudio/test/test_analyserNodePassThrough.html
rename : content/media/webaudio/test/test_audioBufferSourceNode.html => dom/media/webaudio/test/test_audioBufferSourceNode.html
rename : content/media/webaudio/test/test_audioBufferSourceNodeEnded.html => dom/media/webaudio/test/test_audioBufferSourceNodeEnded.html
rename : content/media/webaudio/test/test_audioBufferSourceNodeLazyLoopParam.html => dom/media/webaudio/test/test_audioBufferSourceNodeLazyLoopParam.html
rename : content/media/webaudio/test/test_audioBufferSourceNodeLoop.html => dom/media/webaudio/test/test_audioBufferSourceNodeLoop.html
rename : content/media/webaudio/test/test_audioBufferSourceNodeLoopStartEnd.html => dom/media/webaudio/test/test_audioBufferSourceNodeLoopStartEnd.html
rename : content/media/webaudio/test/test_audioBufferSourceNodeLoopStartEndSame.html => dom/media/webaudio/test/test_audioBufferSourceNodeLoopStartEndSame.html
rename : content/media/webaudio/test/test_audioBufferSourceNodeNeutered.html => dom/media/webaudio/test/test_audioBufferSourceNodeNeutered.html
rename : content/media/webaudio/test/test_audioBufferSourceNodeNoStart.html => dom/media/webaudio/test/test_audioBufferSourceNodeNoStart.html
rename : content/media/webaudio/test/test_audioBufferSourceNodeNullBuffer.html => dom/media/webaudio/test/test_audioBufferSourceNodeNullBuffer.html
rename : content/media/webaudio/test/test_audioBufferSourceNodeOffset.html => dom/media/webaudio/test/test_audioBufferSourceNodeOffset.html
rename : content/media/webaudio/test/test_audioBufferSourceNodePassThrough.html => dom/media/webaudio/test/test_audioBufferSourceNodePassThrough.html
rename : content/media/webaudio/test/test_audioDestinationNode.html => dom/media/webaudio/test/test_audioDestinationNode.html
rename : content/media/webaudio/test/test_audioParamExponentialRamp.html => dom/media/webaudio/test/test_audioParamExponentialRamp.html
rename : content/media/webaudio/test/test_audioParamGain.html => dom/media/webaudio/test/test_audioParamGain.html
rename : content/media/webaudio/test/test_audioParamLinearRamp.html => dom/media/webaudio/test/test_audioParamLinearRamp.html
rename : content/media/webaudio/test/test_audioParamSetCurveAtTime.html => dom/media/webaudio/test/test_audioParamSetCurveAtTime.html
rename : content/media/webaudio/test/test_audioParamSetCurveAtTimeZeroDuration.html => dom/media/webaudio/test/test_audioParamSetCurveAtTimeZeroDuration.html
rename : content/media/webaudio/test/test_audioParamSetTargetAtTime.html => dom/media/webaudio/test/test_audioParamSetTargetAtTime.html
rename : content/media/webaudio/test/test_audioParamSetValueAtTime.html => dom/media/webaudio/test/test_audioParamSetValueAtTime.html
rename : content/media/webaudio/test/test_audioParamTimelineDestinationOffset.html => dom/media/webaudio/test/test_audioParamTimelineDestinationOffset.html
rename : content/media/webaudio/test/test_badConnect.html => dom/media/webaudio/test/test_badConnect.html
rename : content/media/webaudio/test/test_biquadFilterNode.html => dom/media/webaudio/test/test_biquadFilterNode.html
rename : content/media/webaudio/test/test_biquadFilterNodePassThrough.html => dom/media/webaudio/test/test_biquadFilterNodePassThrough.html
rename : content/media/webaudio/test/test_biquadFilterNodeWithGain.html => dom/media/webaudio/test/test_biquadFilterNodeWithGain.html
rename : content/media/webaudio/test/test_bug1056032.html => dom/media/webaudio/test/test_bug1056032.html
rename : content/media/webaudio/test/test_bug808374.html => dom/media/webaudio/test/test_bug808374.html
rename : content/media/webaudio/test/test_bug827541.html => dom/media/webaudio/test/test_bug827541.html
rename : content/media/webaudio/test/test_bug839753.html => dom/media/webaudio/test/test_bug839753.html
rename : content/media/webaudio/test/test_bug845960.html => dom/media/webaudio/test/test_bug845960.html
rename : content/media/webaudio/test/test_bug856771.html => dom/media/webaudio/test/test_bug856771.html
rename : content/media/webaudio/test/test_bug866570.html => dom/media/webaudio/test/test_bug866570.html
rename : content/media/webaudio/test/test_bug866737.html => dom/media/webaudio/test/test_bug866737.html
rename : content/media/webaudio/test/test_bug867089.html => dom/media/webaudio/test/test_bug867089.html
rename : content/media/webaudio/test/test_bug867104.html => dom/media/webaudio/test/test_bug867104.html
rename : content/media/webaudio/test/test_bug867174.html => dom/media/webaudio/test/test_bug867174.html
rename : content/media/webaudio/test/test_bug867203.html => dom/media/webaudio/test/test_bug867203.html
rename : content/media/webaudio/test/test_bug875221.html => dom/media/webaudio/test/test_bug875221.html
rename : content/media/webaudio/test/test_bug875402.html => dom/media/webaudio/test/test_bug875402.html
rename : content/media/webaudio/test/test_bug894150.html => dom/media/webaudio/test/test_bug894150.html
rename : content/media/webaudio/test/test_bug956489.html => dom/media/webaudio/test/test_bug956489.html
rename : content/media/webaudio/test/test_bug964376.html => dom/media/webaudio/test/test_bug964376.html
rename : content/media/webaudio/test/test_bug972678.html => dom/media/webaudio/test/test_bug972678.html
rename : content/media/webaudio/test/test_channelMergerNode.html => dom/media/webaudio/test/test_channelMergerNode.html
rename : content/media/webaudio/test/test_channelMergerNodeWithVolume.html => dom/media/webaudio/test/test_channelMergerNodeWithVolume.html
rename : content/media/webaudio/test/test_channelSplitterNode.html => dom/media/webaudio/test/test_channelSplitterNode.html
rename : content/media/webaudio/test/test_channelSplitterNodeWithVolume.html => dom/media/webaudio/test/test_channelSplitterNodeWithVolume.html
rename : content/media/webaudio/test/test_convolverNode.html => dom/media/webaudio/test/test_convolverNode.html
rename : content/media/webaudio/test/test_convolverNodeChannelCount.html => dom/media/webaudio/test/test_convolverNodeChannelCount.html
rename : content/media/webaudio/test/test_convolverNodePassThrough.html => dom/media/webaudio/test/test_convolverNodePassThrough.html
rename : content/media/webaudio/test/test_convolverNodeWithGain.html => dom/media/webaudio/test/test_convolverNodeWithGain.html
rename : content/media/webaudio/test/test_convolverNode_mono_mono.html => dom/media/webaudio/test/test_convolverNode_mono_mono.html
rename : content/media/webaudio/test/test_currentTime.html => dom/media/webaudio/test/test_currentTime.html
rename : content/media/webaudio/test/test_decodeMultichannel.html => dom/media/webaudio/test/test_decodeMultichannel.html
rename : content/media/webaudio/test/test_delayNode.html => dom/media/webaudio/test/test_delayNode.html
rename : content/media/webaudio/test/test_delayNodeAtMax.html => dom/media/webaudio/test/test_delayNodeAtMax.html
rename : content/media/webaudio/test/test_delayNodeChannelChanges.html => dom/media/webaudio/test/test_delayNodeChannelChanges.html
rename : content/media/webaudio/test/test_delayNodeCycles.html => dom/media/webaudio/test/test_delayNodeCycles.html
rename : content/media/webaudio/test/test_delayNodePassThrough.html => dom/media/webaudio/test/test_delayNodePassThrough.html
rename : content/media/webaudio/test/test_delayNodeSmallMaxDelay.html => dom/media/webaudio/test/test_delayNodeSmallMaxDelay.html
rename : content/media/webaudio/test/test_delayNodeTailIncrease.html => dom/media/webaudio/test/test_delayNodeTailIncrease.html
rename : content/media/webaudio/test/test_delayNodeTailWithDisconnect.html => dom/media/webaudio/test/test_delayNodeTailWithDisconnect.html
rename : content/media/webaudio/test/test_delayNodeTailWithGain.html => dom/media/webaudio/test/test_delayNodeTailWithGain.html
rename : content/media/webaudio/test/test_delayNodeTailWithReconnect.html => dom/media/webaudio/test/test_delayNodeTailWithReconnect.html
rename : content/media/webaudio/test/test_delayNodeWithGain.html => dom/media/webaudio/test/test_delayNodeWithGain.html
rename : content/media/webaudio/test/test_dynamicsCompressorNode.html => dom/media/webaudio/test/test_dynamicsCompressorNode.html
rename : content/media/webaudio/test/test_dynamicsCompressorNodePassThrough.html => dom/media/webaudio/test/test_dynamicsCompressorNodePassThrough.html
rename : content/media/webaudio/test/test_gainNode.html => dom/media/webaudio/test/test_gainNode.html
rename : content/media/webaudio/test/test_gainNodeInLoop.html => dom/media/webaudio/test/test_gainNodeInLoop.html
rename : content/media/webaudio/test/test_gainNodePassThrough.html => dom/media/webaudio/test/test_gainNodePassThrough.html
rename : content/media/webaudio/test/test_maxChannelCount.html => dom/media/webaudio/test/test_maxChannelCount.html
rename : content/media/webaudio/test/test_mediaDecoding.html => dom/media/webaudio/test/test_mediaDecoding.html
rename : content/media/webaudio/test/test_mediaElementAudioSourceNode.html => dom/media/webaudio/test/test_mediaElementAudioSourceNode.html
rename : content/media/webaudio/test/test_mediaElementAudioSourceNodePassThrough.html => dom/media/webaudio/test/test_mediaElementAudioSourceNodePassThrough.html
rename : content/media/webaudio/test/test_mediaStreamAudioDestinationNode.html => dom/media/webaudio/test/test_mediaStreamAudioDestinationNode.html
rename : content/media/webaudio/test/test_mediaStreamAudioSourceNode.html => dom/media/webaudio/test/test_mediaStreamAudioSourceNode.html
rename : content/media/webaudio/test/test_mediaStreamAudioSourceNodeCrossOrigin.html => dom/media/webaudio/test/test_mediaStreamAudioSourceNodeCrossOrigin.html
rename : content/media/webaudio/test/test_mediaStreamAudioSourceNodePassThrough.html => dom/media/webaudio/test/test_mediaStreamAudioSourceNodePassThrough.html
rename : content/media/webaudio/test/test_mediaStreamAudioSourceNodeResampling.html => dom/media/webaudio/test/test_mediaStreamAudioSourceNodeResampling.html
rename : content/media/webaudio/test/test_mixingRules.html => dom/media/webaudio/test/test_mixingRules.html
rename : content/media/webaudio/test/test_mozaudiochannel.html => dom/media/webaudio/test/test_mozaudiochannel.html
rename : content/media/webaudio/test/test_nodeToParamConnection.html => dom/media/webaudio/test/test_nodeToParamConnection.html
rename : content/media/webaudio/test/test_offlineDestinationChannelCountLess.html => dom/media/webaudio/test/test_offlineDestinationChannelCountLess.html
rename : content/media/webaudio/test/test_offlineDestinationChannelCountMore.html => dom/media/webaudio/test/test_offlineDestinationChannelCountMore.html
rename : content/media/webaudio/test/test_oscillatorNode.html => dom/media/webaudio/test/test_oscillatorNode.html
rename : content/media/webaudio/test/test_oscillatorNode2.html => dom/media/webaudio/test/test_oscillatorNode2.html
rename : content/media/webaudio/test/test_oscillatorNodePassThrough.html => dom/media/webaudio/test/test_oscillatorNodePassThrough.html
rename : content/media/webaudio/test/test_oscillatorNodeStart.html => dom/media/webaudio/test/test_oscillatorNodeStart.html
rename : content/media/webaudio/test/test_oscillatorTypeChange.html => dom/media/webaudio/test/test_oscillatorTypeChange.html
rename : content/media/webaudio/test/test_pannerNode.html => dom/media/webaudio/test/test_pannerNode.html
rename : content/media/webaudio/test/test_pannerNodeAbove.html => dom/media/webaudio/test/test_pannerNodeAbove.html
rename : content/media/webaudio/test/test_pannerNodeChannelCount.html => dom/media/webaudio/test/test_pannerNodeChannelCount.html
rename : content/media/webaudio/test/test_pannerNodeHRTFSymmetry.html => dom/media/webaudio/test/test_pannerNodeHRTFSymmetry.html
rename : content/media/webaudio/test/test_pannerNodePassThrough.html => dom/media/webaudio/test/test_pannerNodePassThrough.html
rename : content/media/webaudio/test/test_pannerNodeTail.html => dom/media/webaudio/test/test_pannerNodeTail.html
rename : content/media/webaudio/test/test_pannerNode_equalPower.html => dom/media/webaudio/test/test_pannerNode_equalPower.html
rename : content/media/webaudio/test/test_periodicWave.html => dom/media/webaudio/test/test_periodicWave.html
rename : content/media/webaudio/test/test_scriptProcessorNode.html => dom/media/webaudio/test/test_scriptProcessorNode.html
rename : content/media/webaudio/test/test_scriptProcessorNodeChannelCount.html => dom/media/webaudio/test/test_scriptProcessorNodeChannelCount.html
rename : content/media/webaudio/test/test_scriptProcessorNodeNotConnected.html => dom/media/webaudio/test/test_scriptProcessorNodeNotConnected.html
rename : content/media/webaudio/test/test_scriptProcessorNodePassThrough.html => dom/media/webaudio/test/test_scriptProcessorNodePassThrough.html
rename : content/media/webaudio/test/test_scriptProcessorNodeZeroInputOutput.html => dom/media/webaudio/test/test_scriptProcessorNodeZeroInputOutput.html
rename : content/media/webaudio/test/test_scriptProcessorNode_playbackTime1.html => dom/media/webaudio/test/test_scriptProcessorNode_playbackTime1.html
rename : content/media/webaudio/test/test_singleSourceDest.html => dom/media/webaudio/test/test_singleSourceDest.html
rename : content/media/webaudio/test/test_stereoPanningWithGain.html => dom/media/webaudio/test/test_stereoPanningWithGain.html
rename : content/media/webaudio/test/test_waveDecoder.html => dom/media/webaudio/test/test_waveDecoder.html
rename : content/media/webaudio/test/test_waveShaper.html => dom/media/webaudio/test/test_waveShaper.html
rename : content/media/webaudio/test/test_waveShaperNoCurve.html => dom/media/webaudio/test/test_waveShaperNoCurve.html
rename : content/media/webaudio/test/test_waveShaperPassThrough.html => dom/media/webaudio/test/test_waveShaperPassThrough.html
rename : content/media/webaudio/test/test_waveShaperZeroLengthCurve.html => dom/media/webaudio/test/test_waveShaperZeroLengthCurve.html
rename : content/media/webaudio/test/ting-44.1k-1ch.ogg => dom/media/webaudio/test/ting-44.1k-1ch.ogg
rename : content/media/webaudio/test/ting-44.1k-1ch.wav => dom/media/webaudio/test/ting-44.1k-1ch.wav
rename : content/media/webaudio/test/ting-44.1k-2ch.ogg => dom/media/webaudio/test/ting-44.1k-2ch.ogg
rename : content/media/webaudio/test/ting-44.1k-2ch.wav => dom/media/webaudio/test/ting-44.1k-2ch.wav
rename : content/media/webaudio/test/ting-48k-1ch.ogg => dom/media/webaudio/test/ting-48k-1ch.ogg
rename : content/media/webaudio/test/ting-48k-1ch.wav => dom/media/webaudio/test/ting-48k-1ch.wav
rename : content/media/webaudio/test/ting-48k-2ch.ogg => dom/media/webaudio/test/ting-48k-2ch.ogg
rename : content/media/webaudio/test/ting-48k-2ch.wav => dom/media/webaudio/test/ting-48k-2ch.wav
rename : content/media/webaudio/test/ting-dualchannel44.1.wav => dom/media/webaudio/test/ting-dualchannel44.1.wav
rename : content/media/webaudio/test/ting-dualchannel48.wav => dom/media/webaudio/test/ting-dualchannel48.wav
rename : content/media/webaudio/test/webaudio.js => dom/media/webaudio/test/webaudio.js
rename : content/media/webm/EbmlComposer.cpp => dom/media/webm/EbmlComposer.cpp
rename : content/media/webm/EbmlComposer.h => dom/media/webm/EbmlComposer.h
rename : content/media/webm/WebMBufferedParser.cpp => dom/media/webm/WebMBufferedParser.cpp
rename : content/media/webm/WebMBufferedParser.h => dom/media/webm/WebMBufferedParser.h
rename : content/media/webm/WebMDecoder.cpp => dom/media/webm/WebMDecoder.cpp
rename : content/media/webm/WebMDecoder.h => dom/media/webm/WebMDecoder.h
rename : content/media/webm/WebMReader.cpp => dom/media/webm/WebMReader.cpp
rename : content/media/webm/WebMReader.h => dom/media/webm/WebMReader.h
rename : content/media/webm/WebMWriter.cpp => dom/media/webm/WebMWriter.cpp
rename : content/media/webm/WebMWriter.h => dom/media/webm/WebMWriter.h
rename : content/media/webm/moz.build => dom/media/webm/moz.build
rename : content/media/webrtc/AudioOutputObserver.h => dom/media/webrtc/AudioOutputObserver.h
rename : content/media/webrtc/MediaEngine.h => dom/media/webrtc/MediaEngine.h
rename : content/media/webrtc/MediaEngineCameraVideoSource.cpp => dom/media/webrtc/MediaEngineCameraVideoSource.cpp
rename : content/media/webrtc/MediaEngineCameraVideoSource.h => dom/media/webrtc/MediaEngineCameraVideoSource.h
rename : content/media/webrtc/MediaEngineDefault.cpp => dom/media/webrtc/MediaEngineDefault.cpp
rename : content/media/webrtc/MediaEngineDefault.h => dom/media/webrtc/MediaEngineDefault.h
rename : content/media/webrtc/MediaEngineGonkVideoSource.cpp => dom/media/webrtc/MediaEngineGonkVideoSource.cpp
rename : content/media/webrtc/MediaEngineGonkVideoSource.h => dom/media/webrtc/MediaEngineGonkVideoSource.h
rename : content/media/webrtc/MediaEngineTabVideoSource.cpp => dom/media/webrtc/MediaEngineTabVideoSource.cpp
rename : content/media/webrtc/MediaEngineTabVideoSource.h => dom/media/webrtc/MediaEngineTabVideoSource.h
rename : content/media/webrtc/MediaEngineWebRTC.cpp => dom/media/webrtc/MediaEngineWebRTC.cpp
rename : content/media/webrtc/MediaEngineWebRTC.h => dom/media/webrtc/MediaEngineWebRTC.h
rename : content/media/webrtc/MediaEngineWebRTCAudio.cpp => dom/media/webrtc/MediaEngineWebRTCAudio.cpp
rename : content/media/webrtc/MediaEngineWebRTCVideo.cpp => dom/media/webrtc/MediaEngineWebRTCVideo.cpp
rename : content/media/webrtc/MediaTrackConstraints.h => dom/media/webrtc/MediaTrackConstraints.h
rename : content/media/webrtc/PeerIdentity.cpp => dom/media/webrtc/PeerIdentity.cpp
rename : content/media/webrtc/PeerIdentity.h => dom/media/webrtc/PeerIdentity.h
rename : content/media/webrtc/moz.build => dom/media/webrtc/moz.build
rename : content/media/webrtc/nsITabSource.idl => dom/media/webrtc/nsITabSource.idl
rename : content/media/webspeech/moz.build => dom/media/webspeech/moz.build
rename : content/media/webspeech/recognition/SpeechGrammar.cpp => dom/media/webspeech/recognition/SpeechGrammar.cpp
rename : content/media/webspeech/recognition/SpeechGrammar.h => dom/media/webspeech/recognition/SpeechGrammar.h
rename : content/media/webspeech/recognition/SpeechGrammarList.cpp => dom/media/webspeech/recognition/SpeechGrammarList.cpp
rename : content/media/webspeech/recognition/SpeechGrammarList.h => dom/media/webspeech/recognition/SpeechGrammarList.h
rename : content/media/webspeech/recognition/SpeechRecognition.cpp => dom/media/webspeech/recognition/SpeechRecognition.cpp
rename : content/media/webspeech/recognition/SpeechRecognition.h => dom/media/webspeech/recognition/SpeechRecognition.h
rename : content/media/webspeech/recognition/SpeechRecognitionAlternative.cpp => dom/media/webspeech/recognition/SpeechRecognitionAlternative.cpp
rename : content/media/webspeech/recognition/SpeechRecognitionAlternative.h => dom/media/webspeech/recognition/SpeechRecognitionAlternative.h
rename : content/media/webspeech/recognition/SpeechRecognitionResult.cpp => dom/media/webspeech/recognition/SpeechRecognitionResult.cpp
rename : content/media/webspeech/recognition/SpeechRecognitionResult.h => dom/media/webspeech/recognition/SpeechRecognitionResult.h
rename : content/media/webspeech/recognition/SpeechRecognitionResultList.cpp => dom/media/webspeech/recognition/SpeechRecognitionResultList.cpp
rename : content/media/webspeech/recognition/SpeechRecognitionResultList.h => dom/media/webspeech/recognition/SpeechRecognitionResultList.h
rename : content/media/webspeech/recognition/SpeechStreamListener.cpp => dom/media/webspeech/recognition/SpeechStreamListener.cpp
rename : content/media/webspeech/recognition/SpeechStreamListener.h => dom/media/webspeech/recognition/SpeechStreamListener.h
rename : content/media/webspeech/recognition/endpointer.cc => dom/media/webspeech/recognition/endpointer.cc
rename : content/media/webspeech/recognition/endpointer.h => dom/media/webspeech/recognition/endpointer.h
rename : content/media/webspeech/recognition/energy_endpointer.cc => dom/media/webspeech/recognition/energy_endpointer.cc
rename : content/media/webspeech/recognition/energy_endpointer.h => dom/media/webspeech/recognition/energy_endpointer.h
rename : content/media/webspeech/recognition/energy_endpointer_params.cc => dom/media/webspeech/recognition/energy_endpointer_params.cc
rename : content/media/webspeech/recognition/energy_endpointer_params.h => dom/media/webspeech/recognition/energy_endpointer_params.h
rename : content/media/webspeech/recognition/moz.build => dom/media/webspeech/recognition/moz.build
rename : content/media/webspeech/recognition/nsISpeechRecognitionService.idl => dom/media/webspeech/recognition/nsISpeechRecognitionService.idl
rename : content/media/webspeech/recognition/test/FakeSpeechRecognitionService.cpp => dom/media/webspeech/recognition/test/FakeSpeechRecognitionService.cpp
rename : content/media/webspeech/recognition/test/FakeSpeechRecognitionService.h => dom/media/webspeech/recognition/test/FakeSpeechRecognitionService.h
rename : content/media/webspeech/recognition/test/head.js => dom/media/webspeech/recognition/test/head.js
rename : content/media/webspeech/recognition/test/hello.ogg => dom/media/webspeech/recognition/test/hello.ogg
rename : content/media/webspeech/recognition/test/hello.ogg^headers^ => dom/media/webspeech/recognition/test/hello.ogg^headers^
rename : content/media/webspeech/recognition/test/mochitest.ini => dom/media/webspeech/recognition/test/mochitest.ini
rename : content/media/webspeech/recognition/test/silence.ogg => dom/media/webspeech/recognition/test/silence.ogg
rename : content/media/webspeech/recognition/test/silence.ogg^headers^ => dom/media/webspeech/recognition/test/silence.ogg^headers^
rename : content/media/webspeech/recognition/test/test_abort.html => dom/media/webspeech/recognition/test/test_abort.html
rename : content/media/webspeech/recognition/test/test_audio_capture_error.html => dom/media/webspeech/recognition/test/test_audio_capture_error.html
rename : content/media/webspeech/recognition/test/test_call_start_from_end_handler.html => dom/media/webspeech/recognition/test/test_call_start_from_end_handler.html
rename : content/media/webspeech/recognition/test/test_nested_eventloop.html => dom/media/webspeech/recognition/test/test_nested_eventloop.html
rename : content/media/webspeech/recognition/test/test_preference_enable.html => dom/media/webspeech/recognition/test/test_preference_enable.html
rename : content/media/webspeech/recognition/test/test_recognition_service_error.html => dom/media/webspeech/recognition/test/test_recognition_service_error.html
rename : content/media/webspeech/recognition/test/test_success_without_recognition_service.html => dom/media/webspeech/recognition/test/test_success_without_recognition_service.html
rename : content/media/webspeech/recognition/test/test_timeout.html => dom/media/webspeech/recognition/test/test_timeout.html
rename : content/media/webspeech/synth/SpeechSynthesis.cpp => dom/media/webspeech/synth/SpeechSynthesis.cpp
rename : content/media/webspeech/synth/SpeechSynthesis.h => dom/media/webspeech/synth/SpeechSynthesis.h
rename : content/media/webspeech/synth/SpeechSynthesisUtterance.cpp => dom/media/webspeech/synth/SpeechSynthesisUtterance.cpp
rename : content/media/webspeech/synth/SpeechSynthesisUtterance.h => dom/media/webspeech/synth/SpeechSynthesisUtterance.h
rename : content/media/webspeech/synth/SpeechSynthesisVoice.cpp => dom/media/webspeech/synth/SpeechSynthesisVoice.cpp
rename : content/media/webspeech/synth/SpeechSynthesisVoice.h => dom/media/webspeech/synth/SpeechSynthesisVoice.h
rename : content/media/webspeech/synth/ipc/PSpeechSynthesis.ipdl => dom/media/webspeech/synth/ipc/PSpeechSynthesis.ipdl
rename : content/media/webspeech/synth/ipc/PSpeechSynthesisRequest.ipdl => dom/media/webspeech/synth/ipc/PSpeechSynthesisRequest.ipdl
rename : content/media/webspeech/synth/ipc/SpeechSynthesisChild.cpp => dom/media/webspeech/synth/ipc/SpeechSynthesisChild.cpp
rename : content/media/webspeech/synth/ipc/SpeechSynthesisChild.h => dom/media/webspeech/synth/ipc/SpeechSynthesisChild.h
rename : content/media/webspeech/synth/ipc/SpeechSynthesisParent.cpp => dom/media/webspeech/synth/ipc/SpeechSynthesisParent.cpp
rename : content/media/webspeech/synth/ipc/SpeechSynthesisParent.h => dom/media/webspeech/synth/ipc/SpeechSynthesisParent.h
rename : content/media/webspeech/synth/ipc/test/file_ipc.html => dom/media/webspeech/synth/ipc/test/file_ipc.html
rename : content/media/webspeech/synth/ipc/test/mochitest.ini => dom/media/webspeech/synth/ipc/test/mochitest.ini
rename : content/media/webspeech/synth/ipc/test/test_ipc.html => dom/media/webspeech/synth/ipc/test/test_ipc.html
rename : content/media/webspeech/synth/moz.build => dom/media/webspeech/synth/moz.build
rename : content/media/webspeech/synth/nsISpeechService.idl => dom/media/webspeech/synth/nsISpeechService.idl
rename : content/media/webspeech/synth/nsISynthVoiceRegistry.idl => dom/media/webspeech/synth/nsISynthVoiceRegistry.idl
rename : content/media/webspeech/synth/nsSpeechTask.cpp => dom/media/webspeech/synth/nsSpeechTask.cpp
rename : content/media/webspeech/synth/nsSpeechTask.h => dom/media/webspeech/synth/nsSpeechTask.h
rename : content/media/webspeech/synth/nsSynthVoiceRegistry.cpp => dom/media/webspeech/synth/nsSynthVoiceRegistry.cpp
rename : content/media/webspeech/synth/nsSynthVoiceRegistry.h => dom/media/webspeech/synth/nsSynthVoiceRegistry.h
rename : content/media/webspeech/synth/pico/PicoModule.cpp => dom/media/webspeech/synth/pico/PicoModule.cpp
rename : content/media/webspeech/synth/pico/moz.build => dom/media/webspeech/synth/pico/moz.build
rename : content/media/webspeech/synth/pico/nsPicoService.cpp => dom/media/webspeech/synth/pico/nsPicoService.cpp
rename : content/media/webspeech/synth/pico/nsPicoService.h => dom/media/webspeech/synth/pico/nsPicoService.h
rename : content/media/webspeech/synth/test/common.js => dom/media/webspeech/synth/test/common.js
rename : content/media/webspeech/synth/test/file_setup.html => dom/media/webspeech/synth/test/file_setup.html
rename : content/media/webspeech/synth/test/file_speech_queue.html => dom/media/webspeech/synth/test/file_speech_queue.html
rename : content/media/webspeech/synth/test/file_speech_simple.html => dom/media/webspeech/synth/test/file_speech_simple.html
rename : content/media/webspeech/synth/test/mochitest.ini => dom/media/webspeech/synth/test/mochitest.ini
rename : content/media/webspeech/synth/test/test_setup.html => dom/media/webspeech/synth/test/test_setup.html
rename : content/media/webspeech/synth/test/test_speech_queue.html => dom/media/webspeech/synth/test/test_speech_queue.html
rename : content/media/webspeech/synth/test/test_speech_simple.html => dom/media/webspeech/synth/test/test_speech_simple.html
rename : content/media/webvtt/WebVTT.manifest => dom/media/webvtt/WebVTT.manifest
rename : content/media/webvtt/WebVTTParserWrapper.js => dom/media/webvtt/WebVTTParserWrapper.js
rename : content/media/webvtt/moz.build => dom/media/webvtt/moz.build
rename : content/media/webvtt/nsIWebVTTListener.idl => dom/media/webvtt/nsIWebVTTListener.idl
rename : content/media/webvtt/nsIWebVTTParserWrapper.idl => dom/media/webvtt/nsIWebVTTParserWrapper.idl
rename : content/media/webvtt/package.json => dom/media/webvtt/package.json
rename : content/media/webvtt/update-webvtt.js => dom/media/webvtt/update-webvtt.js
rename : content/media/webvtt/vtt.jsm => dom/media/webvtt/vtt.jsm
rename : content/media/wmf/DXVA2Manager.cpp => dom/media/wmf/DXVA2Manager.cpp
rename : content/media/wmf/DXVA2Manager.h => dom/media/wmf/DXVA2Manager.h
rename : content/media/wmf/WMF.h => dom/media/wmf/WMF.h
rename : content/media/wmf/WMFByteStream.cpp => dom/media/wmf/WMFByteStream.cpp
rename : content/media/wmf/WMFByteStream.h => dom/media/wmf/WMFByteStream.h
rename : content/media/wmf/WMFDecoder.cpp => dom/media/wmf/WMFDecoder.cpp
rename : content/media/wmf/WMFDecoder.h => dom/media/wmf/WMFDecoder.h
rename : content/media/wmf/WMFReader.cpp => dom/media/wmf/WMFReader.cpp
rename : content/media/wmf/WMFReader.h => dom/media/wmf/WMFReader.h
rename : content/media/wmf/WMFSourceReaderCallback.cpp => dom/media/wmf/WMFSourceReaderCallback.cpp
rename : content/media/wmf/WMFSourceReaderCallback.h => dom/media/wmf/WMFSourceReaderCallback.h
rename : content/media/wmf/WMFUtils.cpp => dom/media/wmf/WMFUtils.cpp
rename : content/media/wmf/WMFUtils.h => dom/media/wmf/WMFUtils.h
rename : content/media/wmf/moz.build => dom/media/wmf/moz.build
2014-10-25 20:24:36 +03:00

1509 lines
49 KiB
C++

/* -*- 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 <string.h>
#include "mozilla/DebugOnly.h"
#include "mozilla/Endian.h"
#include <stdint.h>
#include "nsDebug.h"
#include "MediaDecoderReader.h"
#include "OggCodecState.h"
#include "OggDecoder.h"
#include "nsISupportsImpl.h"
#include "VideoUtils.h"
#include <algorithm>
// On Android JellyBean, the hardware.h header redefines version_major and
// version_minor, which breaks our build. See:
// https://bugzilla.mozilla.org/show_bug.cgi?id=912702#c6
#ifdef MOZ_WIDGET_GONK
#ifdef version_major
#undef version_major
#endif
#ifdef version_minor
#undef version_minor
#endif
#endif
namespace mozilla {
#ifdef PR_LOGGING
extern PRLogModuleInfo* gMediaDecoderLog;
#define LOG(type, msg) PR_LOG(gMediaDecoderLog, type, msg)
#else
#define LOG(type, msg)
#endif
/** Decoder base class for Ogg-encapsulated streams. */
OggCodecState*
OggCodecState::Create(ogg_page* aPage)
{
NS_ASSERTION(ogg_page_bos(aPage), "Only call on BOS page!");
nsAutoPtr<OggCodecState> codecState;
if (aPage->body_len > 6 && memcmp(aPage->body+1, "theora", 6) == 0) {
codecState = new TheoraState(aPage);
} else if (aPage->body_len > 6 && memcmp(aPage->body+1, "vorbis", 6) == 0) {
codecState = new VorbisState(aPage);
#ifdef MOZ_OPUS
} else if (aPage->body_len > 8 && memcmp(aPage->body, "OpusHead", 8) == 0) {
codecState = new OpusState(aPage);
#endif
} else if (aPage->body_len > 8 && memcmp(aPage->body, "fishead\0", 8) == 0) {
codecState = new SkeletonState(aPage);
} else {
codecState = new OggCodecState(aPage, false);
}
return codecState->OggCodecState::Init() ? codecState.forget() : nullptr;
}
OggCodecState::OggCodecState(ogg_page* aBosPage, bool aActive) :
mPacketCount(0),
mSerial(ogg_page_serialno(aBosPage)),
mActive(aActive),
mDoneReadingHeaders(!aActive)
{
MOZ_COUNT_CTOR(OggCodecState);
memset(&mState, 0, sizeof(ogg_stream_state));
}
OggCodecState::~OggCodecState() {
MOZ_COUNT_DTOR(OggCodecState);
Reset();
#ifdef DEBUG
int ret =
#endif
ogg_stream_clear(&mState);
NS_ASSERTION(ret == 0, "ogg_stream_clear failed");
}
nsresult OggCodecState::Reset() {
if (ogg_stream_reset(&mState) != 0) {
return NS_ERROR_FAILURE;
}
mPackets.Erase();
ClearUnstamped();
return NS_OK;
}
void OggCodecState::ClearUnstamped()
{
for (uint32_t i = 0; i < mUnstamped.Length(); ++i) {
OggCodecState::ReleasePacket(mUnstamped[i]);
}
mUnstamped.Clear();
}
bool OggCodecState::Init() {
int ret = ogg_stream_init(&mState, mSerial);
return ret == 0;
}
bool OggCodecState::IsValidVorbisTagName(nsCString& aName)
{
// Tag names must consist of ASCII 0x20 through 0x7D,
// excluding 0x3D '=' which is the separator.
uint32_t length = aName.Length();
const char* data = aName.Data();
for (uint32_t i = 0; i < length; i++) {
if (data[i] < 0x20 || data[i] > 0x7D || data[i] == '=') {
return false;
}
}
return true;
}
bool OggCodecState::AddVorbisComment(MetadataTags* aTags,
const char* aComment,
uint32_t aLength)
{
const char* div = (const char*)memchr(aComment, '=', aLength);
if (!div) {
LOG(PR_LOG_DEBUG, ("Skipping comment: no separator"));
return false;
}
nsCString key = nsCString(aComment, div-aComment);
if (!IsValidVorbisTagName(key)) {
LOG(PR_LOG_DEBUG, ("Skipping comment: invalid tag name"));
return false;
}
uint32_t valueLength = aLength - (div-aComment);
nsCString value = nsCString(div + 1, valueLength);
if (!IsUTF8(value)) {
LOG(PR_LOG_DEBUG, ("Skipping comment: invalid UTF-8 in value"));
return false;
}
aTags->Put(key, value);
return true;
}
void VorbisState::RecordVorbisPacketSamples(ogg_packet* aPacket,
long aSamples)
{
#ifdef VALIDATE_VORBIS_SAMPLE_CALCULATION
mVorbisPacketSamples[aPacket] = aSamples;
#endif
}
void VorbisState::ValidateVorbisPacketSamples(ogg_packet* aPacket,
long aSamples)
{
#ifdef VALIDATE_VORBIS_SAMPLE_CALCULATION
NS_ASSERTION(mVorbisPacketSamples[aPacket] == aSamples,
"Decoded samples for Vorbis packet don't match expected!");
mVorbisPacketSamples.erase(aPacket);
#endif
}
void VorbisState::AssertHasRecordedPacketSamples(ogg_packet* aPacket)
{
#ifdef VALIDATE_VORBIS_SAMPLE_CALCULATION
NS_ASSERTION(mVorbisPacketSamples.count(aPacket) == 1,
"Must have recorded packet samples");
#endif
}
static ogg_packet* Clone(ogg_packet* aPacket) {
ogg_packet* p = new ogg_packet();
memcpy(p, aPacket, sizeof(ogg_packet));
p->packet = new unsigned char[p->bytes];
memcpy(p->packet, aPacket->packet, p->bytes);
return p;
}
void OggCodecState::ReleasePacket(ogg_packet* aPacket) {
if (aPacket)
delete [] aPacket->packet;
delete aPacket;
}
void OggPacketQueue::Append(ogg_packet* aPacket) {
nsDeque::Push(aPacket);
}
ogg_packet* OggCodecState::PacketOut() {
if (mPackets.IsEmpty()) {
return nullptr;
}
return mPackets.PopFront();
}
nsresult OggCodecState::PageIn(ogg_page* aPage) {
if (!mActive)
return NS_OK;
NS_ASSERTION(static_cast<uint32_t>(ogg_page_serialno(aPage)) == mSerial,
"Page must be for this stream!");
if (ogg_stream_pagein(&mState, aPage) == -1)
return NS_ERROR_FAILURE;
int r;
do {
ogg_packet packet;
r = ogg_stream_packetout(&mState, &packet);
if (r == 1) {
mPackets.Append(Clone(&packet));
}
} while (r != 0);
if (ogg_stream_check(&mState)) {
NS_WARNING("Unrecoverable error in ogg_stream_packetout");
return NS_ERROR_FAILURE;
}
return NS_OK;
}
nsresult OggCodecState::PacketOutUntilGranulepos(bool& aFoundGranulepos) {
int r;
aFoundGranulepos = false;
// Extract packets from the sync state until either no more packets
// come out, or we get a data packet with non -1 granulepos.
do {
ogg_packet packet;
r = ogg_stream_packetout(&mState, &packet);
if (r == 1) {
ogg_packet* clone = Clone(&packet);
if (IsHeader(&packet)) {
// Header packets go straight into the packet queue.
mPackets.Append(clone);
} else {
// We buffer data packets until we encounter a granulepos. We'll
// then use the granulepos to figure out the granulepos of the
// preceeding packets.
mUnstamped.AppendElement(clone);
aFoundGranulepos = packet.granulepos > 0;
}
}
} while (r != 0 && !aFoundGranulepos);
if (ogg_stream_check(&mState)) {
NS_WARNING("Unrecoverable error in ogg_stream_packetout");
return NS_ERROR_FAILURE;
}
return NS_OK;
}
TheoraState::TheoraState(ogg_page* aBosPage) :
OggCodecState(aBosPage, true),
mSetup(0),
mCtx(0),
mPixelAspectRatio(0)
{
MOZ_COUNT_CTOR(TheoraState);
th_info_init(&mInfo);
th_comment_init(&mComment);
}
TheoraState::~TheoraState() {
MOZ_COUNT_DTOR(TheoraState);
th_setup_free(mSetup);
th_decode_free(mCtx);
th_comment_clear(&mComment);
th_info_clear(&mInfo);
}
bool TheoraState::Init() {
if (!mActive)
return false;
int64_t n = mInfo.aspect_numerator;
int64_t d = mInfo.aspect_denominator;
mPixelAspectRatio = (n == 0 || d == 0) ?
1.0f : static_cast<float>(n) / static_cast<float>(d);
// Ensure the frame and picture regions aren't larger than our prescribed
// maximum, or zero sized.
nsIntSize frame(mInfo.frame_width, mInfo.frame_height);
nsIntRect picture(mInfo.pic_x, mInfo.pic_y, mInfo.pic_width, mInfo.pic_height);
if (!IsValidVideoRegion(frame, picture, frame)) {
return mActive = false;
}
mCtx = th_decode_alloc(&mInfo, mSetup);
if (mCtx == nullptr) {
return mActive = false;
}
return true;
}
bool
TheoraState::DecodeHeader(ogg_packet* aPacket)
{
nsAutoRef<ogg_packet> autoRelease(aPacket);
mPacketCount++;
int ret = th_decode_headerin(&mInfo,
&mComment,
&mSetup,
aPacket);
// We must determine when we've read the last header packet.
// th_decode_headerin() does not tell us when it's read the last header, so
// we must keep track of the headers externally.
//
// There are 3 header packets, the Identification, Comment, and Setup
// headers, which must be in that order. If they're out of order, the file
// is invalid. If we've successfully read a header, and it's the setup
// header, then we're done reading headers. The first byte of each packet
// determines it's type as follows:
// 0x80 -> Identification header
// 0x81 -> Comment header
// 0x82 -> Setup header
// See http://www.theora.org/doc/Theora.pdf Chapter 6, "Bitstream Headers",
// for more details of the Ogg/Theora containment scheme.
bool isSetupHeader = aPacket->bytes > 0 && aPacket->packet[0] == 0x82;
if (ret < 0 || mPacketCount > 3) {
// We've received an error, or the first three packets weren't valid
// header packets. Assume bad input.
// Our caller will deactivate the bitstream.
return false;
} else if (ret > 0 && isSetupHeader && mPacketCount == 3) {
// Successfully read the three header packets.
mDoneReadingHeaders = true;
}
return true;
}
int64_t
TheoraState::Time(int64_t granulepos) {
if (!mActive) {
return -1;
}
return TheoraState::Time(&mInfo, granulepos);
}
bool
TheoraState::IsHeader(ogg_packet* aPacket) {
return th_packet_isheader(aPacket);
}
# define TH_VERSION_CHECK(_info,_maj,_min,_sub) \
(((_info)->version_major>(_maj)||(_info)->version_major==(_maj))&& \
(((_info)->version_minor>(_min)||(_info)->version_minor==(_min))&& \
(_info)->version_subminor>=(_sub)))
int64_t TheoraState::Time(th_info* aInfo, int64_t aGranulepos)
{
if (aGranulepos < 0 || aInfo->fps_numerator == 0) {
return -1;
}
// Implementation of th_granule_frame inlined here to operate
// on the th_info structure instead of the theora_state.
int shift = aInfo->keyframe_granule_shift;
ogg_int64_t iframe = aGranulepos >> shift;
ogg_int64_t pframe = aGranulepos - (iframe << shift);
int64_t frameno = iframe + pframe - TH_VERSION_CHECK(aInfo, 3, 2, 1);
CheckedInt64 t = ((CheckedInt64(frameno) + 1) * USECS_PER_S) * aInfo->fps_denominator;
if (!t.isValid())
return -1;
t /= aInfo->fps_numerator;
return t.isValid() ? t.value() : -1;
}
int64_t TheoraState::StartTime(int64_t granulepos) {
if (granulepos < 0 || !mActive || mInfo.fps_numerator == 0) {
return -1;
}
CheckedInt64 t = (CheckedInt64(th_granule_frame(mCtx, granulepos)) * USECS_PER_S) * mInfo.fps_denominator;
if (!t.isValid())
return -1;
return t.value() / mInfo.fps_numerator;
}
int64_t
TheoraState::MaxKeyframeOffset()
{
// Determine the maximum time in microseconds by which a key frame could
// offset for the theora bitstream. Theora granulepos encode time as:
// ((key_frame_number << granule_shift) + frame_offset).
// Therefore the maximum possible time by which any frame could be offset
// from a keyframe is the duration of (1 << granule_shift) - 1) frames.
int64_t frameDuration;
// Max number of frames keyframe could possibly be offset.
int64_t keyframeDiff = (1 << mInfo.keyframe_granule_shift) - 1;
// Length of frame in usecs.
frameDuration = (mInfo.fps_denominator * USECS_PER_S) / mInfo.fps_numerator;
// Total time in usecs keyframe can be offset from any given frame.
return frameDuration * keyframeDiff;
}
nsresult
TheoraState::PageIn(ogg_page* aPage)
{
if (!mActive)
return NS_OK;
NS_ASSERTION(static_cast<uint32_t>(ogg_page_serialno(aPage)) == mSerial,
"Page must be for this stream!");
if (ogg_stream_pagein(&mState, aPage) == -1)
return NS_ERROR_FAILURE;
bool foundGp;
nsresult res = PacketOutUntilGranulepos(foundGp);
if (NS_FAILED(res))
return res;
if (foundGp && mDoneReadingHeaders) {
// We've found a packet with a granulepos, and we've loaded our metadata
// and initialized our decoder. Determine granulepos of buffered packets.
ReconstructTheoraGranulepos();
for (uint32_t i = 0; i < mUnstamped.Length(); ++i) {
ogg_packet* packet = mUnstamped[i];
#ifdef DEBUG
NS_ASSERTION(!IsHeader(packet), "Don't try to recover header packet gp");
NS_ASSERTION(packet->granulepos != -1, "Packet must have gp by now");
#endif
mPackets.Append(packet);
}
mUnstamped.Clear();
}
return NS_OK;
}
// Returns 1 if the Theora info struct is decoding a media of Theora
// version (maj,min,sub) or later, otherwise returns 0.
int
TheoraVersion(th_info* info,
unsigned char maj,
unsigned char min,
unsigned char sub)
{
ogg_uint32_t ver = (maj << 16) + (min << 8) + sub;
ogg_uint32_t th_ver = (info->version_major << 16) +
(info->version_minor << 8) +
info->version_subminor;
return (th_ver >= ver) ? 1 : 0;
}
void TheoraState::ReconstructTheoraGranulepos()
{
if (mUnstamped.Length() == 0) {
return;
}
ogg_int64_t lastGranulepos = mUnstamped[mUnstamped.Length() - 1]->granulepos;
NS_ASSERTION(lastGranulepos != -1, "Must know last granulepos");
// Reconstruct the granulepos (and thus timestamps) of the decoded
// frames. Granulepos are stored as ((keyframe<<shift)+offset). We
// know the granulepos of the last frame in the list, so we can infer
// the granulepos of the intermediate frames using their frame numbers.
ogg_int64_t shift = mInfo.keyframe_granule_shift;
ogg_int64_t version_3_2_1 = TheoraVersion(&mInfo,3,2,1);
ogg_int64_t lastFrame = th_granule_frame(mCtx,
lastGranulepos) + version_3_2_1;
ogg_int64_t firstFrame = lastFrame - mUnstamped.Length() + 1;
// Until we encounter a keyframe, we'll assume that the "keyframe"
// segment of the granulepos is the first frame, or if that causes
// the "offset" segment to overflow, we assume the required
// keyframe is maximumally offset. Until we encounter a keyframe
// the granulepos will probably be wrong, but we can't decode the
// frame anyway (since we don't have its keyframe) so it doesn't really
// matter.
ogg_int64_t keyframe = lastGranulepos >> shift;
// The lastFrame, firstFrame, keyframe variables, as well as the frame
// variable in the loop below, store the frame number for Theora
// version >= 3.2.1 streams, and store the frame index for Theora
// version < 3.2.1 streams.
for (uint32_t i = 0; i < mUnstamped.Length() - 1; ++i) {
ogg_int64_t frame = firstFrame + i;
ogg_int64_t granulepos;
ogg_packet* packet = mUnstamped[i];
bool isKeyframe = th_packet_iskeyframe(packet) == 1;
if (isKeyframe) {
granulepos = frame << shift;
keyframe = frame;
} else if (frame >= keyframe &&
frame - keyframe < ((ogg_int64_t)1 << shift))
{
// (frame - keyframe) won't overflow the "offset" segment of the
// granulepos, so it's safe to calculate the granulepos.
granulepos = (keyframe << shift) + (frame - keyframe);
} else {
// (frame - keyframeno) will overflow the "offset" segment of the
// granulepos, so we take "keyframe" to be the max possible offset
// frame instead.
ogg_int64_t k = std::max(frame - (((ogg_int64_t)1 << shift) - 1), version_3_2_1);
granulepos = (k << shift) + (frame - k);
}
// Theora 3.2.1+ granulepos store frame number [1..N], so granulepos
// should be > 0.
// Theora 3.2.0 granulepos store the frame index [0..(N-1)], so
// granulepos should be >= 0.
NS_ASSERTION(granulepos >= version_3_2_1,
"Invalid granulepos for Theora version");
// Check that the frame's granule number is one more than the
// previous frame's.
NS_ASSERTION(i == 0 ||
th_granule_frame(mCtx, granulepos) ==
th_granule_frame(mCtx, mUnstamped[i-1]->granulepos) + 1,
"Granulepos calculation is incorrect!");
packet->granulepos = granulepos;
}
// Check that the second to last frame's granule number is one less than
// the last frame's (the known granule number). If not our granulepos
// recovery missed a beat.
NS_ASSERTION(mUnstamped.Length() < 2 ||
th_granule_frame(mCtx, mUnstamped[mUnstamped.Length()-2]->granulepos) + 1 ==
th_granule_frame(mCtx, lastGranulepos),
"Granulepos recovery should catch up with packet->granulepos!");
}
nsresult VorbisState::Reset()
{
nsresult res = NS_OK;
if (mActive && vorbis_synthesis_restart(&mDsp) != 0) {
res = NS_ERROR_FAILURE;
}
if (NS_FAILED(OggCodecState::Reset())) {
return NS_ERROR_FAILURE;
}
mGranulepos = 0;
mPrevVorbisBlockSize = 0;
return res;
}
VorbisState::VorbisState(ogg_page* aBosPage) :
OggCodecState(aBosPage, true),
mPrevVorbisBlockSize(0),
mGranulepos(0)
{
MOZ_COUNT_CTOR(VorbisState);
vorbis_info_init(&mInfo);
vorbis_comment_init(&mComment);
memset(&mDsp, 0, sizeof(vorbis_dsp_state));
memset(&mBlock, 0, sizeof(vorbis_block));
}
VorbisState::~VorbisState() {
MOZ_COUNT_DTOR(VorbisState);
Reset();
vorbis_block_clear(&mBlock);
vorbis_dsp_clear(&mDsp);
vorbis_info_clear(&mInfo);
vorbis_comment_clear(&mComment);
}
bool VorbisState::DecodeHeader(ogg_packet* aPacket) {
nsAutoRef<ogg_packet> autoRelease(aPacket);
mPacketCount++;
int ret = vorbis_synthesis_headerin(&mInfo,
&mComment,
aPacket);
// We must determine when we've read the last header packet.
// vorbis_synthesis_headerin() does not tell us when it's read the last
// header, so we must keep track of the headers externally.
//
// There are 3 header packets, the Identification, Comment, and Setup
// headers, which must be in that order. If they're out of order, the file
// is invalid. If we've successfully read a header, and it's the setup
// header, then we're done reading headers. The first byte of each packet
// determines it's type as follows:
// 0x1 -> Identification header
// 0x3 -> Comment header
// 0x5 -> Setup header
// For more details of the Vorbis/Ogg containment scheme, see the Vorbis I
// Specification, Chapter 4, Codec Setup and Packet Decode:
// http://www.xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-580004
bool isSetupHeader = aPacket->bytes > 0 && aPacket->packet[0] == 0x5;
if (ret < 0 || mPacketCount > 3) {
// We've received an error, or the first three packets weren't valid
// header packets. Assume bad input. Our caller will deactivate the
// bitstream.
return false;
} else if (ret == 0 && isSetupHeader && mPacketCount == 3) {
// Successfully read the three header packets.
// The bitstream remains active.
mDoneReadingHeaders = true;
}
return true;
}
bool VorbisState::Init()
{
if (!mActive)
return false;
int ret = vorbis_synthesis_init(&mDsp, &mInfo);
if (ret != 0) {
NS_WARNING("vorbis_synthesis_init() failed initializing vorbis bitstream");
return mActive = false;
}
ret = vorbis_block_init(&mDsp, &mBlock);
if (ret != 0) {
NS_WARNING("vorbis_block_init() failed initializing vorbis bitstream");
if (mActive) {
vorbis_dsp_clear(&mDsp);
}
return mActive = false;
}
return true;
}
int64_t VorbisState::Time(int64_t granulepos)
{
if (!mActive) {
return -1;
}
return VorbisState::Time(&mInfo, granulepos);
}
int64_t VorbisState::Time(vorbis_info* aInfo, int64_t aGranulepos)
{
if (aGranulepos == -1 || aInfo->rate == 0) {
return -1;
}
CheckedInt64 t = CheckedInt64(aGranulepos) * USECS_PER_S;
if (!t.isValid())
t = 0;
return t.value() / aInfo->rate;
}
bool
VorbisState::IsHeader(ogg_packet* aPacket)
{
// The first byte in each Vorbis header packet is either 0x01, 0x03, or 0x05,
// i.e. the first bit is odd. Audio data packets have their first bit as 0x0.
// Any packet with its first bit set cannot be a data packet, it's a
// (possibly invalid) header packet.
// See: http://xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-610004.2.1
return aPacket->bytes > 0 ? (aPacket->packet[0] & 0x1) : false;
}
MetadataTags*
VorbisState::GetTags()
{
MetadataTags* tags;
NS_ASSERTION(mComment.user_comments, "no vorbis comment strings!");
NS_ASSERTION(mComment.comment_lengths, "no vorbis comment lengths!");
tags = new MetadataTags;
for (int i = 0; i < mComment.comments; i++) {
AddVorbisComment(tags, mComment.user_comments[i],
mComment.comment_lengths[i]);
}
return tags;
}
nsresult
VorbisState::PageIn(ogg_page* aPage)
{
if (!mActive)
return NS_OK;
NS_ASSERTION(static_cast<uint32_t>(ogg_page_serialno(aPage)) == mSerial,
"Page must be for this stream!");
if (ogg_stream_pagein(&mState, aPage) == -1)
return NS_ERROR_FAILURE;
bool foundGp;
nsresult res = PacketOutUntilGranulepos(foundGp);
if (NS_FAILED(res))
return res;
if (foundGp && mDoneReadingHeaders) {
// We've found a packet with a granulepos, and we've loaded our metadata
// and initialized our decoder. Determine granulepos of buffered packets.
ReconstructVorbisGranulepos();
for (uint32_t i = 0; i < mUnstamped.Length(); ++i) {
ogg_packet* packet = mUnstamped[i];
AssertHasRecordedPacketSamples(packet);
NS_ASSERTION(!IsHeader(packet), "Don't try to recover header packet gp");
NS_ASSERTION(packet->granulepos != -1, "Packet must have gp by now");
mPackets.Append(packet);
}
mUnstamped.Clear();
}
return NS_OK;
}
nsresult VorbisState::ReconstructVorbisGranulepos()
{
// The number of samples in a Vorbis packet is:
// window_blocksize(previous_packet)/4+window_blocksize(current_packet)/4
// See: http://xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-230001.3.2
// So we maintain mPrevVorbisBlockSize, the block size of the last packet
// encountered. We also maintain mGranulepos, which is the granulepos of
// the last encountered packet. This enables us to give granulepos to
// packets when the last packet in mUnstamped doesn't have a granulepos
// (for example if the stream was truncated).
//
// We validate our prediction of the number of samples decoded when
// VALIDATE_VORBIS_SAMPLE_CALCULATION is defined by recording the predicted
// number of samples, and verifing we extract that many when decoding
// each packet.
NS_ASSERTION(mUnstamped.Length() > 0, "Length must be > 0");
ogg_packet* last = mUnstamped[mUnstamped.Length()-1];
NS_ASSERTION(last->e_o_s || last->granulepos >= 0,
"Must know last granulepos!");
if (mUnstamped.Length() == 1) {
ogg_packet* packet = mUnstamped[0];
long blockSize = vorbis_packet_blocksize(&mInfo, packet);
if (blockSize < 0) {
// On failure vorbis_packet_blocksize returns < 0. If we've got
// a bad packet, we just assume that decode will have to skip this
// packet, i.e. assume 0 samples are decodable from this packet.
blockSize = 0;
mPrevVorbisBlockSize = 0;
}
long samples = mPrevVorbisBlockSize / 4 + blockSize / 4;
mPrevVorbisBlockSize = blockSize;
if (packet->granulepos == -1) {
packet->granulepos = mGranulepos + samples;
}
// Account for a partial last frame
if (packet->e_o_s && packet->granulepos >= mGranulepos) {
samples = packet->granulepos - mGranulepos;
}
mGranulepos = packet->granulepos;
RecordVorbisPacketSamples(packet, samples);
return NS_OK;
}
bool unknownGranulepos = last->granulepos == -1;
int totalSamples = 0;
for (int32_t i = mUnstamped.Length() - 1; i > 0; i--) {
ogg_packet* packet = mUnstamped[i];
ogg_packet* prev = mUnstamped[i-1];
ogg_int64_t granulepos = packet->granulepos;
NS_ASSERTION(granulepos != -1, "Must know granulepos!");
long prevBlockSize = vorbis_packet_blocksize(&mInfo, prev);
long blockSize = vorbis_packet_blocksize(&mInfo, packet);
if (blockSize < 0 || prevBlockSize < 0) {
// On failure vorbis_packet_blocksize returns < 0. If we've got
// a bad packet, we just assume that decode will have to skip this
// packet, i.e. assume 0 samples are decodable from this packet.
blockSize = 0;
prevBlockSize = 0;
}
long samples = prevBlockSize / 4 + blockSize / 4;
totalSamples += samples;
prev->granulepos = granulepos - samples;
RecordVorbisPacketSamples(packet, samples);
}
if (unknownGranulepos) {
for (uint32_t i = 0; i < mUnstamped.Length(); i++) {
ogg_packet* packet = mUnstamped[i];
packet->granulepos += mGranulepos + totalSamples + 1;
}
}
ogg_packet* first = mUnstamped[0];
long blockSize = vorbis_packet_blocksize(&mInfo, first);
if (blockSize < 0) {
mPrevVorbisBlockSize = 0;
blockSize = 0;
}
long samples = (mPrevVorbisBlockSize == 0) ? 0 :
mPrevVorbisBlockSize / 4 + blockSize / 4;
int64_t start = first->granulepos - samples;
RecordVorbisPacketSamples(first, samples);
if (last->e_o_s && start < mGranulepos) {
// We've calculated that there are more samples in this page than its
// granulepos claims, and it's the last page in the stream. This is legal,
// and we will need to prune the trailing samples when we come to decode it.
// We must correct the timestamps so that they follow the last Vorbis page's
// samples.
int64_t pruned = mGranulepos - start;
for (uint32_t i = 0; i < mUnstamped.Length() - 1; i++) {
mUnstamped[i]->granulepos += pruned;
}
#ifdef VALIDATE_VORBIS_SAMPLE_CALCULATION
mVorbisPacketSamples[last] -= pruned;
#endif
}
mPrevVorbisBlockSize = vorbis_packet_blocksize(&mInfo, last);
mPrevVorbisBlockSize = std::max(static_cast<long>(0), mPrevVorbisBlockSize);
mGranulepos = last->granulepos;
return NS_OK;
}
#ifdef MOZ_OPUS
OpusState::OpusState(ogg_page* aBosPage) :
OggCodecState(aBosPage, true),
mParser(nullptr),
mDecoder(nullptr),
mSkip(0),
mPrevPacketGranulepos(0),
mPrevPageGranulepos(0)
{
MOZ_COUNT_CTOR(OpusState);
}
OpusState::~OpusState() {
MOZ_COUNT_DTOR(OpusState);
Reset();
if (mDecoder) {
opus_multistream_decoder_destroy(mDecoder);
mDecoder = nullptr;
}
}
nsresult OpusState::Reset()
{
return Reset(false);
}
nsresult OpusState::Reset(bool aStart)
{
nsresult res = NS_OK;
if (mActive && mDecoder) {
// Reset the decoder.
opus_multistream_decoder_ctl(mDecoder, OPUS_RESET_STATE);
// Let the seek logic handle pre-roll if we're not seeking to the start.
mSkip = aStart ? mParser->mPreSkip : 0;
// This lets us distinguish the first page being the last page vs. just
// not having processed the previous page when we encounter the last page.
mPrevPageGranulepos = aStart ? 0 : -1;
mPrevPacketGranulepos = aStart ? 0 : -1;
}
// Clear queued data.
if (NS_FAILED(OggCodecState::Reset())) {
return NS_ERROR_FAILURE;
}
LOG(PR_LOG_DEBUG, ("Opus decoder reset, to skip %d", mSkip));
return res;
}
bool OpusState::Init(void)
{
if (!mActive)
return false;
int error;
NS_ASSERTION(mDecoder == nullptr, "leaking OpusDecoder");
mDecoder = opus_multistream_decoder_create(mParser->mRate,
mParser->mChannels,
mParser->mStreams,
mParser->mCoupledStreams,
mParser->mMappingTable,
&error);
mSkip = mParser->mPreSkip;
LOG(PR_LOG_DEBUG, ("Opus decoder init, to skip %d", mSkip));
return error == OPUS_OK;
}
bool OpusState::DecodeHeader(ogg_packet* aPacket)
{
nsAutoRef<ogg_packet> autoRelease(aPacket);
switch(mPacketCount++) {
// Parse the id header.
case 0: {
mParser = new OpusParser;
if(!mParser->DecodeHeader(aPacket->packet, aPacket->bytes)) {
return false;
}
mRate = mParser->mRate;
mChannels = mParser->mChannels;
mPreSkip = mParser->mPreSkip;
#ifdef MOZ_SAMPLE_TYPE_FLOAT32
mGain = mParser->mGain;
#else
mGain_Q16 = mParser->mGain_Q16;
#endif
}
break;
// Parse the metadata header.
case 1: {
if(!mParser->DecodeTags(aPacket->packet, aPacket->bytes)) {
return false;
}
}
break;
// We made it to the first data packet (which includes reconstructing
// timestamps for it in PageIn). Success!
default: {
mDoneReadingHeaders = true;
// Put it back on the queue so we can decode it.
mPackets.PushFront(autoRelease.disown());
}
break;
}
return true;
}
/* Construct and return a tags hashmap from our internal array */
MetadataTags* OpusState::GetTags()
{
MetadataTags* tags;
tags = new MetadataTags;
for (uint32_t i = 0; i < mParser->mTags.Length(); i++) {
AddVorbisComment(tags, mParser->mTags[i].Data(), mParser->mTags[i].Length());
}
return tags;
}
/* Return the timestamp (in microseconds) equivalent to a granulepos. */
int64_t OpusState::Time(int64_t aGranulepos)
{
if (!mActive)
return -1;
return Time(mParser->mPreSkip, aGranulepos);
}
int64_t OpusState::Time(int aPreSkip, int64_t aGranulepos)
{
if (aGranulepos < 0)
return -1;
// Ogg Opus always runs at a granule rate of 48 kHz.
CheckedInt64 t = CheckedInt64(aGranulepos - aPreSkip) * USECS_PER_S;
return t.isValid() ? t.value() / 48000 : -1;
}
bool OpusState::IsHeader(ogg_packet* aPacket)
{
return aPacket->bytes >= 16 &&
(!memcmp(aPacket->packet, "OpusHead", 8) ||
!memcmp(aPacket->packet, "OpusTags", 8));
}
nsresult OpusState::PageIn(ogg_page* aPage)
{
if (!mActive)
return NS_OK;
NS_ASSERTION(static_cast<uint32_t>(ogg_page_serialno(aPage)) == mSerial,
"Page must be for this stream!");
if (ogg_stream_pagein(&mState, aPage) == -1)
return NS_ERROR_FAILURE;
bool haveGranulepos;
nsresult rv = PacketOutUntilGranulepos(haveGranulepos);
if (NS_FAILED(rv) || !haveGranulepos || mPacketCount < 2)
return rv;
if(!ReconstructOpusGranulepos())
return NS_ERROR_FAILURE;
for (uint32_t i = 0; i < mUnstamped.Length(); i++) {
ogg_packet* packet = mUnstamped[i];
NS_ASSERTION(!IsHeader(packet), "Don't try to play a header packet");
NS_ASSERTION(packet->granulepos != -1, "Packet should have a granulepos");
mPackets.Append(packet);
}
mUnstamped.Clear();
return NS_OK;
}
// Helper method to return the change in granule position due to an Opus packet
// (as distinct from the number of samples in the packet, which depends on the
// decoder rate). It should work with a multistream Opus file, and continue to
// work should we ever allow the decoder to decode at a rate other than 48 kHz.
// It even works before we've created the actual Opus decoder.
static int GetOpusDeltaGP(ogg_packet* packet)
{
int nframes;
nframes = opus_packet_get_nb_frames(packet->packet, packet->bytes);
if (nframes > 0) {
return nframes*opus_packet_get_samples_per_frame(packet->packet, 48000);
}
NS_WARNING("Invalid Opus packet.");
return nframes;
}
bool OpusState::ReconstructOpusGranulepos(void)
{
NS_ASSERTION(mUnstamped.Length() > 0, "Must have unstamped packets");
ogg_packet* last = mUnstamped[mUnstamped.Length()-1];
NS_ASSERTION(last->e_o_s || last->granulepos > 0,
"Must know last granulepos!");
int64_t gp;
// If this is the last page, and we've seen at least one previous page (or
// this is the first page)...
if (last->e_o_s) {
if (mPrevPageGranulepos != -1) {
// If this file only has one page and the final granule position is
// smaller than the pre-skip amount, we MUST reject the stream.
if (!mDoneReadingHeaders && last->granulepos < mPreSkip)
return false;
int64_t last_gp = last->granulepos;
gp = mPrevPageGranulepos;
// Loop through the packets forwards, adding the current packet's
// duration to the previous granulepos to get the value for the
// current packet.
for (uint32_t i = 0; i < mUnstamped.Length() - 1; ++i) {
ogg_packet* packet = mUnstamped[i];
int offset = GetOpusDeltaGP(packet);
// Check for error (negative offset) and overflow.
if (offset >= 0 && gp <= INT64_MAX - offset) {
gp += offset;
if (gp >= last_gp) {
NS_WARNING("Opus end trimming removed more than a full packet.");
// We were asked to remove a full packet's worth of data or more.
// Encoders SHOULD NOT produce streams like this, but we'll handle
// it for them anyway.
gp = last_gp;
for (uint32_t j = i+1; j < mUnstamped.Length(); ++j) {
OggCodecState::ReleasePacket(mUnstamped[j]);
}
mUnstamped.RemoveElementsAt(i+1, mUnstamped.Length() - (i+1));
last = packet;
last->e_o_s = 1;
}
}
packet->granulepos = gp;
}
mPrevPageGranulepos = last_gp;
return true;
} else {
NS_WARNING("No previous granule position to use for Opus end trimming.");
// If we don't have a previous granule position, fall through.
// We simply won't trim any samples from the end.
// TODO: Are we guaranteed to have seen a previous page if there is one?
}
}
gp = last->granulepos;
// Loop through the packets backwards, subtracting the next
// packet's duration from its granulepos to get the value
// for the current packet.
for (uint32_t i = mUnstamped.Length() - 1; i > 0; i--) {
int offset = GetOpusDeltaGP(mUnstamped[i]);
// Check for error (negative offset) and overflow.
if (offset >= 0) {
if (offset <= gp) {
gp -= offset;
} else {
// If the granule position of the first data page is smaller than the
// number of decodable audio samples on that page, then we MUST reject
// the stream.
if (!mDoneReadingHeaders)
return false;
// It's too late to reject the stream.
// If we get here, this almost certainly means the file has screwed-up
// timestamps somewhere after the first page.
NS_WARNING("Clamping negative Opus granulepos to zero.");
gp = 0;
}
}
mUnstamped[i - 1]->granulepos = gp;
}
// Check to make sure the first granule position is at least as large as the
// total number of samples decodable from the first page with completed
// packets. This requires looking at the duration of the first packet, too.
// We MUST reject such streams.
if (!mDoneReadingHeaders && GetOpusDeltaGP(mUnstamped[0]) > gp)
return false;
mPrevPageGranulepos = last->granulepos;
return true;
}
#endif /* MOZ_OPUS */
SkeletonState::SkeletonState(ogg_page* aBosPage) :
OggCodecState(aBosPage, true),
mVersion(0),
mPresentationTime(0),
mLength(0)
{
MOZ_COUNT_CTOR(SkeletonState);
}
SkeletonState::~SkeletonState()
{
MOZ_COUNT_DTOR(SkeletonState);
}
// Support for Ogg Skeleton 4.0, as per specification at:
// http://wiki.xiph.org/Ogg_Skeleton_4
// Minimum length in bytes of a Skeleton header packet.
static const long SKELETON_MIN_HEADER_LEN = 28;
static const long SKELETON_4_0_MIN_HEADER_LEN = 80;
// Minimum length in bytes of a Skeleton 4.0 index packet.
static const long SKELETON_4_0_MIN_INDEX_LEN = 42;
// Minimum length in bytes of a Skeleton 3.0/4.0 Fisbone packet.
static const long SKELETON_MIN_FISBONE_LEN = 52;
// Minimum possible size of a compressed index keypoint.
static const size_t MIN_KEY_POINT_SIZE = 2;
// Byte offset of the major and minor version numbers in the
// Ogg Skeleton 4.0 header packet.
static const size_t SKELETON_VERSION_MAJOR_OFFSET = 8;
static const size_t SKELETON_VERSION_MINOR_OFFSET = 10;
// Byte-offsets of the presentation time numerator and denominator
static const size_t SKELETON_PRESENTATION_TIME_NUMERATOR_OFFSET = 12;
static const size_t SKELETON_PRESENTATION_TIME_DENOMINATOR_OFFSET = 20;
// Byte-offsets of the length of file field in the Skeleton 4.0 header packet.
static const size_t SKELETON_FILE_LENGTH_OFFSET = 64;
// Byte-offsets of the fields in the Skeleton index packet.
static const size_t INDEX_SERIALNO_OFFSET = 6;
static const size_t INDEX_NUM_KEYPOINTS_OFFSET = 10;
static const size_t INDEX_TIME_DENOM_OFFSET = 18;
static const size_t INDEX_FIRST_NUMER_OFFSET = 26;
static const size_t INDEX_LAST_NUMER_OFFSET = 34;
static const size_t INDEX_KEYPOINT_OFFSET = 42;
// Byte-offsets of the fields in the Skeleton Fisbone packet.
static const size_t FISBONE_MSG_FIELDS_OFFSET = 8;
static const size_t FISBONE_SERIALNO_OFFSET = 12;
static bool IsSkeletonBOS(ogg_packet* aPacket)
{
static_assert(SKELETON_MIN_HEADER_LEN >= 8,
"Minimum length of skeleton BOS header incorrect");
return aPacket->bytes >= SKELETON_MIN_HEADER_LEN &&
memcmp(reinterpret_cast<char*>(aPacket->packet), "fishead", 8) == 0;
}
static bool IsSkeletonIndex(ogg_packet* aPacket)
{
static_assert(SKELETON_4_0_MIN_INDEX_LEN >= 5,
"Minimum length of skeleton index header incorrect");
return aPacket->bytes >= SKELETON_4_0_MIN_INDEX_LEN &&
memcmp(reinterpret_cast<char*>(aPacket->packet), "index", 5) == 0;
}
static bool IsSkeletonFisbone(ogg_packet* aPacket)
{
static_assert(SKELETON_MIN_FISBONE_LEN >= 8,
"Minimum length of skeleton fisbone header incorrect");
return aPacket->bytes >= SKELETON_MIN_FISBONE_LEN &&
memcmp(reinterpret_cast<char*>(aPacket->packet), "fisbone", 8) == 0;
}
// Reads a variable length encoded integer at p. Will not read
// past aLimit. Returns pointer to character after end of integer.
static const unsigned char* ReadVariableLengthInt(const unsigned char* p,
const unsigned char* aLimit,
int64_t& n)
{
int shift = 0;
int64_t byte = 0;
n = 0;
while (p < aLimit &&
(byte & 0x80) != 0x80 &&
shift < 57)
{
byte = static_cast<int64_t>(*p);
n |= ((byte & 0x7f) << shift);
shift += 7;
p++;
}
return p;
}
bool SkeletonState::DecodeIndex(ogg_packet* aPacket)
{
NS_ASSERTION(aPacket->bytes >= SKELETON_4_0_MIN_INDEX_LEN,
"Index must be at least minimum size");
if (!mActive) {
return false;
}
uint32_t serialno = LittleEndian::readUint32(aPacket->packet + INDEX_SERIALNO_OFFSET);
int64_t numKeyPoints = LittleEndian::readInt64(aPacket->packet + INDEX_NUM_KEYPOINTS_OFFSET);
int64_t endTime = 0, startTime = 0;
const unsigned char* p = aPacket->packet;
int64_t timeDenom = LittleEndian::readInt64(aPacket->packet + INDEX_TIME_DENOM_OFFSET);
if (timeDenom == 0) {
LOG(PR_LOG_DEBUG, ("Ogg Skeleton Index packet for stream %u has 0 "
"timestamp denominator.", serialno));
return (mActive = false);
}
// Extract the start time.
CheckedInt64 t = CheckedInt64(LittleEndian::readInt64(p + INDEX_FIRST_NUMER_OFFSET)) * USECS_PER_S;
if (!t.isValid()) {
return (mActive = false);
} else {
startTime = t.value() / timeDenom;
}
// Extract the end time.
t = LittleEndian::readInt64(p + INDEX_LAST_NUMER_OFFSET) * USECS_PER_S;
if (!t.isValid()) {
return (mActive = false);
} else {
endTime = t.value() / timeDenom;
}
// Check the numKeyPoints value read, ensure we're not going to run out of
// memory while trying to decode the index packet.
CheckedInt64 minPacketSize = (CheckedInt64(numKeyPoints) * MIN_KEY_POINT_SIZE) + INDEX_KEYPOINT_OFFSET;
if (!minPacketSize.isValid())
{
return (mActive = false);
}
int64_t sizeofIndex = aPacket->bytes - INDEX_KEYPOINT_OFFSET;
int64_t maxNumKeyPoints = sizeofIndex / MIN_KEY_POINT_SIZE;
if (aPacket->bytes < minPacketSize.value() ||
numKeyPoints > maxNumKeyPoints ||
numKeyPoints < 0)
{
// Packet size is less than the theoretical minimum size, or the packet is
// claiming to store more keypoints than it's capable of storing. This means
// that the numKeyPoints field is too large or small for the packet to
// possibly contain as many packets as it claims to, so the numKeyPoints
// field is possibly malicious. Don't try decoding this index, we may run
// out of memory.
LOG(PR_LOG_DEBUG, ("Possibly malicious number of key points reported "
"(%lld) in index packet for stream %u.",
numKeyPoints,
serialno));
return (mActive = false);
}
nsAutoPtr<nsKeyFrameIndex> keyPoints(new nsKeyFrameIndex(startTime, endTime));
p = aPacket->packet + INDEX_KEYPOINT_OFFSET;
const unsigned char* limit = aPacket->packet + aPacket->bytes;
int64_t numKeyPointsRead = 0;
CheckedInt64 offset = 0;
CheckedInt64 time = 0;
while (p < limit &&
numKeyPointsRead < numKeyPoints)
{
int64_t delta = 0;
p = ReadVariableLengthInt(p, limit, delta);
offset += delta;
if (p == limit ||
!offset.isValid() ||
offset.value() > mLength ||
offset.value() < 0)
{
return (mActive = false);
}
p = ReadVariableLengthInt(p, limit, delta);
time += delta;
if (!time.isValid() ||
time.value() > endTime ||
time.value() < startTime)
{
return (mActive = false);
}
CheckedInt64 timeUsecs = time * USECS_PER_S;
if (!timeUsecs.isValid())
return mActive = false;
timeUsecs /= timeDenom;
keyPoints->Add(offset.value(), timeUsecs.value());
numKeyPointsRead++;
}
int32_t keyPointsRead = keyPoints->Length();
if (keyPointsRead > 0) {
mIndex.Put(serialno, keyPoints.forget());
}
LOG(PR_LOG_DEBUG, ("Loaded %d keypoints for Skeleton on stream %u",
keyPointsRead, serialno));
return true;
}
nsresult SkeletonState::IndexedSeekTargetForTrack(uint32_t aSerialno,
int64_t aTarget,
nsKeyPoint& aResult)
{
nsKeyFrameIndex* index = nullptr;
mIndex.Get(aSerialno, &index);
if (!index ||
index->Length() == 0 ||
aTarget < index->mStartTime ||
aTarget > index->mEndTime)
{
return NS_ERROR_FAILURE;
}
// Binary search to find the last key point with time less than target.
int start = 0;
int end = index->Length() - 1;
while (end > start) {
int mid = start + ((end - start + 1) >> 1);
if (index->Get(mid).mTime == aTarget) {
start = mid;
break;
} else if (index->Get(mid).mTime < aTarget) {
start = mid;
} else {
end = mid - 1;
}
}
aResult = index->Get(start);
NS_ASSERTION(aResult.mTime <= aTarget, "Result should have time <= target");
return NS_OK;
}
nsresult SkeletonState::IndexedSeekTarget(int64_t aTarget,
nsTArray<uint32_t>& aTracks,
nsSeekTarget& aResult)
{
if (!mActive || mVersion < SKELETON_VERSION(4,0)) {
return NS_ERROR_FAILURE;
}
// Loop over all requested tracks' indexes, and get the keypoint for that
// seek target. Record the keypoint with the lowest offset, this will be
// our seek result. User must seek to the one with lowest offset to ensure we
// pass "keyframes" on all tracks when we decode forwards to the seek target.
nsSeekTarget r;
for (uint32_t i=0; i<aTracks.Length(); i++) {
nsKeyPoint k;
if (NS_SUCCEEDED(IndexedSeekTargetForTrack(aTracks[i], aTarget, k)) &&
k.mOffset < r.mKeyPoint.mOffset)
{
r.mKeyPoint = k;
r.mSerial = aTracks[i];
}
}
if (r.IsNull()) {
return NS_ERROR_FAILURE;
}
LOG(PR_LOG_DEBUG, ("Indexed seek target for time %lld is offset %lld",
aTarget, r.mKeyPoint.mOffset));
aResult = r;
return NS_OK;
}
nsresult SkeletonState::GetDuration(const nsTArray<uint32_t>& aTracks,
int64_t& aDuration)
{
if (!mActive ||
mVersion < SKELETON_VERSION(4,0) ||
!HasIndex() ||
aTracks.Length() == 0)
{
return NS_ERROR_FAILURE;
}
int64_t endTime = INT64_MIN;
int64_t startTime = INT64_MAX;
for (uint32_t i=0; i<aTracks.Length(); i++) {
nsKeyFrameIndex* index = nullptr;
mIndex.Get(aTracks[i], &index);
if (!index) {
// Can't get the timestamps for one of the required tracks, fail.
return NS_ERROR_FAILURE;
}
if (index->mEndTime > endTime) {
endTime = index->mEndTime;
}
if (index->mStartTime < startTime) {
startTime = index->mStartTime;
}
}
NS_ASSERTION(endTime > startTime, "Duration must be positive");
CheckedInt64 duration = CheckedInt64(endTime) - startTime;
aDuration = duration.isValid() ? duration.value() : 0;
return duration.isValid() ? NS_OK : NS_ERROR_FAILURE;
}
bool SkeletonState::DecodeFisbone(ogg_packet* aPacket)
{
if (aPacket->bytes < static_cast<long>(FISBONE_MSG_FIELDS_OFFSET + 4)) {
return false;
}
uint32_t offsetMsgField = LittleEndian::readUint32(aPacket->packet + FISBONE_MSG_FIELDS_OFFSET);
if (aPacket->bytes < static_cast<long>(FISBONE_SERIALNO_OFFSET + 4)) {
return false;
}
uint32_t serialno = LittleEndian::readUint32(aPacket->packet + FISBONE_SERIALNO_OFFSET);
CheckedUint32 checked_fields_pos = CheckedUint32(FISBONE_MSG_FIELDS_OFFSET) + offsetMsgField;
if (!checked_fields_pos.isValid() ||
aPacket->bytes < static_cast<int64_t>(checked_fields_pos.value())) {
return false;
}
int64_t msgLength = aPacket->bytes - checked_fields_pos.value();
char* msgProbe = (char*)aPacket->packet + checked_fields_pos.value();
char* msgHead = msgProbe;
nsAutoPtr<MessageField> field(new MessageField());
const static FieldPatternType kFieldTypeMaps[] = {
{"Content-Type:", eContentType},
{"Role:", eRole},
{"Name:", eName},
{"Language:", eLanguage},
{"Title:", eTitle},
{"Display-hint:", eDisplayHint},
{"Altitude:", eAltitude},
{"TrackOrder:", eTrackOrder},
{"Track dependencies:", eTrackDependencies}
};
bool isContentTypeParsed = false;
while (msgLength > 1) {
if (*msgProbe == '\r' && *(msgProbe+1) == '\n') {
nsAutoCString strMsg(msgHead, msgProbe-msgHead);
for (size_t i = 0; i < ArrayLength(kFieldTypeMaps); i++) {
if (strMsg.Find(kFieldTypeMaps[i].mPatternToRecognize) != -1) {
// The content of message header fields follows [RFC2822], and the
// mandatory message field must be encoded in US-ASCII, others
// must be be encoded in UTF-8. "Content-Type" must come first
// for all of message header fields.
// See http://svn.annodex.net/standards/draft-pfeiffer-oggskeleton-current.txt.
if (i != 0 && !isContentTypeParsed) {
return false;
}
if ((i == 0 && IsASCII(strMsg)) || (i != 0 && IsUTF8(strMsg))) {
EMsgHeaderType eHeaderType = kFieldTypeMaps[i].mMsgHeaderType;
if (!field->mValuesStore.Contains(eHeaderType)) {
uint32_t nameLen = strlen(kFieldTypeMaps[i].mPatternToRecognize);
field->mValuesStore.Put(eHeaderType, new nsCString(msgHead+nameLen,
msgProbe-msgHead-nameLen));
}
isContentTypeParsed = i==0 ? true : isContentTypeParsed;
}
break;
}
}
msgProbe += 2;
msgLength -= 2;
msgHead = msgProbe;
continue;
}
msgLength--;
msgProbe++;
};
if (!mMsgFieldStore.Contains(serialno)) {
mMsgFieldStore.Put(serialno, field.forget());
} else {
return false;
}
return true;
}
bool SkeletonState::DecodeHeader(ogg_packet* aPacket)
{
nsAutoRef<ogg_packet> autoRelease(aPacket);
if (IsSkeletonBOS(aPacket)) {
uint16_t verMajor = LittleEndian::readUint16(aPacket->packet + SKELETON_VERSION_MAJOR_OFFSET);
uint16_t verMinor = LittleEndian::readUint16(aPacket->packet + SKELETON_VERSION_MINOR_OFFSET);
// Read the presentation time. We read this before the version check as the
// presentation time exists in all versions.
int64_t n = LittleEndian::readInt64(aPacket->packet + SKELETON_PRESENTATION_TIME_NUMERATOR_OFFSET);
int64_t d = LittleEndian::readInt64(aPacket->packet + SKELETON_PRESENTATION_TIME_DENOMINATOR_OFFSET);
mPresentationTime = d == 0 ? 0 : (static_cast<float>(n) / static_cast<float>(d)) * USECS_PER_S;
mVersion = SKELETON_VERSION(verMajor, verMinor);
// We can only care to parse Skeleton version 4.0+.
if (mVersion < SKELETON_VERSION(4,0) ||
mVersion >= SKELETON_VERSION(5,0) ||
aPacket->bytes < SKELETON_4_0_MIN_HEADER_LEN)
return false;
// Extract the segment length.
mLength = LittleEndian::readInt64(aPacket->packet + SKELETON_FILE_LENGTH_OFFSET);
LOG(PR_LOG_DEBUG, ("Skeleton segment length: %lld", mLength));
// Initialize the serialno-to-index map.
return true;
} else if (IsSkeletonIndex(aPacket) && mVersion >= SKELETON_VERSION(4,0)) {
return DecodeIndex(aPacket);
} else if (IsSkeletonFisbone(aPacket)) {
return DecodeFisbone(aPacket);
} else if (aPacket->e_o_s) {
mDoneReadingHeaders = true;
return true;
}
return true;
}
} // namespace mozilla