summaryrefslogtreecommitdiffstats
path: root/dom/media
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2021-01-19 08:08:18 +0000
committerMoonchild <moonchild@palemoon.org>2021-01-19 08:08:18 +0000
commitc76214f0b54cf74b69d0fb4afa0d2eca2e898a98 (patch)
tree15ee2e9776727ecabcdc52d06de55dfd576485c1 /dom/media
parent810c2bf8080da2bc8ec4efb05223fea31817944b (diff)
parent75286e68d703b1d8a4e0a7c72ce45d089024c124 (diff)
downloadUXP-c76214f0b54cf74b69d0fb4afa0d2eca2e898a98.tar
UXP-c76214f0b54cf74b69d0fb4afa0d2eca2e898a98.tar.gz
UXP-c76214f0b54cf74b69d0fb4afa0d2eca2e898a98.tar.lz
UXP-c76214f0b54cf74b69d0fb4afa0d2eca2e898a98.tar.xz
UXP-c76214f0b54cf74b69d0fb4afa0d2eca2e898a98.zip
Master merge
This merges master into release to replace Redwood. # Conflicts: # CLOBBER # build/moz.configure/old.configure # config/milestone.txt # config/moz.build # config/system-headers # dom/abort/AbortController.cpp # dom/abort/AbortController.h # dom/abort/AbortSignal.cpp # dom/abort/AbortSignal.h # dom/abort/moz.build # dom/abort/tests/moz.build # dom/animation/KeyframeEffect.cpp # dom/base/CustomElementRegistry.cpp # dom/base/DocGroup.cpp # dom/base/ResizeObserverController.cpp # dom/base/ResizeObserverController.h # dom/base/nsContentUtils.cpp # dom/base/nsContentUtils.h # dom/base/nsDocument.cpp # dom/base/nsIDocument.h # dom/fetch/FetchObserver.cpp # dom/fetch/FetchObserver.h # dom/heapsnapshot/AutoMemMap.cpp # dom/heapsnapshot/AutoMemMap.h # dom/heapsnapshot/CoreDump.proto # dom/heapsnapshot/HeapSnapshot.cpp # dom/heapsnapshot/HeapSnapshotTempFileHelperChild.h # dom/heapsnapshot/HeapSnapshotTempFileHelperParent.cpp # dom/heapsnapshot/HeapSnapshotTempFileHelperParent.h # dom/heapsnapshot/PHeapSnapshotTempFileHelper.ipdl # dom/heapsnapshot/moz.build # dom/heapsnapshot/tests/gtest/moz.build # dom/html/nsGenericHTMLElement.h # dom/media/platforms/PlatformDecoderModule.h # dom/media/platforms/moz.build # dom/script/ModuleLoadRequest.cpp # dom/script/ModuleLoadRequest.h # dom/script/ModuleScript.cpp # dom/script/ModuleScript.h # dom/script/ScriptElement.cpp # dom/script/ScriptElement.h # dom/script/ScriptLoadHandler.cpp # dom/script/ScriptLoadHandler.h # dom/script/ScriptLoader.cpp # dom/script/ScriptLoader.h # dom/script/ScriptSettings.cpp # dom/script/ScriptSettings.h # dom/script/nsIScriptElement.h # dom/script/nsIScriptLoaderObserver.idl # dom/webidl/HTMLLinkElement.webidl # gfx/gl/moz.build # gfx/graphite2/src/moz.build # gfx/layers/moz.build # js/ductwork/inspector/moz.build # js/ductwork/moz.build # js/src/gc/Heap.h # js/src/moz.build # js/src/vm/UnboxedObject-inl.h # js/src/vm/UnboxedObject.cpp # js/src/vm/UnboxedObject.h # layout/base/crashtests/crashtests.list # layout/build/moz.build # layout/generic/AspectRatio.h # layout/generic/crashtests/crashtests.list # layout/reftests/bidi/reftest-stylo.list # layout/reftests/reftest-stylo.list # layout/reftests/table-bordercollapse/reftest.list # layout/reftests/writing-mode/reftest-stylo.list # layout/style/StyleSheet.cpp # layout/style/nsRuleNode.cpp # layout/style/nsStyleStruct.cpp # layout/style/nsStyleStruct.h # modules/libpref/init/all.js # nsprpub/pr/src/linking/prlink.c # parser/html/java/htmlparser/src/nu/validator/htmlparser/impl/AttributeName.java # parser/html/java/htmlparser/src/nu/validator/htmlparser/impl/ElementName.java # parser/html/nsHtml5AtomList.h # parser/html/nsHtml5AttributeName.cpp # parser/html/nsHtml5AttributeName.h # parser/html/nsHtml5ElementName.cpp # parser/html/nsHtml5ElementName.h # parser/html/nsHtml5TreeBuilderCppSupplement.h # parser/htmlparser/nsElementTable.cpp # parser/htmlparser/nsHTMLTagList.h # security/nss/lib/nss/nss.h # security/nss/lib/softoken/pkcs11.c # security/nss/lib/softoken/softkver.h # security/nss/lib/util/nssutil.h # testing/web-platform/tests/tools/html5lib/html5lib/html5parser.py # testing/web-platform/tests/tools/html5lib/html5lib/treebuilders/_base.py # toolkit/modules/AppConstants.jsm
Diffstat (limited to 'dom/media')
-rw-r--r--dom/media/ADTSDecoder.cpp1
-rw-r--r--dom/media/ADTSDecoder.h1
-rw-r--r--dom/media/ADTSDemuxer.cpp1
-rw-r--r--dom/media/ADTSDemuxer.h1
-rw-r--r--dom/media/AccurateSeekTask.h1
-rw-r--r--dom/media/AudioCompactor.cpp1
-rw-r--r--dom/media/AudioCompactor.h1
-rw-r--r--dom/media/AudioConverter.cpp1
-rw-r--r--dom/media/AudioConverter.h1
-rw-r--r--dom/media/FrameStatistics.h1
-rw-r--r--dom/media/Intervals.h1
-rw-r--r--dom/media/MediaContentType.cpp1
-rw-r--r--dom/media/MediaData.cpp1
-rw-r--r--dom/media/MediaData.h1
-rw-r--r--dom/media/MediaDataDemuxer.h1
-rw-r--r--dom/media/MediaDecoder.cpp1
-rw-r--r--dom/media/MediaDecoderReader.cpp1
-rw-r--r--dom/media/MediaDecoderReader.h1
-rw-r--r--dom/media/MediaDecoderReaderWrapper.cpp1
-rw-r--r--dom/media/MediaDecoderReaderWrapper.h1
-rw-r--r--dom/media/MediaInfo.cpp1
-rw-r--r--dom/media/MediaInfo.h1
-rw-r--r--dom/media/MediaManager.cpp1
-rw-r--r--dom/media/MediaResourceCallback.h1
-rw-r--r--dom/media/MediaStatistics.h1
-rw-r--r--dom/media/MediaStreamListener.h1
-rw-r--r--dom/media/NextFrameSeekTask.h1
-rw-r--r--dom/media/PrincipalChangeObserver.h1
-rw-r--r--dom/media/QueueObject.cpp1
-rw-r--r--dom/media/SeekTarget.h1
-rw-r--r--dom/media/SeekTask.h1
-rw-r--r--dom/media/SelfRef.h1
-rw-r--r--dom/media/TimeUnits.h1
-rw-r--r--dom/media/VideoPlaybackQuality.cpp1
-rw-r--r--dom/media/VideoPlaybackQuality.h1
-rw-r--r--dom/media/XiphExtradata.cpp1
-rw-r--r--dom/media/XiphExtradata.h1
-rw-r--r--dom/media/bridge/moz.build1
-rw-r--r--dom/media/eme/CDMCaps.cpp1
-rw-r--r--dom/media/eme/CDMCaps.h1
-rw-r--r--dom/media/eme/CDMProxy.h1
-rw-r--r--dom/media/eme/DetailedPromise.cpp1
-rw-r--r--dom/media/eme/DetailedPromise.h1
-rw-r--r--dom/media/eme/EMEUtils.cpp1
-rw-r--r--dom/media/eme/EMEUtils.h1
-rw-r--r--dom/media/eme/MediaEncryptedEvent.cpp1
-rw-r--r--dom/media/eme/MediaEncryptedEvent.h1
-rw-r--r--dom/media/eme/MediaKeyMessageEvent.cpp1
-rw-r--r--dom/media/eme/MediaKeyMessageEvent.h1
-rw-r--r--dom/media/eme/MediaKeySession.cpp1
-rw-r--r--dom/media/eme/MediaKeySession.h1
-rw-r--r--dom/media/eme/MediaKeyStatusMap.cpp1
-rw-r--r--dom/media/eme/MediaKeyStatusMap.h1
-rw-r--r--dom/media/eme/MediaKeys.cpp1
-rw-r--r--dom/media/eme/MediaKeys.h1
-rw-r--r--dom/media/eme/mediadrm/MediaDrmCDMCallbackProxy.cpp1
-rw-r--r--dom/media/eme/mediadrm/MediaDrmCDMCallbackProxy.h1
-rw-r--r--dom/media/eme/mediadrm/MediaDrmCDMProxy.cpp1
-rw-r--r--dom/media/eme/mediadrm/MediaDrmCDMProxy.h1
-rw-r--r--dom/media/eme/mediadrm/MediaDrmProxySupport.cpp1
-rw-r--r--dom/media/eme/mediadrm/MediaDrmProxySupport.h1
-rw-r--r--dom/media/eme/mediadrm/moz.build1
-rw-r--r--dom/media/eme/moz.build1
-rw-r--r--dom/media/encoder/moz.build1
-rw-r--r--dom/media/flac/FlacDecoder.cpp1
-rw-r--r--dom/media/flac/FlacDecoder.h1
-rw-r--r--dom/media/flac/FlacDemuxer.cpp1
-rw-r--r--dom/media/flac/FlacDemuxer.h1
-rw-r--r--dom/media/flac/FlacFrameParser.cpp1
-rw-r--r--dom/media/flac/FlacFrameParser.h1
-rw-r--r--dom/media/flac/moz.build1
-rw-r--r--dom/media/fmp4/moz.build1
-rw-r--r--dom/media/gmp-plugin-openh264/moz.build1
-rw-r--r--dom/media/gmp-plugin/gmp-test-output-protection.h1
-rw-r--r--dom/media/gmp-plugin/moz.build1
-rw-r--r--dom/media/gmp/GMPCDMCallbackProxy.cpp1
-rw-r--r--dom/media/gmp/GMPCDMCallbackProxy.h1
-rw-r--r--dom/media/gmp/GMPCDMProxy.cpp1
-rw-r--r--dom/media/gmp/GMPCDMProxy.h1
-rw-r--r--dom/media/gmp/GMPUtils.cpp1
-rw-r--r--dom/media/gmp/moz.build4
-rw-r--r--dom/media/gmp/rlz/GMPDeviceBinding.cpp1
-rw-r--r--dom/media/gmp/rlz/GMPDeviceBinding.h1
-rw-r--r--dom/media/gmp/rlz/moz.build1
-rw-r--r--dom/media/gmp/widevine-adapter/moz.build1
-rw-r--r--dom/media/gtest/GMPTestMonitor.h1
-rw-r--r--dom/media/gtest/TestAudioCompactor.cpp1
-rw-r--r--dom/media/gtest/TestGMPCrossOrigin.cpp1
-rw-r--r--dom/media/gtest/TestGMPRemoveAndDelete.cpp1
-rw-r--r--dom/media/gtest/TestGMPUtils.cpp1
-rw-r--r--dom/media/gtest/moz.build6
-rw-r--r--dom/media/imagecapture/moz.build1
-rw-r--r--dom/media/ipc/MediaIPCUtils.h1
-rw-r--r--dom/media/ipc/RemoteVideoDecoder.cpp1
-rw-r--r--dom/media/ipc/RemoteVideoDecoder.h1
-rw-r--r--dom/media/ipc/VideoDecoderChild.cpp1
-rw-r--r--dom/media/ipc/VideoDecoderChild.h1
-rw-r--r--dom/media/ipc/VideoDecoderManagerChild.cpp1
-rw-r--r--dom/media/ipc/VideoDecoderManagerChild.h1
-rw-r--r--dom/media/ipc/VideoDecoderManagerParent.cpp1
-rw-r--r--dom/media/ipc/VideoDecoderManagerParent.h1
-rw-r--r--dom/media/ipc/VideoDecoderParent.cpp1
-rw-r--r--dom/media/ipc/VideoDecoderParent.h1
-rw-r--r--dom/media/ipc/moz.build1
-rw-r--r--dom/media/mediasink/AudioSinkWrapper.cpp1
-rw-r--r--dom/media/mediasink/AudioSinkWrapper.h1
-rw-r--r--dom/media/mediasink/DecodedStream.cpp1
-rw-r--r--dom/media/mediasink/DecodedStream.h1
-rw-r--r--dom/media/mediasink/MediaSink.h1
-rw-r--r--dom/media/mediasink/OutputStreamManager.cpp1
-rw-r--r--dom/media/mediasink/OutputStreamManager.h1
-rw-r--r--dom/media/mediasink/VideoSink.cpp1
-rw-r--r--dom/media/mediasink/VideoSink.h1
-rw-r--r--dom/media/mediasink/moz.build1
-rw-r--r--dom/media/mediasource/AsyncEventRunner.h1
-rw-r--r--dom/media/mediasource/AutoTaskQueue.h1
-rw-r--r--dom/media/mediasource/ContainerParser.cpp1
-rw-r--r--dom/media/mediasource/ContainerParser.h1
-rw-r--r--dom/media/mediasource/MediaSource.cpp1
-rw-r--r--dom/media/mediasource/MediaSource.h1
-rw-r--r--dom/media/mediasource/MediaSourceDecoder.cpp1
-rw-r--r--dom/media/mediasource/MediaSourceDecoder.h1
-rw-r--r--dom/media/mediasource/MediaSourceResource.h1
-rw-r--r--dom/media/mediasource/MediaSourceUtils.cpp1
-rw-r--r--dom/media/mediasource/MediaSourceUtils.h1
-rw-r--r--dom/media/mediasource/ResourceQueue.cpp1
-rw-r--r--dom/media/mediasource/ResourceQueue.h1
-rw-r--r--dom/media/mediasource/SourceBuffer.cpp1
-rw-r--r--dom/media/mediasource/SourceBuffer.h1
-rw-r--r--dom/media/mediasource/SourceBufferAttributes.h1
-rw-r--r--dom/media/mediasource/SourceBufferList.cpp1
-rw-r--r--dom/media/mediasource/SourceBufferList.h1
-rw-r--r--dom/media/mediasource/SourceBufferResource.cpp1
-rw-r--r--dom/media/mediasource/SourceBufferResource.h1
-rw-r--r--dom/media/mediasource/SourceBufferTask.h1
-rw-r--r--dom/media/mediasource/TrackBuffersManager.cpp1
-rw-r--r--dom/media/mediasource/TrackBuffersManager.h1
-rw-r--r--dom/media/mediasource/gtest/moz.build1
-rw-r--r--dom/media/mediasource/moz.build1
-rw-r--r--dom/media/moz.build1
-rw-r--r--dom/media/mp3/moz.build1
-rw-r--r--dom/media/ogg/moz.build1
-rw-r--r--dom/media/platforms/PlatformDecoderModule.h2
-rw-r--r--dom/media/platforms/agnostic/eme/SamplesWaitingForKey.cpp1
-rw-r--r--dom/media/platforms/agnostic/eme/moz.build1
-rw-r--r--dom/media/platforms/agnostic/gmp/moz.build1
-rw-r--r--dom/media/platforms/android/AndroidDecoderModule.cpp227
-rw-r--r--dom/media/platforms/android/AndroidDecoderModule.h34
-rw-r--r--dom/media/platforms/android/MediaCodecDataDecoder.cpp698
-rw-r--r--dom/media/platforms/android/MediaCodecDataDecoder.h126
-rw-r--r--dom/media/platforms/android/RemoteDataDecoder.cpp489
-rw-r--r--dom/media/platforms/android/RemoteDataDecoder.h62
-rw-r--r--dom/media/platforms/ffmpeg/ffmpeg57/moz.build1
-rw-r--r--dom/media/platforms/ffmpeg/ffmpeg58/moz.build1
-rw-r--r--dom/media/platforms/ffmpeg/ffvpx/moz.build1
-rw-r--r--dom/media/platforms/ffmpeg/libav53/moz.build1
-rw-r--r--dom/media/platforms/ffmpeg/libav54/moz.build1
-rw-r--r--dom/media/platforms/ffmpeg/libav55/moz.build1
-rw-r--r--dom/media/platforms/ffmpeg/moz.build1
-rw-r--r--dom/media/platforms/moz.build11
-rw-r--r--dom/media/platforms/omx/moz.build1
-rw-r--r--dom/media/platforms/wmf/moz.build1
-rw-r--r--dom/media/standalone/moz.build1
-rw-r--r--dom/media/systemservices/CamerasChild.cpp1
-rw-r--r--dom/media/systemservices/CamerasChild.h1
-rw-r--r--dom/media/systemservices/CamerasParent.cpp1
-rw-r--r--dom/media/systemservices/CamerasParent.h1
-rw-r--r--dom/media/systemservices/CamerasTypes.h1
-rw-r--r--dom/media/systemservices/DeviceChangeCallback.h1
-rw-r--r--dom/media/systemservices/MediaChild.cpp1
-rw-r--r--dom/media/systemservices/MediaChild.h1
-rw-r--r--dom/media/systemservices/MediaParent.cpp1
-rw-r--r--dom/media/systemservices/MediaParent.h1
-rw-r--r--dom/media/systemservices/MediaTaskUtils.h1
-rw-r--r--dom/media/systemservices/MediaUtils.cpp1
-rw-r--r--dom/media/systemservices/MediaUtils.h1
-rw-r--r--dom/media/systemservices/ShmemPool.cpp1
-rw-r--r--dom/media/systemservices/ShmemPool.h1
-rw-r--r--dom/media/systemservices/moz.build1
-rw-r--r--dom/media/test/dash_detect_stream_switch.sjs1
-rw-r--r--dom/media/wave/moz.build1
-rw-r--r--dom/media/webaudio/BufferDecoder.cpp1
-rw-r--r--dom/media/webaudio/BufferDecoder.h1
-rw-r--r--dom/media/webaudio/blink/moz.build1
-rw-r--r--dom/media/webaudio/gtest/TestAudioEventTimeline.cpp11
-rw-r--r--dom/media/webaudio/gtest/moz.build1
-rw-r--r--dom/media/webaudio/moz.build1
-rw-r--r--dom/media/webm/moz.build1
-rw-r--r--dom/media/webrtc/MediaEngineRemoteVideoSource.h1
-rw-r--r--dom/media/webrtc/MediaEngineWebRTC.cpp1
-rw-r--r--dom/media/webrtc/RTCCertificate.cpp1
-rw-r--r--dom/media/webrtc/RTCCertificate.h1
-rw-r--r--dom/media/webrtc/moz.build1
-rw-r--r--dom/media/webspeech/moz.build1
-rw-r--r--dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerModule.cpp1
-rw-r--r--dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.h1
-rw-r--r--dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.mm1
-rw-r--r--dom/media/webspeech/synth/cocoa/moz.build1
-rw-r--r--dom/media/webspeech/synth/ipc/PSpeechSynthesis.ipdl1
-rw-r--r--dom/media/webspeech/synth/ipc/PSpeechSynthesisRequest.ipdl1
-rw-r--r--dom/media/webspeech/synth/moz.build1
-rw-r--r--dom/media/webspeech/synth/pico/moz.build1
-rw-r--r--dom/media/webspeech/synth/speechd/SpeechDispatcherModule.cpp1
-rw-r--r--dom/media/webspeech/synth/speechd/SpeechDispatcherService.cpp1
-rw-r--r--dom/media/webspeech/synth/speechd/SpeechDispatcherService.h1
-rw-r--r--dom/media/webspeech/synth/speechd/moz.build1
-rw-r--r--dom/media/webspeech/synth/windows/SapiModule.cpp1
-rw-r--r--dom/media/webspeech/synth/windows/SapiService.cpp1
-rw-r--r--dom/media/webspeech/synth/windows/SapiService.h1
-rw-r--r--dom/media/webspeech/synth/windows/moz.build1
-rw-r--r--dom/media/webvtt/moz.build1
211 files changed, 4 insertions, 1866 deletions
diff --git a/dom/media/ADTSDecoder.cpp b/dom/media/ADTSDecoder.cpp
index 913fbf742..418b4b419 100644
--- a/dom/media/ADTSDecoder.cpp
+++ b/dom/media/ADTSDecoder.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/ADTSDecoder.h b/dom/media/ADTSDecoder.h
index 1c7bece12..8dd5b4095 100644
--- a/dom/media/ADTSDecoder.h
+++ b/dom/media/ADTSDecoder.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/ADTSDemuxer.cpp b/dom/media/ADTSDemuxer.cpp
index 82075b65b..89148ce24 100644
--- a/dom/media/ADTSDemuxer.cpp
+++ b/dom/media/ADTSDemuxer.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/ADTSDemuxer.h b/dom/media/ADTSDemuxer.h
index feb65d01b..e1daa29e6 100644
--- a/dom/media/ADTSDemuxer.h
+++ b/dom/media/ADTSDemuxer.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/AccurateSeekTask.h b/dom/media/AccurateSeekTask.h
index e2e6771f1..24a3bba2a 100644
--- a/dom/media/AccurateSeekTask.h
+++ b/dom/media/AccurateSeekTask.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/AudioCompactor.cpp b/dom/media/AudioCompactor.cpp
index 6ffbc966f..64bd50bf8 100644
--- a/dom/media/AudioCompactor.cpp
+++ b/dom/media/AudioCompactor.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/AudioCompactor.h b/dom/media/AudioCompactor.h
index 554f5b5f5..5f698a379 100644
--- a/dom/media/AudioCompactor.h
+++ b/dom/media/AudioCompactor.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/AudioConverter.cpp b/dom/media/AudioConverter.cpp
index 002e79108..ab9b11543 100644
--- a/dom/media/AudioConverter.cpp
+++ b/dom/media/AudioConverter.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/AudioConverter.h b/dom/media/AudioConverter.h
index 2806813df..82817bf07 100644
--- a/dom/media/AudioConverter.h
+++ b/dom/media/AudioConverter.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/FrameStatistics.h b/dom/media/FrameStatistics.h
index e7d382629..6397cc193 100644
--- a/dom/media/FrameStatistics.h
+++ b/dom/media/FrameStatistics.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/Intervals.h b/dom/media/Intervals.h
index 4181d8954..84d0e4e76 100644
--- a/dom/media/Intervals.h
+++ b/dom/media/Intervals.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaContentType.cpp b/dom/media/MediaContentType.cpp
index 840ab9eb8..ded584582 100644
--- a/dom/media/MediaContentType.cpp
+++ b/dom/media/MediaContentType.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaData.cpp b/dom/media/MediaData.cpp
index 94f5f32a0..fb3eff7b5 100644
--- a/dom/media/MediaData.cpp
+++ b/dom/media/MediaData.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaData.h b/dom/media/MediaData.h
index 905b4c1d9..bec9c6076 100644
--- a/dom/media/MediaData.h
+++ b/dom/media/MediaData.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaDataDemuxer.h b/dom/media/MediaDataDemuxer.h
index cf2b265d5..df2af4747 100644
--- a/dom/media/MediaDataDemuxer.h
+++ b/dom/media/MediaDataDemuxer.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaDecoder.cpp b/dom/media/MediaDecoder.cpp
index b1f2f95d7..10b97f7e6 100644
--- a/dom/media/MediaDecoder.cpp
+++ b/dom/media/MediaDecoder.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaDecoderReader.cpp b/dom/media/MediaDecoderReader.cpp
index 046f81b2e..605041b64 100644
--- a/dom/media/MediaDecoderReader.cpp
+++ b/dom/media/MediaDecoderReader.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaDecoderReader.h b/dom/media/MediaDecoderReader.h
index a31687be8..dd406ed90 100644
--- a/dom/media/MediaDecoderReader.h
+++ b/dom/media/MediaDecoderReader.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaDecoderReaderWrapper.cpp b/dom/media/MediaDecoderReaderWrapper.cpp
index 455e86f43..7d7f84aff 100644
--- a/dom/media/MediaDecoderReaderWrapper.cpp
+++ b/dom/media/MediaDecoderReaderWrapper.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaDecoderReaderWrapper.h b/dom/media/MediaDecoderReaderWrapper.h
index 1a8d3a68c..a0f845538 100644
--- a/dom/media/MediaDecoderReaderWrapper.h
+++ b/dom/media/MediaDecoderReaderWrapper.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaInfo.cpp b/dom/media/MediaInfo.cpp
index 3d9e9dca2..568183e68 100644
--- a/dom/media/MediaInfo.cpp
+++ b/dom/media/MediaInfo.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaInfo.h b/dom/media/MediaInfo.h
index b263b9099..d54cf99b2 100644
--- a/dom/media/MediaInfo.h
+++ b/dom/media/MediaInfo.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaManager.cpp b/dom/media/MediaManager.cpp
index 979cb64c7..6b16d698d 100644
--- a/dom/media/MediaManager.cpp
+++ b/dom/media/MediaManager.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
-/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaResourceCallback.h b/dom/media/MediaResourceCallback.h
index 9c126f400..3d0cff2f0 100644
--- a/dom/media/MediaResourceCallback.h
+++ b/dom/media/MediaResourceCallback.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaStatistics.h b/dom/media/MediaStatistics.h
index c67c7e2bd..59ca67eb3 100644
--- a/dom/media/MediaStatistics.h
+++ b/dom/media/MediaStatistics.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/MediaStreamListener.h b/dom/media/MediaStreamListener.h
index eefd4adac..637b2f6ba 100644
--- a/dom/media/MediaStreamListener.h
+++ b/dom/media/MediaStreamListener.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/NextFrameSeekTask.h b/dom/media/NextFrameSeekTask.h
index debd58c66..e564d64c2 100644
--- a/dom/media/NextFrameSeekTask.h
+++ b/dom/media/NextFrameSeekTask.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/PrincipalChangeObserver.h b/dom/media/PrincipalChangeObserver.h
index 2597813c5..96dfcf7e1 100644
--- a/dom/media/PrincipalChangeObserver.h
+++ b/dom/media/PrincipalChangeObserver.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/QueueObject.cpp b/dom/media/QueueObject.cpp
index 53dffad07..e9fa7045e 100644
--- a/dom/media/QueueObject.cpp
+++ b/dom/media/QueueObject.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/SeekTarget.h b/dom/media/SeekTarget.h
index cb5cfd630..ac35ca501 100644
--- a/dom/media/SeekTarget.h
+++ b/dom/media/SeekTarget.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/SeekTask.h b/dom/media/SeekTask.h
index e93e4bae3..708b1f23d 100644
--- a/dom/media/SeekTask.h
+++ b/dom/media/SeekTask.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/SelfRef.h b/dom/media/SelfRef.h
index ca9d0b749..ceeb2ae34 100644
--- a/dom/media/SelfRef.h
+++ b/dom/media/SelfRef.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/TimeUnits.h b/dom/media/TimeUnits.h
index d815b9d40..148155eda 100644
--- a/dom/media/TimeUnits.h
+++ b/dom/media/TimeUnits.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/VideoPlaybackQuality.cpp b/dom/media/VideoPlaybackQuality.cpp
index 01fecfcb9..99717b31a 100644
--- a/dom/media/VideoPlaybackQuality.cpp
+++ b/dom/media/VideoPlaybackQuality.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/VideoPlaybackQuality.h b/dom/media/VideoPlaybackQuality.h
index 6054240c6..c22313a3e 100644
--- a/dom/media/VideoPlaybackQuality.h
+++ b/dom/media/VideoPlaybackQuality.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/XiphExtradata.cpp b/dom/media/XiphExtradata.cpp
index 6a5765a9e..e92db1ef4 100644
--- a/dom/media/XiphExtradata.cpp
+++ b/dom/media/XiphExtradata.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/XiphExtradata.h b/dom/media/XiphExtradata.h
index 5a9cbba78..f7bf2e2c6 100644
--- a/dom/media/XiphExtradata.h
+++ b/dom/media/XiphExtradata.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/bridge/moz.build b/dom/media/bridge/moz.build
index 6d396c615..091e4d6ca 100644
--- a/dom/media/bridge/moz.build
+++ b/dom/media/bridge/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/eme/CDMCaps.cpp b/dom/media/eme/CDMCaps.cpp
index 20ff63bad..a30fb59ac 100644
--- a/dom/media/eme/CDMCaps.cpp
+++ b/dom/media/eme/CDMCaps.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/CDMCaps.h b/dom/media/eme/CDMCaps.h
index 7749bdc67..cb4b5e291 100644
--- a/dom/media/eme/CDMCaps.h
+++ b/dom/media/eme/CDMCaps.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/CDMProxy.h b/dom/media/eme/CDMProxy.h
index f3f1add43..a9e783f50 100644
--- a/dom/media/eme/CDMProxy.h
+++ b/dom/media/eme/CDMProxy.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/DetailedPromise.cpp b/dom/media/eme/DetailedPromise.cpp
index d443e3336..50642bacd 100644
--- a/dom/media/eme/DetailedPromise.cpp
+++ b/dom/media/eme/DetailedPromise.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=2 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/DetailedPromise.h b/dom/media/eme/DetailedPromise.h
index 83e40c022..d75f09862 100644
--- a/dom/media/eme/DetailedPromise.h
+++ b/dom/media/eme/DetailedPromise.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=2 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/EMEUtils.cpp b/dom/media/eme/EMEUtils.cpp
index 93e7834e3..fd51b0ae2 100644
--- a/dom/media/eme/EMEUtils.cpp
+++ b/dom/media/eme/EMEUtils.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/EMEUtils.h b/dom/media/eme/EMEUtils.h
index b8f565329..b16f5b4ac 100644
--- a/dom/media/eme/EMEUtils.h
+++ b/dom/media/eme/EMEUtils.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/MediaEncryptedEvent.cpp b/dom/media/eme/MediaEncryptedEvent.cpp
index fe1c8a3bc..a9c83291e 100644
--- a/dom/media/eme/MediaEncryptedEvent.cpp
+++ b/dom/media/eme/MediaEncryptedEvent.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/MediaEncryptedEvent.h b/dom/media/eme/MediaEncryptedEvent.h
index 806fccad6..c2ac56061 100644
--- a/dom/media/eme/MediaEncryptedEvent.h
+++ b/dom/media/eme/MediaEncryptedEvent.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/MediaKeyMessageEvent.cpp b/dom/media/eme/MediaKeyMessageEvent.cpp
index 289d0c16e..ee13f8d26 100644
--- a/dom/media/eme/MediaKeyMessageEvent.cpp
+++ b/dom/media/eme/MediaKeyMessageEvent.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/MediaKeyMessageEvent.h b/dom/media/eme/MediaKeyMessageEvent.h
index b6cc86dfa..2ec50f4f0 100644
--- a/dom/media/eme/MediaKeyMessageEvent.h
+++ b/dom/media/eme/MediaKeyMessageEvent.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/MediaKeySession.cpp b/dom/media/eme/MediaKeySession.cpp
index 9c002b5ba..b5f3fe498 100644
--- a/dom/media/eme/MediaKeySession.cpp
+++ b/dom/media/eme/MediaKeySession.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/MediaKeySession.h b/dom/media/eme/MediaKeySession.h
index 40481df99..6b7137046 100644
--- a/dom/media/eme/MediaKeySession.h
+++ b/dom/media/eme/MediaKeySession.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/MediaKeyStatusMap.cpp b/dom/media/eme/MediaKeyStatusMap.cpp
index 5af6ff535..677fd0db2 100644
--- a/dom/media/eme/MediaKeyStatusMap.cpp
+++ b/dom/media/eme/MediaKeyStatusMap.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/MediaKeyStatusMap.h b/dom/media/eme/MediaKeyStatusMap.h
index 396ae500e..8bfbd4d07 100644
--- a/dom/media/eme/MediaKeyStatusMap.h
+++ b/dom/media/eme/MediaKeyStatusMap.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/MediaKeys.cpp b/dom/media/eme/MediaKeys.cpp
index fea548698..a1d22fdd5 100644
--- a/dom/media/eme/MediaKeys.cpp
+++ b/dom/media/eme/MediaKeys.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/MediaKeys.h b/dom/media/eme/MediaKeys.h
index a3dbf37df..491963934 100644
--- a/dom/media/eme/MediaKeys.h
+++ b/dom/media/eme/MediaKeys.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/mediadrm/MediaDrmCDMCallbackProxy.cpp b/dom/media/eme/mediadrm/MediaDrmCDMCallbackProxy.cpp
index ee57afae9..300093b84 100644
--- a/dom/media/eme/mediadrm/MediaDrmCDMCallbackProxy.cpp
+++ b/dom/media/eme/mediadrm/MediaDrmCDMCallbackProxy.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/mediadrm/MediaDrmCDMCallbackProxy.h b/dom/media/eme/mediadrm/MediaDrmCDMCallbackProxy.h
index 29f9c8192..c7a0810ee 100644
--- a/dom/media/eme/mediadrm/MediaDrmCDMCallbackProxy.h
+++ b/dom/media/eme/mediadrm/MediaDrmCDMCallbackProxy.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/mediadrm/MediaDrmCDMProxy.cpp b/dom/media/eme/mediadrm/MediaDrmCDMProxy.cpp
index a57d764e7..f64d0afdb 100644
--- a/dom/media/eme/mediadrm/MediaDrmCDMProxy.cpp
+++ b/dom/media/eme/mediadrm/MediaDrmCDMProxy.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/mediadrm/MediaDrmCDMProxy.h b/dom/media/eme/mediadrm/MediaDrmCDMProxy.h
index c7cb3000f..a25af5dbf 100644
--- a/dom/media/eme/mediadrm/MediaDrmCDMProxy.h
+++ b/dom/media/eme/mediadrm/MediaDrmCDMProxy.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/mediadrm/MediaDrmProxySupport.cpp b/dom/media/eme/mediadrm/MediaDrmProxySupport.cpp
index 192769470..83f0529d2 100644
--- a/dom/media/eme/mediadrm/MediaDrmProxySupport.cpp
+++ b/dom/media/eme/mediadrm/MediaDrmProxySupport.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/mediadrm/MediaDrmProxySupport.h b/dom/media/eme/mediadrm/MediaDrmProxySupport.h
index e43b71bc1..b119633f5 100644
--- a/dom/media/eme/mediadrm/MediaDrmProxySupport.h
+++ b/dom/media/eme/mediadrm/MediaDrmProxySupport.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/eme/mediadrm/moz.build b/dom/media/eme/mediadrm/moz.build
index 83479d670..e425ff5bb 100644
--- a/dom/media/eme/mediadrm/moz.build
+++ b/dom/media/eme/mediadrm/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/eme/moz.build b/dom/media/eme/moz.build
index b55ae3df5..495665dd7 100644
--- a/dom/media/eme/moz.build
+++ b/dom/media/eme/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/encoder/moz.build b/dom/media/encoder/moz.build
index 925c36f90..cabe1624c 100644
--- a/dom/media/encoder/moz.build
+++ b/dom/media/encoder/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/flac/FlacDecoder.cpp b/dom/media/flac/FlacDecoder.cpp
index 3109713db..727615be3 100644
--- a/dom/media/flac/FlacDecoder.cpp
+++ b/dom/media/flac/FlacDecoder.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/flac/FlacDecoder.h b/dom/media/flac/FlacDecoder.h
index 304ee62f8..4c6bc71bd 100644
--- a/dom/media/flac/FlacDecoder.h
+++ b/dom/media/flac/FlacDecoder.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/flac/FlacDemuxer.cpp b/dom/media/flac/FlacDemuxer.cpp
index 6df09cc25..e5914679f 100644
--- a/dom/media/flac/FlacDemuxer.cpp
+++ b/dom/media/flac/FlacDemuxer.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/flac/FlacDemuxer.h b/dom/media/flac/FlacDemuxer.h
index 248ae861f..561c30615 100644
--- a/dom/media/flac/FlacDemuxer.h
+++ b/dom/media/flac/FlacDemuxer.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/flac/FlacFrameParser.cpp b/dom/media/flac/FlacFrameParser.cpp
index c31161cbc..711d25235 100644
--- a/dom/media/flac/FlacFrameParser.cpp
+++ b/dom/media/flac/FlacFrameParser.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/flac/FlacFrameParser.h b/dom/media/flac/FlacFrameParser.h
index aa1a6e15b..e0fcd4c9e 100644
--- a/dom/media/flac/FlacFrameParser.h
+++ b/dom/media/flac/FlacFrameParser.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/flac/moz.build b/dom/media/flac/moz.build
index 86427e0dd..21054fde8 100644
--- a/dom/media/flac/moz.build
+++ b/dom/media/flac/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/fmp4/moz.build b/dom/media/fmp4/moz.build
index 535a99253..375c6effe 100644
--- a/dom/media/fmp4/moz.build
+++ b/dom/media/fmp4/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/gmp-plugin-openh264/moz.build b/dom/media/gmp-plugin-openh264/moz.build
index 5ae13a7e6..d47a1d197 100644
--- a/dom/media/gmp-plugin-openh264/moz.build
+++ b/dom/media/gmp-plugin-openh264/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/gmp-plugin/gmp-test-output-protection.h b/dom/media/gmp-plugin/gmp-test-output-protection.h
index 57855ca71..93adf299c 100644
--- a/dom/media/gmp-plugin/gmp-test-output-protection.h
+++ b/dom/media/gmp-plugin/gmp-test-output-protection.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gmp-plugin/moz.build b/dom/media/gmp-plugin/moz.build
index 432d842fc..39061d0c9 100644
--- a/dom/media/gmp-plugin/moz.build
+++ b/dom/media/gmp-plugin/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/gmp/GMPCDMCallbackProxy.cpp b/dom/media/gmp/GMPCDMCallbackProxy.cpp
index 0cbc89fff..a0b490849 100644
--- a/dom/media/gmp/GMPCDMCallbackProxy.cpp
+++ b/dom/media/gmp/GMPCDMCallbackProxy.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gmp/GMPCDMCallbackProxy.h b/dom/media/gmp/GMPCDMCallbackProxy.h
index 3f396f597..d2cc80682 100644
--- a/dom/media/gmp/GMPCDMCallbackProxy.h
+++ b/dom/media/gmp/GMPCDMCallbackProxy.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gmp/GMPCDMProxy.cpp b/dom/media/gmp/GMPCDMProxy.cpp
index 58c5596ee..0f1958632 100644
--- a/dom/media/gmp/GMPCDMProxy.cpp
+++ b/dom/media/gmp/GMPCDMProxy.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gmp/GMPCDMProxy.h b/dom/media/gmp/GMPCDMProxy.h
index 84b59d9e4..a7fae235b 100644
--- a/dom/media/gmp/GMPCDMProxy.h
+++ b/dom/media/gmp/GMPCDMProxy.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gmp/GMPUtils.cpp b/dom/media/gmp/GMPUtils.cpp
index 6c2147ae2..d5863516a 100644
--- a/dom/media/gmp/GMPUtils.cpp
+++ b/dom/media/gmp/GMPUtils.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gmp/moz.build b/dom/media/gmp/moz.build
index 8595ee0de..6e9e92e8a 100644
--- a/dom/media/gmp/moz.build
+++ b/dom/media/gmp/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
@@ -146,6 +145,9 @@ IPDL_SOURCES += [
'PGMPVideoEncoder.ipdl',
]
+if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
+ NO_VISIBILITY_FLAGS = True
+
# comment this out to use Unsafe Shmem for more performance
DEFINES['GMP_SAFE_SHMEM'] = True
diff --git a/dom/media/gmp/rlz/GMPDeviceBinding.cpp b/dom/media/gmp/rlz/GMPDeviceBinding.cpp
index 3525f0462..04def8e8e 100644
--- a/dom/media/gmp/rlz/GMPDeviceBinding.cpp
+++ b/dom/media/gmp/rlz/GMPDeviceBinding.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gmp/rlz/GMPDeviceBinding.h b/dom/media/gmp/rlz/GMPDeviceBinding.h
index 835704054..ee1664466 100644
--- a/dom/media/gmp/rlz/GMPDeviceBinding.h
+++ b/dom/media/gmp/rlz/GMPDeviceBinding.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gmp/rlz/moz.build b/dom/media/gmp/rlz/moz.build
index 5e85357f1..aa6f5fece 100644
--- a/dom/media/gmp/rlz/moz.build
+++ b/dom/media/gmp/rlz/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/gmp/widevine-adapter/moz.build b/dom/media/gmp/widevine-adapter/moz.build
index a689a6393..4a3a079ce 100644
--- a/dom/media/gmp/widevine-adapter/moz.build
+++ b/dom/media/gmp/widevine-adapter/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/gtest/GMPTestMonitor.h b/dom/media/gtest/GMPTestMonitor.h
index 8ce6f8ddd..13d662b17 100644
--- a/dom/media/gtest/GMPTestMonitor.h
+++ b/dom/media/gtest/GMPTestMonitor.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gtest/TestAudioCompactor.cpp b/dom/media/gtest/TestAudioCompactor.cpp
index 9a28254b3..73c339f16 100644
--- a/dom/media/gtest/TestAudioCompactor.cpp
+++ b/dom/media/gtest/TestAudioCompactor.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gtest/TestGMPCrossOrigin.cpp b/dom/media/gtest/TestGMPCrossOrigin.cpp
index 33ac98388..eb8b48d67 100644
--- a/dom/media/gtest/TestGMPCrossOrigin.cpp
+++ b/dom/media/gtest/TestGMPCrossOrigin.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gtest/TestGMPRemoveAndDelete.cpp b/dom/media/gtest/TestGMPRemoveAndDelete.cpp
index 4ac92e34e..31049bb1d 100644
--- a/dom/media/gtest/TestGMPRemoveAndDelete.cpp
+++ b/dom/media/gtest/TestGMPRemoveAndDelete.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gtest/TestGMPUtils.cpp b/dom/media/gtest/TestGMPUtils.cpp
index 75d7eba53..00f09f812 100644
--- a/dom/media/gtest/TestGMPUtils.cpp
+++ b/dom/media/gtest/TestGMPUtils.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/gtest/moz.build b/dom/media/gtest/moz.build
index ae059962c..512d0a087 100644
--- a/dom/media/gtest/moz.build
+++ b/dom/media/gtest/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
@@ -28,11 +27,6 @@ UNIFIED_SOURCES += [
'TestWebMBuffered.cpp',
]
-if CONFIG['MOZ_EME']:
- UNIFIED_SOURCES += [
- 'TestEME.cpp',
- ]
-
if CONFIG['MOZ_WEBM_ENCODER']:
UNIFIED_SOURCES += [
'TestVideoTrackEncoder.cpp',
diff --git a/dom/media/imagecapture/moz.build b/dom/media/imagecapture/moz.build
index c1a58ff37..55f6fcfc3 100644
--- a/dom/media/imagecapture/moz.build
+++ b/dom/media/imagecapture/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/ipc/MediaIPCUtils.h b/dom/media/ipc/MediaIPCUtils.h
index 14b8ee751..88fd0b719 100644
--- a/dom/media/ipc/MediaIPCUtils.h
+++ b/dom/media/ipc/MediaIPCUtils.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/ipc/RemoteVideoDecoder.cpp b/dom/media/ipc/RemoteVideoDecoder.cpp
index c6131bb91..8aed52551 100644
--- a/dom/media/ipc/RemoteVideoDecoder.cpp
+++ b/dom/media/ipc/RemoteVideoDecoder.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=99: */
/* 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/. */
diff --git a/dom/media/ipc/RemoteVideoDecoder.h b/dom/media/ipc/RemoteVideoDecoder.h
index 3c8e86bba..1383e0d57 100644
--- a/dom/media/ipc/RemoteVideoDecoder.h
+++ b/dom/media/ipc/RemoteVideoDecoder.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=99: */
/* 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/. */
diff --git a/dom/media/ipc/VideoDecoderChild.cpp b/dom/media/ipc/VideoDecoderChild.cpp
index f01d3c659..1066b9c3e 100644
--- a/dom/media/ipc/VideoDecoderChild.cpp
+++ b/dom/media/ipc/VideoDecoderChild.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=99: */
/* 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/. */
diff --git a/dom/media/ipc/VideoDecoderChild.h b/dom/media/ipc/VideoDecoderChild.h
index a38e3e31c..7c374971a 100644
--- a/dom/media/ipc/VideoDecoderChild.h
+++ b/dom/media/ipc/VideoDecoderChild.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=99: */
/* 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/. */
diff --git a/dom/media/ipc/VideoDecoderManagerChild.cpp b/dom/media/ipc/VideoDecoderManagerChild.cpp
index e444fae15..8a266cad6 100644
--- a/dom/media/ipc/VideoDecoderManagerChild.cpp
+++ b/dom/media/ipc/VideoDecoderManagerChild.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=99: */
/* 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/. */
diff --git a/dom/media/ipc/VideoDecoderManagerChild.h b/dom/media/ipc/VideoDecoderManagerChild.h
index 1e67a590e..d7ea90eee 100644
--- a/dom/media/ipc/VideoDecoderManagerChild.h
+++ b/dom/media/ipc/VideoDecoderManagerChild.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=99: */
/* 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/. */
diff --git a/dom/media/ipc/VideoDecoderManagerParent.cpp b/dom/media/ipc/VideoDecoderManagerParent.cpp
index 4ff9acf19..186ce255b 100644
--- a/dom/media/ipc/VideoDecoderManagerParent.cpp
+++ b/dom/media/ipc/VideoDecoderManagerParent.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=99: */
/* 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/. */
diff --git a/dom/media/ipc/VideoDecoderManagerParent.h b/dom/media/ipc/VideoDecoderManagerParent.h
index b140c7ce3..c879b1cc4 100644
--- a/dom/media/ipc/VideoDecoderManagerParent.h
+++ b/dom/media/ipc/VideoDecoderManagerParent.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=99: */
/* 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/. */
diff --git a/dom/media/ipc/VideoDecoderParent.cpp b/dom/media/ipc/VideoDecoderParent.cpp
index c96edb044..b9c223924 100644
--- a/dom/media/ipc/VideoDecoderParent.cpp
+++ b/dom/media/ipc/VideoDecoderParent.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=99: */
/* 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/. */
diff --git a/dom/media/ipc/VideoDecoderParent.h b/dom/media/ipc/VideoDecoderParent.h
index ea99d0a10..dda566d25 100644
--- a/dom/media/ipc/VideoDecoderParent.h
+++ b/dom/media/ipc/VideoDecoderParent.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=99: */
/* 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/. */
diff --git a/dom/media/ipc/moz.build b/dom/media/ipc/moz.build
index 2e78460b5..8580ec671 100644
--- a/dom/media/ipc/moz.build
+++ b/dom/media/ipc/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/mediasink/AudioSinkWrapper.cpp b/dom/media/mediasink/AudioSinkWrapper.cpp
index a2dfcd8fb..8e23f349c 100644
--- a/dom/media/mediasink/AudioSinkWrapper.cpp
+++ b/dom/media/mediasink/AudioSinkWrapper.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasink/AudioSinkWrapper.h b/dom/media/mediasink/AudioSinkWrapper.h
index 46d402ee6..f4ffb3946 100644
--- a/dom/media/mediasink/AudioSinkWrapper.h
+++ b/dom/media/mediasink/AudioSinkWrapper.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasink/DecodedStream.cpp b/dom/media/mediasink/DecodedStream.cpp
index 54161be5c..eb388cf2f 100644
--- a/dom/media/mediasink/DecodedStream.cpp
+++ b/dom/media/mediasink/DecodedStream.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasink/DecodedStream.h b/dom/media/mediasink/DecodedStream.h
index f2c606bc4..be7c01151 100644
--- a/dom/media/mediasink/DecodedStream.h
+++ b/dom/media/mediasink/DecodedStream.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasink/MediaSink.h b/dom/media/mediasink/MediaSink.h
index 09b79149e..9de884d42 100644
--- a/dom/media/mediasink/MediaSink.h
+++ b/dom/media/mediasink/MediaSink.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasink/OutputStreamManager.cpp b/dom/media/mediasink/OutputStreamManager.cpp
index 7ecc203ed..cb6a11af4 100644
--- a/dom/media/mediasink/OutputStreamManager.cpp
+++ b/dom/media/mediasink/OutputStreamManager.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasink/OutputStreamManager.h b/dom/media/mediasink/OutputStreamManager.h
index 941a86cf0..34cb19508 100644
--- a/dom/media/mediasink/OutputStreamManager.h
+++ b/dom/media/mediasink/OutputStreamManager.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasink/VideoSink.cpp b/dom/media/mediasink/VideoSink.cpp
index a438cf8a4..b2c8b98de 100644
--- a/dom/media/mediasink/VideoSink.cpp
+++ b/dom/media/mediasink/VideoSink.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasink/VideoSink.h b/dom/media/mediasink/VideoSink.h
index 2612f0e07..08190a345 100644
--- a/dom/media/mediasink/VideoSink.h
+++ b/dom/media/mediasink/VideoSink.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasink/moz.build b/dom/media/mediasink/moz.build
index 34c78a749..ce6ed95be 100644
--- a/dom/media/mediasink/moz.build
+++ b/dom/media/mediasink/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/mediasource/AsyncEventRunner.h b/dom/media/mediasource/AsyncEventRunner.h
index a1b6265f7..56a61570c 100644
--- a/dom/media/mediasource/AsyncEventRunner.h
+++ b/dom/media/mediasource/AsyncEventRunner.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/AutoTaskQueue.h b/dom/media/mediasource/AutoTaskQueue.h
index 1726ad5be..fda82397e 100644
--- a/dom/media/mediasource/AutoTaskQueue.h
+++ b/dom/media/mediasource/AutoTaskQueue.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/ContainerParser.cpp b/dom/media/mediasource/ContainerParser.cpp
index 9711d4fb6..49e341545 100644
--- a/dom/media/mediasource/ContainerParser.cpp
+++ b/dom/media/mediasource/ContainerParser.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/ContainerParser.h b/dom/media/mediasource/ContainerParser.h
index e31ed7579..0e5b80d0e 100644
--- a/dom/media/mediasource/ContainerParser.h
+++ b/dom/media/mediasource/ContainerParser.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/MediaSource.cpp b/dom/media/mediasource/MediaSource.cpp
index 1c276cdc1..7d22d50a3 100644
--- a/dom/media/mediasource/MediaSource.cpp
+++ b/dom/media/mediasource/MediaSource.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/MediaSource.h b/dom/media/mediasource/MediaSource.h
index 0d2dc0588..e7531a19c 100644
--- a/dom/media/mediasource/MediaSource.h
+++ b/dom/media/mediasource/MediaSource.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/MediaSourceDecoder.cpp b/dom/media/mediasource/MediaSourceDecoder.cpp
index 2e83bfd23..6507b320a 100644
--- a/dom/media/mediasource/MediaSourceDecoder.cpp
+++ b/dom/media/mediasource/MediaSourceDecoder.cpp
@@ -1,5 +1,4 @@
/* -*- mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/MediaSourceDecoder.h b/dom/media/mediasource/MediaSourceDecoder.h
index 2bf0ad831..f4d84bc40 100644
--- a/dom/media/mediasource/MediaSourceDecoder.h
+++ b/dom/media/mediasource/MediaSourceDecoder.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/MediaSourceResource.h b/dom/media/mediasource/MediaSourceResource.h
index 3ce4ebb52..223944514 100644
--- a/dom/media/mediasource/MediaSourceResource.h
+++ b/dom/media/mediasource/MediaSourceResource.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/MediaSourceUtils.cpp b/dom/media/mediasource/MediaSourceUtils.cpp
index 49cb39a18..3f478d53d 100644
--- a/dom/media/mediasource/MediaSourceUtils.cpp
+++ b/dom/media/mediasource/MediaSourceUtils.cpp
@@ -1,5 +1,4 @@
/* -*- mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/MediaSourceUtils.h b/dom/media/mediasource/MediaSourceUtils.h
index 2bda99f1b..5c3836976 100644
--- a/dom/media/mediasource/MediaSourceUtils.h
+++ b/dom/media/mediasource/MediaSourceUtils.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/ResourceQueue.cpp b/dom/media/mediasource/ResourceQueue.cpp
index 5ca29ad37..1e6b353ee 100644
--- a/dom/media/mediasource/ResourceQueue.cpp
+++ b/dom/media/mediasource/ResourceQueue.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/ResourceQueue.h b/dom/media/mediasource/ResourceQueue.h
index 0617890c8..f2b4119b6 100644
--- a/dom/media/mediasource/ResourceQueue.h
+++ b/dom/media/mediasource/ResourceQueue.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/SourceBuffer.cpp b/dom/media/mediasource/SourceBuffer.cpp
index de14efb58..26ea93707 100644
--- a/dom/media/mediasource/SourceBuffer.cpp
+++ b/dom/media/mediasource/SourceBuffer.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/SourceBuffer.h b/dom/media/mediasource/SourceBuffer.h
index 440e8f60e..579ab6ba6 100644
--- a/dom/media/mediasource/SourceBuffer.h
+++ b/dom/media/mediasource/SourceBuffer.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/SourceBufferAttributes.h b/dom/media/mediasource/SourceBufferAttributes.h
index 0af80a4fe..876657681 100644
--- a/dom/media/mediasource/SourceBufferAttributes.h
+++ b/dom/media/mediasource/SourceBufferAttributes.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/SourceBufferList.cpp b/dom/media/mediasource/SourceBufferList.cpp
index cf7a7ed9d..c816ff83c 100644
--- a/dom/media/mediasource/SourceBufferList.cpp
+++ b/dom/media/mediasource/SourceBufferList.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/SourceBufferList.h b/dom/media/mediasource/SourceBufferList.h
index 03dc5c80b..ddd9e224a 100644
--- a/dom/media/mediasource/SourceBufferList.h
+++ b/dom/media/mediasource/SourceBufferList.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/SourceBufferResource.cpp b/dom/media/mediasource/SourceBufferResource.cpp
index bb11072ae..3d761880b 100644
--- a/dom/media/mediasource/SourceBufferResource.cpp
+++ b/dom/media/mediasource/SourceBufferResource.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/SourceBufferResource.h b/dom/media/mediasource/SourceBufferResource.h
index 26ed74602..9b61e016a 100644
--- a/dom/media/mediasource/SourceBufferResource.h
+++ b/dom/media/mediasource/SourceBufferResource.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/SourceBufferTask.h b/dom/media/mediasource/SourceBufferTask.h
index 868b60859..438a9b42c 100644
--- a/dom/media/mediasource/SourceBufferTask.h
+++ b/dom/media/mediasource/SourceBufferTask.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/TrackBuffersManager.cpp b/dom/media/mediasource/TrackBuffersManager.cpp
index b9cf19492..8663c1a8f 100644
--- a/dom/media/mediasource/TrackBuffersManager.cpp
+++ b/dom/media/mediasource/TrackBuffersManager.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/TrackBuffersManager.h b/dom/media/mediasource/TrackBuffersManager.h
index de6b115f5..11bcb353a 100644
--- a/dom/media/mediasource/TrackBuffersManager.h
+++ b/dom/media/mediasource/TrackBuffersManager.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/mediasource/gtest/moz.build b/dom/media/mediasource/gtest/moz.build
index 5aa597d8d..2cccc80a2 100644
--- a/dom/media/mediasource/gtest/moz.build
+++ b/dom/media/mediasource/gtest/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/mediasource/moz.build b/dom/media/mediasource/moz.build
index dfa227a86..775090cb2 100644
--- a/dom/media/mediasource/moz.build
+++ b/dom/media/mediasource/moz.build
@@ -1,4 +1,3 @@
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/moz.build b/dom/media/moz.build
index 4cb514a08..40d90b599 100644
--- a/dom/media/moz.build
+++ b/dom/media/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/mp3/moz.build b/dom/media/mp3/moz.build
index 838a5a854..349cd6b67 100644
--- a/dom/media/mp3/moz.build
+++ b/dom/media/mp3/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/ogg/moz.build b/dom/media/ogg/moz.build
index c47abf690..13a8d1ddc 100644
--- a/dom/media/ogg/moz.build
+++ b/dom/media/ogg/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/platforms/PlatformDecoderModule.h b/dom/media/platforms/PlatformDecoderModule.h
index 5684dea2d..62855335f 100644
--- a/dom/media/platforms/PlatformDecoderModule.h
+++ b/dom/media/platforms/PlatformDecoderModule.h
@@ -7,8 +7,8 @@
#if !defined(PlatformDecoderModule_h_)
#define PlatformDecoderModule_h_
-#include "ImageContainer.h"
#include "DecoderDoctorDiagnostics.h"
+#include "ImageContainer.h"
#include "MediaDecoderReader.h"
#include "MediaInfo.h"
#include "mozilla/MozPromise.h"
diff --git a/dom/media/platforms/agnostic/eme/SamplesWaitingForKey.cpp b/dom/media/platforms/agnostic/eme/SamplesWaitingForKey.cpp
index 58098c2b3..532fc63c0 100644
--- a/dom/media/platforms/agnostic/eme/SamplesWaitingForKey.cpp
+++ b/dom/media/platforms/agnostic/eme/SamplesWaitingForKey.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/platforms/agnostic/eme/moz.build b/dom/media/platforms/agnostic/eme/moz.build
index e48d49d80..97156f33a 100644
--- a/dom/media/platforms/agnostic/eme/moz.build
+++ b/dom/media/platforms/agnostic/eme/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/platforms/agnostic/gmp/moz.build b/dom/media/platforms/agnostic/gmp/moz.build
index 644df47a3..64e258620 100644
--- a/dom/media/platforms/agnostic/gmp/moz.build
+++ b/dom/media/platforms/agnostic/gmp/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/platforms/android/AndroidDecoderModule.cpp b/dom/media/platforms/android/AndroidDecoderModule.cpp
deleted file mode 100644
index 3bf5cbf09..000000000
--- a/dom/media/platforms/android/AndroidDecoderModule.cpp
+++ /dev/null
@@ -1,227 +0,0 @@
-/* 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 "AndroidDecoderModule.h"
-#include "AndroidBridge.h"
-
-#include "MediaCodecDataDecoder.h"
-#include "RemoteDataDecoder.h"
-
-#include "MediaInfo.h"
-#include "VPXDecoder.h"
-
-#include "MediaPrefs.h"
-#include "OpusDecoder.h"
-#include "VorbisDecoder.h"
-
-#include "nsPromiseFlatString.h"
-#include "nsIGfxInfo.h"
-
-#include "prlog.h"
-
-#include <jni.h>
-
-#undef LOG
-#define LOG(arg, ...) MOZ_LOG(sAndroidDecoderModuleLog, \
- mozilla::LogLevel::Debug, ("AndroidDecoderModule(%p)::%s: " arg, \
- this, __func__, ##__VA_ARGS__))
-
-using namespace mozilla;
-using namespace mozilla::gl;
-using namespace mozilla::java::sdk;
-using media::TimeUnit;
-
-namespace mozilla {
-
-mozilla::LazyLogModule sAndroidDecoderModuleLog("AndroidDecoderModule");
-
-static const char*
-TranslateMimeType(const nsACString& aMimeType)
-{
- if (VPXDecoder::IsVPX(aMimeType, VPXDecoder::VP8)) {
- return "video/x-vnd.on2.vp8";
- } else if (VPXDecoder::IsVPX(aMimeType, VPXDecoder::VP9)) {
- return "video/x-vnd.on2.vp9";
- }
- return PromiseFlatCString(aMimeType).get();
-}
-
-static bool
-GetFeatureStatus(int32_t aFeature)
-{
- nsCOMPtr<nsIGfxInfo> gfxInfo = services::GetGfxInfo();
- int32_t status = nsIGfxInfo::FEATURE_STATUS_UNKNOWN;
- nsCString discardFailureId;
- if (!gfxInfo || NS_FAILED(gfxInfo->GetFeatureStatus(aFeature, discardFailureId, &status))) {
- return false;
- }
- return status == nsIGfxInfo::FEATURE_STATUS_OK;
-};
-
-CryptoInfo::LocalRef
-GetCryptoInfoFromSample(const MediaRawData* aSample)
-{
- auto& cryptoObj = aSample->mCrypto;
-
- if (!cryptoObj.mValid) {
- return nullptr;
- }
-
- CryptoInfo::LocalRef cryptoInfo;
- nsresult rv = CryptoInfo::New(&cryptoInfo);
- NS_ENSURE_SUCCESS(rv, nullptr);
-
- uint32_t numSubSamples =
- std::min<uint32_t>(cryptoObj.mPlainSizes.Length(), cryptoObj.mEncryptedSizes.Length());
-
- uint32_t totalSubSamplesSize = 0;
- for (auto& size : cryptoObj.mEncryptedSizes) {
- totalSubSamplesSize += size;
- }
-
- // mPlainSizes is uint16_t, need to transform to uint32_t first.
- nsTArray<uint32_t> plainSizes;
- for (auto& size : cryptoObj.mPlainSizes) {
- totalSubSamplesSize += size;
- plainSizes.AppendElement(size);
- }
-
- uint32_t codecSpecificDataSize = aSample->Size() - totalSubSamplesSize;
- // Size of codec specific data("CSD") for Android MediaCodec usage should be
- // included in the 1st plain size.
- plainSizes[0] += codecSpecificDataSize;
-
- static const int kExpectedIVLength = 16;
- auto tempIV(cryptoObj.mIV);
- auto tempIVLength = tempIV.Length();
- MOZ_ASSERT(tempIVLength <= kExpectedIVLength);
- for (size_t i = tempIVLength; i < kExpectedIVLength; i++) {
- // Padding with 0
- tempIV.AppendElement(0);
- }
-
- auto numBytesOfPlainData = mozilla::jni::IntArray::New(
- reinterpret_cast<int32_t*>(&plainSizes[0]),
- plainSizes.Length());
-
- auto numBytesOfEncryptedData =
- mozilla::jni::IntArray::New(reinterpret_cast<const int32_t*>(&cryptoObj.mEncryptedSizes[0]),
- cryptoObj.mEncryptedSizes.Length());
- auto iv = mozilla::jni::ByteArray::New(reinterpret_cast<int8_t*>(&tempIV[0]),
- tempIV.Length());
- auto keyId = mozilla::jni::ByteArray::New(reinterpret_cast<const int8_t*>(&cryptoObj.mKeyId[0]),
- cryptoObj.mKeyId.Length());
- cryptoInfo->Set(numSubSamples,
- numBytesOfPlainData,
- numBytesOfEncryptedData,
- keyId,
- iv,
- MediaCodec::CRYPTO_MODE_AES_CTR);
-
- return cryptoInfo;
-}
-
-bool
-AndroidDecoderModule::SupportsMimeType(const nsACString& aMimeType,
- DecoderDoctorDiagnostics* aDiagnostics) const
-{
- if (!AndroidBridge::Bridge() ||
- AndroidBridge::Bridge()->GetAPIVersion() < 16) {
- return false;
- }
-
- if (aMimeType.EqualsLiteral("video/mp4") ||
- aMimeType.EqualsLiteral("video/avc")) {
- return true;
- }
-
- // When checking "audio/x-wav", CreateDecoder can cause a JNI ERROR by
- // Accessing a stale local reference leading to a SIGSEGV crash.
- // To avoid this we check for wav types here.
- if (aMimeType.EqualsLiteral("audio/x-wav") ||
- aMimeType.EqualsLiteral("audio/wave; codecs=1") ||
- aMimeType.EqualsLiteral("audio/wave; codecs=6") ||
- aMimeType.EqualsLiteral("audio/wave; codecs=7") ||
- aMimeType.EqualsLiteral("audio/wave; codecs=65534")) {
- return false;
- }
-
- if ((VPXDecoder::IsVPX(aMimeType, VPXDecoder::VP8) &&
- !GetFeatureStatus(nsIGfxInfo::FEATURE_VP8_HW_DECODE)) ||
- (VPXDecoder::IsVPX(aMimeType, VPXDecoder::VP9) &&
- !GetFeatureStatus(nsIGfxInfo::FEATURE_VP9_HW_DECODE))) {
- return false;
- }
-
- // Prefer the gecko decoder for opus and vorbis; stagefright crashes
- // on content demuxed from mp4.
- if (OpusDataDecoder::IsOpus(aMimeType) ||
- VorbisDataDecoder::IsVorbis(aMimeType)) {
- LOG("Rejecting audio of type %s", aMimeType.Data());
- return false;
- }
-
- return java::HardwareCodecCapabilityUtils::FindDecoderCodecInfoForMimeType(
- nsCString(TranslateMimeType(aMimeType)));
-}
-
-already_AddRefed<MediaDataDecoder>
-AndroidDecoderModule::CreateVideoDecoder(const CreateDecoderParams& aParams)
-{
- MediaFormat::LocalRef format;
-
- const VideoInfo& config = aParams.VideoConfig();
- NS_ENSURE_SUCCESS(MediaFormat::CreateVideoFormat(
- TranslateMimeType(config.mMimeType),
- config.mDisplay.width,
- config.mDisplay.height,
- &format), nullptr);
-
- RefPtr<MediaDataDecoder> decoder = MediaPrefs::PDMAndroidRemoteCodecEnabled() ?
- RemoteDataDecoder::CreateVideoDecoder(config,
- format,
- aParams.mCallback,
- aParams.mImageContainer) :
- MediaCodecDataDecoder::CreateVideoDecoder(config,
- format,
- aParams.mCallback,
- aParams.mImageContainer);
-
- return decoder.forget();
-}
-
-already_AddRefed<MediaDataDecoder>
-AndroidDecoderModule::CreateAudioDecoder(const CreateDecoderParams& aParams)
-{
- const AudioInfo& config = aParams.AudioConfig();
- MOZ_ASSERT(config.mBitDepth == 16, "We only handle 16-bit audio!");
-
- MediaFormat::LocalRef format;
-
- LOG("CreateAudioFormat with mimeType=%s, mRate=%d, channels=%d",
- config.mMimeType.Data(), config.mRate, config.mChannels);
-
- NS_ENSURE_SUCCESS(MediaFormat::CreateAudioFormat(
- config.mMimeType,
- config.mRate,
- config.mChannels,
- &format), nullptr);
-
- RefPtr<MediaDataDecoder> decoder = MediaPrefs::PDMAndroidRemoteCodecEnabled() ?
- RemoteDataDecoder::CreateAudioDecoder(config, format, aParams.mCallback) :
- MediaCodecDataDecoder::CreateAudioDecoder(config, format, aParams.mCallback);
-
- return decoder.forget();
-}
-
-PlatformDecoderModule::ConversionRequired
-AndroidDecoderModule::DecoderNeedsConversion(const TrackInfo& aConfig) const
-{
- if (aConfig.IsVideo()) {
- return ConversionRequired::kNeedAnnexB;
- }
- return ConversionRequired::kNeedNone;
-}
-
-} // mozilla
diff --git a/dom/media/platforms/android/AndroidDecoderModule.h b/dom/media/platforms/android/AndroidDecoderModule.h
deleted file mode 100644
index 339cbb311..000000000
--- a/dom/media/platforms/android/AndroidDecoderModule.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* 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/. */
-
-#ifndef AndroidDecoderModule_h_
-#define AndroidDecoderModule_h_
-
-#include "PlatformDecoderModule.h"
-
-namespace mozilla {
-
-class AndroidDecoderModule : public PlatformDecoderModule {
-public:
- already_AddRefed<MediaDataDecoder>
- CreateVideoDecoder(const CreateDecoderParams& aParams) override;
-
- already_AddRefed<MediaDataDecoder>
- CreateAudioDecoder(const CreateDecoderParams& aParams) override;
-
- AndroidDecoderModule() {}
- virtual ~AndroidDecoderModule() {}
-
- bool SupportsMimeType(const nsACString& aMimeType,
- DecoderDoctorDiagnostics* aDiagnostics) const override;
-
- ConversionRequired
- DecoderNeedsConversion(const TrackInfo& aConfig) const override;
-};
-
-extern LazyLogModule sAndroidDecoderModuleLog;
-
-} // namespace mozilla
-
-#endif
diff --git a/dom/media/platforms/android/MediaCodecDataDecoder.cpp b/dom/media/platforms/android/MediaCodecDataDecoder.cpp
deleted file mode 100644
index 3c5df54ee..000000000
--- a/dom/media/platforms/android/MediaCodecDataDecoder.cpp
+++ /dev/null
@@ -1,698 +0,0 @@
-/* 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 "MediaCodecDataDecoder.h"
-
-#include "AndroidBridge.h"
-#include "AndroidSurfaceTexture.h"
-#include "GeneratedJNINatives.h"
-#include "GLImages.h"
-
-#include "MediaData.h"
-#include "MediaInfo.h"
-#include "VPXDecoder.h"
-
-#include "nsThreadUtils.h"
-#include "nsPromiseFlatString.h"
-#include "nsIGfxInfo.h"
-
-#include "prlog.h"
-
-#include <jni.h>
-
-#undef LOG
-#define LOG(arg, ...) MOZ_LOG(sAndroidDecoderModuleLog, \
- mozilla::LogLevel::Debug, ("MediaCodecDataDecoder(%p)::%s: " arg, \
- this, __func__, ##__VA_ARGS__))
-
-using namespace mozilla;
-using namespace mozilla::gl;
-using namespace mozilla::java;
-using namespace mozilla::java::sdk;
-using media::TimeUnit;
-
-namespace mozilla {
-
-#define INVOKE_CALLBACK(Func, ...) \
- if (mCallback) { \
- mCallback->Func(__VA_ARGS__); \
- } else { \
- NS_WARNING("Callback not set"); \
- }
-
-static MediaCodec::LocalRef
-CreateDecoder(const nsACString& aMimeType)
-{
- MediaCodec::LocalRef codec;
- NS_ENSURE_SUCCESS(MediaCodec::CreateDecoderByType(TranslateMimeType(aMimeType),
- &codec), nullptr);
- return codec;
-}
-
-class VideoDataDecoder : public MediaCodecDataDecoder
-{
-public:
- VideoDataDecoder(const VideoInfo& aConfig,
- MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback,
- layers::ImageContainer* aImageContainer)
- : MediaCodecDataDecoder(MediaData::Type::VIDEO_DATA, aConfig.mMimeType,
- aFormat, aCallback)
- , mImageContainer(aImageContainer)
- , mConfig(aConfig)
- {
-
- }
-
- const char* GetDescriptionName() const override
- {
- return "Android MediaCodec video decoder";
- }
-
- RefPtr<InitPromise> Init() override
- {
- mSurfaceTexture = AndroidSurfaceTexture::Create();
- if (!mSurfaceTexture) {
- NS_WARNING("Failed to create SurfaceTexture for video decode\n");
- return InitPromise::CreateAndReject(NS_ERROR_DOM_MEDIA_FATAL_ERR, __func__);
- }
-
- if (NS_FAILED(InitDecoder(mSurfaceTexture->JavaSurface()))) {
- return InitPromise::CreateAndReject(NS_ERROR_DOM_MEDIA_FATAL_ERR, __func__);
- }
-
- return InitPromise::CreateAndResolve(TrackInfo::kVideoTrack, __func__);
- }
-
- void Cleanup() override
- {
- }
-
- nsresult PostOutput(BufferInfo::Param aInfo, MediaFormat::Param aFormat,
- const TimeUnit& aDuration) override
- {
- RefPtr<layers::Image> img =
- new SurfaceTextureImage(mSurfaceTexture.get(), mConfig.mDisplay,
- gl::OriginPos::BottomLeft);
-
- nsresult rv;
- int32_t flags;
- NS_ENSURE_SUCCESS(rv = aInfo->Flags(&flags), rv);
-
- bool isSync = !!(flags & MediaCodec::BUFFER_FLAG_SYNC_FRAME);
-
- int32_t offset;
- NS_ENSURE_SUCCESS(rv = aInfo->Offset(&offset), rv);
-
- int64_t presentationTimeUs;
- NS_ENSURE_SUCCESS(rv = aInfo->PresentationTimeUs(&presentationTimeUs), rv);
-
- RefPtr<VideoData> v =
- VideoData::CreateFromImage(mConfig,
- offset,
- presentationTimeUs,
- aDuration.ToMicroseconds(),
- img,
- isSync,
- presentationTimeUs,
- gfx::IntRect(0, 0,
- mConfig.mDisplay.width,
- mConfig.mDisplay.height));
- INVOKE_CALLBACK(Output, v);
- return NS_OK;
- }
-
-protected:
- layers::ImageContainer* mImageContainer;
- const VideoInfo& mConfig;
- RefPtr<AndroidSurfaceTexture> mSurfaceTexture;
-};
-
-class AudioDataDecoder : public MediaCodecDataDecoder
-{
-public:
- AudioDataDecoder(const AudioInfo& aConfig, MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback)
- : MediaCodecDataDecoder(MediaData::Type::AUDIO_DATA, aConfig.mMimeType,
- aFormat, aCallback)
- {
- JNIEnv* const env = jni::GetEnvForThread();
-
- jni::ByteBuffer::LocalRef buffer(env);
- NS_ENSURE_SUCCESS_VOID(aFormat->GetByteBuffer(NS_LITERAL_STRING("csd-0"),
- &buffer));
-
- if (!buffer && aConfig.mCodecSpecificConfig->Length() >= 2) {
- buffer = jni::ByteBuffer::New(
- aConfig.mCodecSpecificConfig->Elements(),
- aConfig.mCodecSpecificConfig->Length());
- NS_ENSURE_SUCCESS_VOID(aFormat->SetByteBuffer(NS_LITERAL_STRING("csd-0"),
- buffer));
- }
- }
-
- const char* GetDescriptionName() const override
- {
- return "android audio decoder";
- }
-
- nsresult Output(BufferInfo::Param aInfo, void* aBuffer,
- MediaFormat::Param aFormat, const TimeUnit& aDuration)
- {
- // The output on Android is always 16-bit signed
- nsresult rv;
- int32_t numChannels;
- NS_ENSURE_SUCCESS(rv =
- aFormat->GetInteger(NS_LITERAL_STRING("channel-count"), &numChannels), rv);
- AudioConfig::ChannelLayout layout(numChannels);
- if (!layout.IsValid()) {
- return NS_ERROR_FAILURE;
- }
-
- int32_t sampleRate;
- NS_ENSURE_SUCCESS(rv =
- aFormat->GetInteger(NS_LITERAL_STRING("sample-rate"), &sampleRate), rv);
-
- int32_t size;
- NS_ENSURE_SUCCESS(rv = aInfo->Size(&size), rv);
-
- int32_t offset;
- NS_ENSURE_SUCCESS(rv = aInfo->Offset(&offset), rv);
-
-#ifdef MOZ_SAMPLE_TYPE_S16
- const int32_t numSamples = size / 2;
-#else
-#error We only support 16-bit integer PCM
-#endif
-
- const int32_t numFrames = numSamples / numChannels;
- AlignedAudioBuffer audio(numSamples);
- if (!audio) {
- return NS_ERROR_OUT_OF_MEMORY;
- }
-
- const uint8_t* bufferStart = static_cast<uint8_t*>(aBuffer) + offset;
- PodCopy(audio.get(), reinterpret_cast<const AudioDataValue*>(bufferStart),
- numSamples);
-
- int64_t presentationTimeUs;
- NS_ENSURE_SUCCESS(rv = aInfo->PresentationTimeUs(&presentationTimeUs), rv);
-
- RefPtr<AudioData> data = new AudioData(0, presentationTimeUs,
- aDuration.ToMicroseconds(),
- numFrames,
- Move(audio),
- numChannels,
- sampleRate);
- INVOKE_CALLBACK(Output, data);
- return NS_OK;
- }
-};
-
-MediaDataDecoder*
-MediaCodecDataDecoder::CreateAudioDecoder(const AudioInfo& aConfig,
- MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback)
-{
- return new AudioDataDecoder(aConfig, aFormat, aCallback);
-}
-
-MediaDataDecoder*
-MediaCodecDataDecoder::CreateVideoDecoder(const VideoInfo& aConfig,
- MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback,
- layers::ImageContainer* aImageContainer)
-{
- return new VideoDataDecoder(aConfig, aFormat, aCallback, aImageContainer);
-}
-
-MediaCodecDataDecoder::MediaCodecDataDecoder(MediaData::Type aType,
- const nsACString& aMimeType,
- MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback)
- : mType(aType)
- , mMimeType(aMimeType)
- , mFormat(aFormat)
- , mCallback(aCallback)
- , mInputBuffers(nullptr)
- , mOutputBuffers(nullptr)
- , mMonitor("MediaCodecDataDecoder::mMonitor")
- , mState(ModuleState::kDecoding)
-{
-
-}
-
-MediaCodecDataDecoder::~MediaCodecDataDecoder()
-{
- Shutdown();
-}
-
-RefPtr<MediaDataDecoder::InitPromise>
-MediaCodecDataDecoder::Init()
-{
- nsresult rv = InitDecoder(nullptr);
-
- TrackInfo::TrackType type =
- (mType == MediaData::AUDIO_DATA ? TrackInfo::TrackType::kAudioTrack
- : TrackInfo::TrackType::kVideoTrack);
-
- return NS_SUCCEEDED(rv) ?
- InitPromise::CreateAndResolve(type, __func__) :
- InitPromise::CreateAndReject(
- NS_ERROR_DOM_MEDIA_FATAL_ERR, __func__);
-}
-
-nsresult
-MediaCodecDataDecoder::InitDecoder(Surface::Param aSurface)
-{
- mDecoder = CreateDecoder(mMimeType);
- if (!mDecoder) {
- INVOKE_CALLBACK(Error,
- MediaResult(NS_ERROR_DOM_MEDIA_FATAL_ERR, __func__));
- return NS_ERROR_FAILURE;
- }
-
- nsresult rv;
- NS_ENSURE_SUCCESS(rv = mDecoder->Configure(mFormat, aSurface, nullptr, 0), rv);
- NS_ENSURE_SUCCESS(rv = mDecoder->Start(), rv);
-
- NS_ENSURE_SUCCESS(rv = ResetInputBuffers(), rv);
- NS_ENSURE_SUCCESS(rv = ResetOutputBuffers(), rv);
-
- nsCOMPtr<nsIRunnable> r = NewRunnableMethod(this, &MediaCodecDataDecoder::DecoderLoop);
- rv = NS_NewNamedThread("MC Decoder", getter_AddRefs(mThread), r);
-
- return rv;
-}
-
-// This is in usec, so that's 10ms.
-static const int64_t kDecoderTimeout = 10000;
-
-#define BREAK_ON_DECODER_ERROR() \
- if (NS_FAILED(res)) { \
- NS_WARNING("Exiting decoder loop due to exception"); \
- if (mState == ModuleState::kDrainDecoder) { \
- INVOKE_CALLBACK(DrainComplete); \
- SetState(ModuleState::kDecoding); \
- } \
- INVOKE_CALLBACK(Error, MediaResult(NS_ERROR_DOM_MEDIA_FATAL_ERR, __func__)); \
- break; \
- }
-
-nsresult
-MediaCodecDataDecoder::GetInputBuffer(
- JNIEnv* aEnv, int aIndex, jni::Object::LocalRef* aBuffer)
-{
- MOZ_ASSERT(aEnv);
- MOZ_ASSERT(!*aBuffer);
-
- int numTries = 2;
-
- while (numTries--) {
- *aBuffer = jni::Object::LocalRef::Adopt(
- aEnv->GetObjectArrayElement(mInputBuffers.Get(), aIndex));
- if (*aBuffer) {
- return NS_OK;
- }
- nsresult res = ResetInputBuffers();
- if (NS_FAILED(res)) {
- return res;
- }
- }
- return NS_ERROR_FAILURE;
-}
-
-bool
-MediaCodecDataDecoder::WaitForInput()
-{
- MonitorAutoLock lock(mMonitor);
-
- while (mState == ModuleState::kDecoding && mQueue.empty()) {
- // Signal that we require more input.
- INVOKE_CALLBACK(InputExhausted);
- lock.Wait();
- }
-
- return mState != ModuleState::kStopping;
-}
-
-
-already_AddRefed<MediaRawData>
-MediaCodecDataDecoder::PeekNextSample()
-{
- MonitorAutoLock lock(mMonitor);
-
- if (mState == ModuleState::kFlushing) {
- mDecoder->Flush();
- ClearQueue();
- SetState(ModuleState::kDecoding);
- lock.Notify();
- return nullptr;
- }
-
- if (mQueue.empty()) {
- if (mState == ModuleState::kDrainQueue) {
- SetState(ModuleState::kDrainDecoder);
- }
- return nullptr;
- }
-
- // We're not stopping or flushing, so try to get a sample.
- return RefPtr<MediaRawData>(mQueue.front()).forget();
-}
-
-nsresult
-MediaCodecDataDecoder::QueueSample(const MediaRawData* aSample)
-{
- MOZ_ASSERT(aSample);
- AutoLocalJNIFrame frame(jni::GetEnvForThread(), 1);
-
- // We have a sample, try to feed it to the decoder.
- int32_t inputIndex = -1;
- nsresult res = mDecoder->DequeueInputBuffer(kDecoderTimeout, &inputIndex);
- if (NS_FAILED(res)) {
- return res;
- }
-
- if (inputIndex < 0) {
- // There is no valid input buffer available.
- return NS_ERROR_FAILURE;
- }
-
- jni::Object::LocalRef buffer(frame.GetEnv());
- res = GetInputBuffer(frame.GetEnv(), inputIndex, &buffer);
- if (NS_FAILED(res)) {
- return res;
- }
-
- void* directBuffer = frame.GetEnv()->GetDirectBufferAddress(buffer.Get());
-
- MOZ_ASSERT(frame.GetEnv()->GetDirectBufferCapacity(buffer.Get()) >=
- aSample->Size(),
- "Decoder buffer is not large enough for sample");
-
- PodCopy(static_cast<uint8_t*>(directBuffer), aSample->Data(), aSample->Size());
-
- CryptoInfo::LocalRef cryptoInfo = GetCryptoInfoFromSample(aSample);
- if (cryptoInfo) {
- res = mDecoder->QueueSecureInputBuffer(inputIndex, 0, cryptoInfo,
- aSample->mTime, 0);
- } else {
- res = mDecoder->QueueInputBuffer(inputIndex, 0, aSample->Size(),
- aSample->mTime, 0);
- }
-
- if (NS_FAILED(res)) {
- return res;
- }
-
- mDurations.push_back(TimeUnit::FromMicroseconds(aSample->mDuration));
- return NS_OK;
-}
-
-nsresult
-MediaCodecDataDecoder::QueueEOS()
-{
- mMonitor.AssertCurrentThreadOwns();
-
- nsresult res = NS_OK;
- int32_t inputIndex = -1;
- res = mDecoder->DequeueInputBuffer(kDecoderTimeout, &inputIndex);
- if (NS_FAILED(res) || inputIndex < 0) {
- return res;
- }
-
- res = mDecoder->QueueInputBuffer(inputIndex, 0, 0, 0,
- MediaCodec::BUFFER_FLAG_END_OF_STREAM);
- if (NS_SUCCEEDED(res)) {
- SetState(ModuleState::kDrainWaitEOS);
- mMonitor.Notify();
- }
- return res;
-}
-
-void
-MediaCodecDataDecoder::HandleEOS(int32_t aOutputStatus)
-{
- MonitorAutoLock lock(mMonitor);
-
- if (mState == ModuleState::kDrainWaitEOS) {
- SetState(ModuleState::kDecoding);
- mMonitor.Notify();
-
- INVOKE_CALLBACK(DrainComplete);
- }
-
- mDecoder->ReleaseOutputBuffer(aOutputStatus, false);
-}
-
-Maybe<TimeUnit>
-MediaCodecDataDecoder::GetOutputDuration()
-{
- if (mDurations.empty()) {
- return Nothing();
- }
- const Maybe<TimeUnit> duration = Some(mDurations.front());
- mDurations.pop_front();
- return duration;
-}
-
-nsresult
-MediaCodecDataDecoder::ProcessOutput(
- BufferInfo::Param aInfo, MediaFormat::Param aFormat, int32_t aStatus)
-{
- AutoLocalJNIFrame frame(jni::GetEnvForThread(), 1);
-
- const Maybe<TimeUnit> duration = GetOutputDuration();
- if (!duration) {
- // Some devices report failure in QueueSample while actually succeeding at
- // it, in which case we get an output buffer without having a cached duration
- // (bug 1273523).
- return NS_OK;
- }
-
- const auto buffer = jni::Object::LocalRef::Adopt(
- frame.GetEnv()->GetObjectArrayElement(mOutputBuffers.Get(), aStatus));
-
- if (buffer) {
- // The buffer will be null on Android L if we are decoding to a Surface.
- void* directBuffer = frame.GetEnv()->GetDirectBufferAddress(buffer.Get());
- Output(aInfo, directBuffer, aFormat, duration.value());
- }
-
- // The Surface will be updated at this point (for video).
- mDecoder->ReleaseOutputBuffer(aStatus, true);
- PostOutput(aInfo, aFormat, duration.value());
-
- return NS_OK;
-}
-
-void
-MediaCodecDataDecoder::DecoderLoop()
-{
- bool isOutputDone = false;
- AutoLocalJNIFrame frame(jni::GetEnvForThread(), 1);
- MediaFormat::LocalRef outputFormat(frame.GetEnv());
- nsresult res = NS_OK;
-
- while (WaitForInput()) {
- RefPtr<MediaRawData> sample = PeekNextSample();
-
- {
- MonitorAutoLock lock(mMonitor);
- if (mState == ModuleState::kDrainDecoder) {
- MOZ_ASSERT(!sample, "Shouldn't have a sample when pushing EOF frame");
- res = QueueEOS();
- BREAK_ON_DECODER_ERROR();
- }
- }
-
- if (sample) {
- res = QueueSample(sample);
- if (NS_SUCCEEDED(res)) {
- // We've fed this into the decoder, so remove it from the queue.
- MonitorAutoLock lock(mMonitor);
- MOZ_RELEASE_ASSERT(mQueue.size(), "Queue may not be empty");
- mQueue.pop_front();
- isOutputDone = false;
- }
- }
-
- if (isOutputDone) {
- continue;
- }
-
- BufferInfo::LocalRef bufferInfo;
- nsresult res = BufferInfo::New(&bufferInfo);
- BREAK_ON_DECODER_ERROR();
-
- int32_t outputStatus = -1;
- res = mDecoder->DequeueOutputBuffer(bufferInfo, kDecoderTimeout,
- &outputStatus);
- BREAK_ON_DECODER_ERROR();
-
- if (outputStatus == MediaCodec::INFO_TRY_AGAIN_LATER) {
- // We might want to call mCallback->InputExhausted() here, but there seems
- // to be some possible bad interactions here with the threading.
- } else if (outputStatus == MediaCodec::INFO_OUTPUT_BUFFERS_CHANGED) {
- res = ResetOutputBuffers();
- BREAK_ON_DECODER_ERROR();
- } else if (outputStatus == MediaCodec::INFO_OUTPUT_FORMAT_CHANGED) {
- res = mDecoder->GetOutputFormat(ReturnTo(&outputFormat));
- BREAK_ON_DECODER_ERROR();
- } else if (outputStatus < 0) {
- NS_WARNING("Unknown error from decoder!");
- INVOKE_CALLBACK(Error,
- MediaResult(NS_ERROR_DOM_MEDIA_DECODE_ERR,
- __func__));
- // Don't break here just in case it's recoverable. If it's not, other
- // stuff will fail later and we'll bail out.
- } else {
- // We have a valid buffer index >= 0 here.
- int32_t flags;
- nsresult res = bufferInfo->Flags(&flags);
- BREAK_ON_DECODER_ERROR();
-
- if (flags & MediaCodec::BUFFER_FLAG_END_OF_STREAM) {
- HandleEOS(outputStatus);
- isOutputDone = true;
- // We only queue empty EOF frames, so we're done for now.
- continue;
- }
-
- res = ProcessOutput(bufferInfo, outputFormat, outputStatus);
- BREAK_ON_DECODER_ERROR();
- }
- }
-
- Cleanup();
-
- // We're done.
- MonitorAutoLock lock(mMonitor);
- SetState(ModuleState::kShutdown);
- mMonitor.Notify();
-}
-
-const char*
-MediaCodecDataDecoder::ModuleStateStr(ModuleState aState) {
- switch (aState) {
- case ModuleState::kDecoding: return "Decoding";
- case ModuleState::kFlushing: return "Flushing";
- case ModuleState::kDrainQueue: return "DrainQueue";
- case ModuleState::kDrainDecoder: return "DrainDecoder";
- case ModuleState::kDrainWaitEOS: return "DrainWaitEOS";
- case ModuleState::kStopping: return "Stopping";
- case ModuleState::kShutdown: return "Shutdown";
- default: MOZ_ASSERT_UNREACHABLE("Invalid state.");
- }
- return "Unknown";
-}
-
-bool
-MediaCodecDataDecoder::SetState(ModuleState aState)
-{
- bool ok = true;
-
- if (mState == ModuleState::kShutdown) {
- ok = false;
- } else if (mState == ModuleState::kStopping) {
- ok = aState == ModuleState::kShutdown;
- } else if (aState == ModuleState::kDrainDecoder) {
- ok = mState == ModuleState::kDrainQueue;
- } else if (aState == ModuleState::kDrainWaitEOS) {
- ok = mState == ModuleState::kDrainDecoder;
- }
-
- if (ok) {
- LOG("%s -> %s", ModuleStateStr(mState), ModuleStateStr(aState));
- mState = aState;
- } else {
- LOG("Fail to transit from %s to %s state", ModuleStateStr(mState), ModuleStateStr(aState));
- }
-
- return ok;
-}
-
-void
-MediaCodecDataDecoder::ClearQueue()
-{
- mMonitor.AssertCurrentThreadOwns();
-
- mQueue.clear();
- mDurations.clear();
-}
-
-void
-MediaCodecDataDecoder::Input(MediaRawData* aSample)
-{
- MonitorAutoLock lock(mMonitor);
- mQueue.push_back(aSample);
- lock.NotifyAll();
-}
-
-nsresult
-MediaCodecDataDecoder::ResetInputBuffers()
-{
- return mDecoder->GetInputBuffers(ReturnTo(&mInputBuffers));
-}
-
-nsresult
-MediaCodecDataDecoder::ResetOutputBuffers()
-{
- return mDecoder->GetOutputBuffers(ReturnTo(&mOutputBuffers));
-}
-
-void
-MediaCodecDataDecoder::Flush()
-{
- MonitorAutoLock lock(mMonitor);
- if (!SetState(ModuleState::kFlushing)) {
- return;
- }
- lock.Notify();
-
- while (mState == ModuleState::kFlushing) {
- lock.Wait();
- }
-}
-
-void
-MediaCodecDataDecoder::Drain()
-{
- MonitorAutoLock lock(mMonitor);
- if (mState == ModuleState::kDrainDecoder ||
- mState == ModuleState::kDrainQueue) {
- return;
- }
-
- SetState(ModuleState::kDrainQueue);
- lock.Notify();
-}
-
-
-void
-MediaCodecDataDecoder::Shutdown()
-{
- MonitorAutoLock lock(mMonitor);
-
- SetState(ModuleState::kStopping);
- lock.Notify();
-
- while (mThread && mState != ModuleState::kShutdown) {
- lock.Wait();
- }
-
- if (mThread) {
- mThread->Shutdown();
- mThread = nullptr;
- }
-
- if (mDecoder) {
- mDecoder->Stop();
- mDecoder->Release();
- mDecoder = nullptr;
- }
-}
-
-} // mozilla
diff --git a/dom/media/platforms/android/MediaCodecDataDecoder.h b/dom/media/platforms/android/MediaCodecDataDecoder.h
deleted file mode 100644
index 0db6407bf..000000000
--- a/dom/media/platforms/android/MediaCodecDataDecoder.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* 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/. */
-
-#ifndef MediaCodecDataDecoder_h_
-#define MediaCodecDataDecoder_h_
-
-#include "AndroidDecoderModule.h"
-
-#include "MediaCodec.h"
-#include "SurfaceTexture.h"
-#include "TimeUnits.h"
-#include "mozilla/Monitor.h"
-#include "mozilla/Maybe.h"
-
-#include <deque>
-
-namespace mozilla {
-
-typedef std::deque<RefPtr<MediaRawData>> SampleQueue;
-
-class MediaCodecDataDecoder : public MediaDataDecoder {
-public:
- static MediaDataDecoder* CreateAudioDecoder(const AudioInfo& aConfig,
- java::sdk::MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback);
-
- static MediaDataDecoder* CreateVideoDecoder(const VideoInfo& aConfig,
- java::sdk::MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback,
- layers::ImageContainer* aImageContainer);
-
- virtual ~MediaCodecDataDecoder();
-
- RefPtr<MediaDataDecoder::InitPromise> Init() override;
- void Flush() override;
- void Drain() override;
- void Shutdown() override;
- void Input(MediaRawData* aSample) override;
- const char* GetDescriptionName() const override
- {
- return "Android MediaCodec decoder";
- }
-
-protected:
- enum class ModuleState : uint8_t {
- kDecoding = 0,
- kFlushing,
- kDrainQueue,
- kDrainDecoder,
- kDrainWaitEOS,
- kStopping,
- kShutdown
- };
-
- friend class AndroidDecoderModule;
-
- MediaCodecDataDecoder(MediaData::Type aType,
- const nsACString& aMimeType,
- java::sdk::MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback);
-
- static const char* ModuleStateStr(ModuleState aState);
-
- virtual nsresult InitDecoder(java::sdk::Surface::Param aSurface);
-
- virtual nsresult Output(java::sdk::BufferInfo::Param aInfo, void* aBuffer,
- java::sdk::MediaFormat::Param aFormat, const media::TimeUnit& aDuration)
- {
- return NS_OK;
- }
-
- virtual nsresult PostOutput(java::sdk::BufferInfo::Param aInfo,
- java::sdk::MediaFormat::Param aFormat, const media::TimeUnit& aDuration)
- {
- return NS_OK;
- }
-
- virtual void Cleanup() {};
-
- nsresult ResetInputBuffers();
- nsresult ResetOutputBuffers();
-
- nsresult GetInputBuffer(JNIEnv* env, int index, jni::Object::LocalRef* buffer);
- bool WaitForInput();
- already_AddRefed<MediaRawData> PeekNextSample();
- nsresult QueueSample(const MediaRawData* aSample);
- nsresult QueueEOS();
- void HandleEOS(int32_t aOutputStatus);
- Maybe<media::TimeUnit> GetOutputDuration();
- nsresult ProcessOutput(java::sdk::BufferInfo::Param aInfo,
- java::sdk::MediaFormat::Param aFormat,
- int32_t aStatus);
- // Sets decoder state and returns whether the new state has become effective.
- bool SetState(ModuleState aState);
- void DecoderLoop();
-
- virtual void ClearQueue();
-
- MediaData::Type mType;
-
- nsAutoCString mMimeType;
- java::sdk::MediaFormat::GlobalRef mFormat;
-
- MediaDataDecoderCallback* mCallback;
-
- java::sdk::MediaCodec::GlobalRef mDecoder;
-
- jni::ObjectArray::GlobalRef mInputBuffers;
- jni::ObjectArray::GlobalRef mOutputBuffers;
-
- nsCOMPtr<nsIThread> mThread;
-
- // Only these members are protected by mMonitor.
- Monitor mMonitor;
-
- ModuleState mState;
-
- SampleQueue mQueue;
- // Durations are stored in microseconds.
- std::deque<media::TimeUnit> mDurations;
-};
-
-} // namespace mozilla
-
-#endif
diff --git a/dom/media/platforms/android/RemoteDataDecoder.cpp b/dom/media/platforms/android/RemoteDataDecoder.cpp
deleted file mode 100644
index 56af2601f..000000000
--- a/dom/media/platforms/android/RemoteDataDecoder.cpp
+++ /dev/null
@@ -1,489 +0,0 @@
-/* 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 "AndroidDecoderModule.h"
-#include "AndroidBridge.h"
-#include "AndroidSurfaceTexture.h"
-#include "FennecJNINatives.h"
-#include "GLImages.h"
-
-#include "MediaData.h"
-#include "MediaInfo.h"
-#include "VideoUtils.h"
-#include "VPXDecoder.h"
-
-#include "nsThreadUtils.h"
-#include "nsPromiseFlatString.h"
-#include "nsIGfxInfo.h"
-
-#include "prlog.h"
-
-#include <jni.h>
-
-#include <deque>
-
-#undef LOG
-#define LOG(arg, ...) MOZ_LOG(sAndroidDecoderModuleLog, \
- mozilla::LogLevel::Debug, ("RemoteDataDecoder(%p)::%s: " arg, \
- this, __func__, ##__VA_ARGS__))
-
-using namespace mozilla;
-using namespace mozilla::gl;
-using namespace mozilla::java;
-using namespace mozilla::java::sdk;
-using media::TimeUnit;
-
-namespace mozilla {
-
-class JavaCallbacksSupport
- : public CodecProxy::NativeCallbacks::Natives<JavaCallbacksSupport>
-{
-public:
- typedef CodecProxy::NativeCallbacks::Natives<JavaCallbacksSupport> Base;
- using Base::AttachNative;
-
- JavaCallbacksSupport(MediaDataDecoderCallback* aDecoderCallback)
- : mDecoderCallback(aDecoderCallback)
- {
- MOZ_ASSERT(aDecoderCallback);
- }
-
- virtual ~JavaCallbacksSupport() {}
-
- void OnInputExhausted()
- {
- if (mDecoderCallback) {
- mDecoderCallback->InputExhausted();
- }
- }
-
- virtual void HandleOutput(Sample::Param aSample) = 0;
-
- void OnOutput(jni::Object::Param aSample)
- {
- if (mDecoderCallback) {
- HandleOutput(Sample::Ref::From(aSample));
- }
- }
-
- virtual void HandleOutputFormatChanged(MediaFormat::Param aFormat) {};
-
- void OnOutputFormatChanged(jni::Object::Param aFormat)
- {
- if (mDecoderCallback) {
- HandleOutputFormatChanged(MediaFormat::Ref::From(aFormat));
- }
- }
-
- void OnError(bool aIsFatal)
- {
- if (mDecoderCallback) {
- mDecoderCallback->Error(aIsFatal ?
- MediaResult(NS_ERROR_DOM_MEDIA_FATAL_ERR, __func__) :
- MediaResult(NS_ERROR_DOM_MEDIA_DECODE_ERR, __func__));
- }
- }
-
- void DisposeNative()
- {
- // TODO
- }
-
- void Cancel()
- {
- mDecoderCallback = nullptr;
- }
-
-protected:
- MediaDataDecoderCallback* mDecoderCallback;
-};
-
-struct SampleTime final
-{
- SampleTime(int64_t aStart, int64_t aDuration)
- : mStart(aStart)
- , mDuration(aDuration)
- {}
-
- int64_t mStart;
- int64_t mDuration;
-};
-
-
-class RemoteVideoDecoder final : public RemoteDataDecoder
-{
-public:
- class CallbacksSupport final : public JavaCallbacksSupport
- {
- public:
- CallbacksSupport(RemoteVideoDecoder* aDecoder, MediaDataDecoderCallback* aCallback)
- : JavaCallbacksSupport(aCallback)
- , mDecoder(aDecoder)
- {}
-
- virtual ~CallbacksSupport() {}
-
- void HandleOutput(Sample::Param aSample) override
- {
- Maybe<int64_t> durationUs = mDecoder->mInputDurations.Get();
- if (!durationUs) {
- return;
- }
-
- BufferInfo::LocalRef info = aSample->Info();
-
- int32_t flags;
- bool ok = NS_SUCCEEDED(info->Flags(&flags));
- MOZ_ASSERT(ok);
-
- int32_t offset;
- ok |= NS_SUCCEEDED(info->Offset(&offset));
- MOZ_ASSERT(ok);
-
- int64_t presentationTimeUs;
- ok |= NS_SUCCEEDED(info->PresentationTimeUs(&presentationTimeUs));
- MOZ_ASSERT(ok);
-
- int32_t size;
- ok |= NS_SUCCEEDED(info->Size(&size));
- MOZ_ASSERT(ok);
-
- NS_ENSURE_TRUE_VOID(ok);
-
- if (size > 0) {
- RefPtr<layers::Image> img =
- new SurfaceTextureImage(mDecoder->mSurfaceTexture.get(), mDecoder->mConfig.mDisplay,
- gl::OriginPos::BottomLeft);
-
- RefPtr<VideoData> v =
- VideoData::CreateFromImage(mDecoder->mConfig,
- offset,
- presentationTimeUs,
- durationUs.value(),
- img,
- !!(flags & MediaCodec::BUFFER_FLAG_SYNC_FRAME),
- presentationTimeUs,
- gfx::IntRect(0, 0,
- mDecoder->mConfig.mDisplay.width,
- mDecoder->mConfig.mDisplay.height));
-
- mDecoderCallback->Output(v);
- }
-
- if ((flags & MediaCodec::BUFFER_FLAG_END_OF_STREAM) != 0) {
- mDecoderCallback->DrainComplete();
- }
- }
-
- friend class RemoteDataDecoder;
-
- private:
- RemoteVideoDecoder* mDecoder;
- };
-
- RemoteVideoDecoder(const VideoInfo& aConfig,
- MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback,
- layers::ImageContainer* aImageContainer)
- : RemoteDataDecoder(MediaData::Type::VIDEO_DATA, aConfig.mMimeType,
- aFormat, aCallback)
- , mImageContainer(aImageContainer)
- , mConfig(aConfig)
- {
- }
-
- RefPtr<InitPromise> Init() override
- {
- mSurfaceTexture = AndroidSurfaceTexture::Create();
- if (!mSurfaceTexture) {
- NS_WARNING("Failed to create SurfaceTexture for video decode\n");
- return InitPromise::CreateAndReject(NS_ERROR_DOM_MEDIA_FATAL_ERR, __func__);
- }
-
- if (!jni::IsFennec()) {
- NS_WARNING("Remote decoding not supported in non-Fennec environment\n");
- return InitPromise::CreateAndReject(NS_ERROR_DOM_MEDIA_FATAL_ERR, __func__);
- }
-
- // Register native methods.
- JavaCallbacksSupport::Init();
-
- mJavaCallbacks = CodecProxy::NativeCallbacks::New();
- JavaCallbacksSupport::AttachNative(mJavaCallbacks,
- mozilla::MakeUnique<CallbacksSupport>(this, mCallback));
-
- mJavaDecoder = CodecProxy::Create(mFormat, mSurfaceTexture->JavaSurface(), mJavaCallbacks);
- if (mJavaDecoder == nullptr) {
- return InitPromise::CreateAndReject(NS_ERROR_DOM_MEDIA_FATAL_ERR, __func__);
- }
-
- mInputDurations.Clear();
-
- return InitPromise::CreateAndResolve(TrackInfo::kVideoTrack, __func__);
- }
-
- void Flush() override
- {
- mInputDurations.Clear();
- RemoteDataDecoder::Flush();
- }
-
- void Drain() override
- {
- RemoteDataDecoder::Drain();
- mInputDurations.Put(0);
- }
-
- void Input(MediaRawData* aSample) override
- {
- RemoteDataDecoder::Input(aSample);
- mInputDurations.Put(aSample->mDuration);
- }
-
-private:
- class DurationQueue {
- public:
-
- void Clear()
- {
- mValues.clear();
- }
-
- void Put(int64_t aDurationUs)
- {
- mValues.emplace_back(aDurationUs);
- }
-
- Maybe<int64_t> Get()
- {
- if (mValues.empty()) {
- return Nothing();
- }
-
- auto value = Some(mValues.front());
- mValues.pop_front();
-
- return value;
- }
-
- private:
- std::deque<int64_t> mValues;
- };
-
- layers::ImageContainer* mImageContainer;
- const VideoInfo& mConfig;
- RefPtr<AndroidSurfaceTexture> mSurfaceTexture;
- DurationQueue mInputDurations;
-};
-
-class RemoteAudioDecoder final : public RemoteDataDecoder
-{
-public:
- RemoteAudioDecoder(const AudioInfo& aConfig,
- MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback)
- : RemoteDataDecoder(MediaData::Type::AUDIO_DATA, aConfig.mMimeType,
- aFormat, aCallback)
- , mConfig(aConfig)
- {
- JNIEnv* const env = jni::GetEnvForThread();
-
- bool formatHasCSD = false;
- NS_ENSURE_SUCCESS_VOID(aFormat->ContainsKey(NS_LITERAL_STRING("csd-0"), &formatHasCSD));
-
- if (!formatHasCSD && aConfig.mCodecSpecificConfig->Length() >= 2) {
- jni::ByteBuffer::LocalRef buffer(env);
- buffer = jni::ByteBuffer::New(
- aConfig.mCodecSpecificConfig->Elements(),
- aConfig.mCodecSpecificConfig->Length());
- NS_ENSURE_SUCCESS_VOID(aFormat->SetByteBuffer(NS_LITERAL_STRING("csd-0"),
- buffer));
- }
- }
-
- RefPtr<InitPromise> Init() override
- {
- // Register native methods.
- JavaCallbacksSupport::Init();
-
- mJavaCallbacks = CodecProxy::NativeCallbacks::New();
- JavaCallbacksSupport::AttachNative(mJavaCallbacks,
- mozilla::MakeUnique<CallbacksSupport>(this, mCallback));
-
- mJavaDecoder = CodecProxy::Create(mFormat, nullptr, mJavaCallbacks);
- if (mJavaDecoder == nullptr) {
- return InitPromise::CreateAndReject(NS_ERROR_DOM_MEDIA_FATAL_ERR, __func__);
- }
-
- return InitPromise::CreateAndResolve(TrackInfo::kAudioTrack, __func__);
- }
-
-private:
- class CallbacksSupport final : public JavaCallbacksSupport
- {
- public:
- CallbacksSupport(RemoteAudioDecoder* aDecoder, MediaDataDecoderCallback* aCallback)
- : JavaCallbacksSupport(aCallback)
- , mDecoder(aDecoder)
- {}
-
- virtual ~CallbacksSupport() {}
-
- void HandleOutput(Sample::Param aSample) override
- {
- BufferInfo::LocalRef info = aSample->Info();
-
- int32_t flags;
- bool ok = NS_SUCCEEDED(info->Flags(&flags));
- MOZ_ASSERT(ok);
-
- int32_t offset;
- ok |= NS_SUCCEEDED(info->Offset(&offset));
- MOZ_ASSERT(ok);
-
- int64_t presentationTimeUs;
- ok |= NS_SUCCEEDED(info->PresentationTimeUs(&presentationTimeUs));
- MOZ_ASSERT(ok);
-
- int32_t size;
- ok |= NS_SUCCEEDED(info->Size(&size));
- MOZ_ASSERT(ok);
-
- NS_ENSURE_TRUE_VOID(ok);
-
- if (size > 0) {
-#ifdef MOZ_SAMPLE_TYPE_S16
- const int32_t numSamples = size / 2;
-#else
-#error We only support 16-bit integer PCM
-#endif
-
- const int32_t numFrames = numSamples / mOutputChannels;
- AlignedAudioBuffer audio(numSamples);
- if (!audio) {
- return;
- }
-
- jni::ByteBuffer::LocalRef dest = jni::ByteBuffer::New(audio.get(), size);
- aSample->WriteToByteBuffer(dest);
-
- RefPtr<AudioData> data = new AudioData(0, presentationTimeUs,
- FramesToUsecs(numFrames, mOutputSampleRate).value(),
- numFrames,
- Move(audio),
- mOutputChannels,
- mOutputSampleRate);
-
- mDecoderCallback->Output(data);
- }
-
- if ((flags & MediaCodec::BUFFER_FLAG_END_OF_STREAM) != 0) {
- mDecoderCallback->DrainComplete();
- return;
- }
- }
-
- void HandleOutputFormatChanged(MediaFormat::Param aFormat) override
- {
- aFormat->GetInteger(NS_LITERAL_STRING("channel-count"), &mOutputChannels);
- AudioConfig::ChannelLayout layout(mOutputChannels);
- if (!layout.IsValid()) {
- mDecoderCallback->Error(MediaResult(
- NS_ERROR_DOM_MEDIA_FATAL_ERR,
- RESULT_DETAIL("Invalid channel layout:%d", mOutputChannels)));
- return;
- }
- aFormat->GetInteger(NS_LITERAL_STRING("sample-rate"), &mOutputSampleRate);
- LOG("Audio output format changed: channels:%d sample rate:%d", mOutputChannels, mOutputSampleRate);
- }
-
- private:
- RemoteAudioDecoder* mDecoder;
- int32_t mOutputChannels;
- int32_t mOutputSampleRate;
- };
-
- const AudioInfo& mConfig;
-};
-
-MediaDataDecoder*
-RemoteDataDecoder::CreateAudioDecoder(const AudioInfo& aConfig,
- MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback)
-{
- return new RemoteAudioDecoder(aConfig, aFormat, aCallback);
-}
-
-MediaDataDecoder*
-RemoteDataDecoder::CreateVideoDecoder(const VideoInfo& aConfig,
- MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback,
- layers::ImageContainer* aImageContainer)
-{
- return new RemoteVideoDecoder(aConfig, aFormat, aCallback, aImageContainer);
-}
-
-RemoteDataDecoder::RemoteDataDecoder(MediaData::Type aType,
- const nsACString& aMimeType,
- MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback)
- : mType(aType)
- , mMimeType(aMimeType)
- , mFormat(aFormat)
- , mCallback(aCallback)
-{
-}
-
-void
-RemoteDataDecoder::Flush()
-{
- mJavaDecoder->Flush();
-}
-
-void
-RemoteDataDecoder::Drain()
-{
- BufferInfo::LocalRef bufferInfo;
- nsresult rv = BufferInfo::New(&bufferInfo);
- NS_ENSURE_SUCCESS_VOID(rv);
- bufferInfo->Set(0, 0, -1, MediaCodec::BUFFER_FLAG_END_OF_STREAM);
-
- mJavaDecoder->Input(nullptr, bufferInfo, nullptr);
-}
-
-void
-RemoteDataDecoder::Shutdown()
-{
- LOG("");
- MOZ_ASSERT(mJavaDecoder && mJavaCallbacks);
-
- mJavaDecoder->Release();
- mJavaDecoder = nullptr;
-
- JavaCallbacksSupport::GetNative(mJavaCallbacks)->Cancel();
- mJavaCallbacks = nullptr;
-
- mFormat = nullptr;
-}
-
-void
-RemoteDataDecoder::Input(MediaRawData* aSample)
-{
- MOZ_ASSERT(aSample != nullptr);
-
- jni::ByteBuffer::LocalRef bytes = jni::ByteBuffer::New(const_cast<uint8_t*>(aSample->Data()),
- aSample->Size());
-
- BufferInfo::LocalRef bufferInfo;
- nsresult rv = BufferInfo::New(&bufferInfo);
- if (NS_FAILED(rv)) {
- mCallback->Error(MediaResult(NS_ERROR_OUT_OF_MEMORY, __func__));
- return;
- }
- bufferInfo->Set(0, aSample->Size(), aSample->mTime, 0);
-
- mJavaDecoder->Input(bytes, bufferInfo, GetCryptoInfoFromSample(aSample));
-}
-
-} // mozilla
diff --git a/dom/media/platforms/android/RemoteDataDecoder.h b/dom/media/platforms/android/RemoteDataDecoder.h
deleted file mode 100644
index 219539a0a..000000000
--- a/dom/media/platforms/android/RemoteDataDecoder.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* 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/. */
-
-#ifndef RemoteDataDecoder_h_
-#define RemoteDataDecoder_h_
-
-#include "AndroidDecoderModule.h"
-
-#include "FennecJNIWrappers.h"
-
-#include "SurfaceTexture.h"
-#include "TimeUnits.h"
-#include "mozilla/Monitor.h"
-#include "mozilla/Maybe.h"
-
-#include <deque>
-
-namespace mozilla {
-
-class RemoteDataDecoder : public MediaDataDecoder {
-public:
- static MediaDataDecoder* CreateAudioDecoder(const AudioInfo& aConfig,
- java::sdk::MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback);
-
- static MediaDataDecoder* CreateVideoDecoder(const VideoInfo& aConfig,
- java::sdk::MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback,
- layers::ImageContainer* aImageContainer);
-
- virtual ~RemoteDataDecoder() {}
-
- void Flush() override;
- void Drain() override;
- void Shutdown() override;
- void Input(MediaRawData* aSample) override;
- const char* GetDescriptionName() const override
- {
- return "android remote decoder";
- }
-
-protected:
- RemoteDataDecoder(MediaData::Type aType,
- const nsACString& aMimeType,
- java::sdk::MediaFormat::Param aFormat,
- MediaDataDecoderCallback* aCallback);
-
- MediaData::Type mType;
-
- nsAutoCString mMimeType;
- java::sdk::MediaFormat::GlobalRef mFormat;
-
- MediaDataDecoderCallback* mCallback;
-
- java::CodecProxy::GlobalRef mJavaDecoder;
- java::CodecProxy::NativeCallbacks::GlobalRef mJavaCallbacks;
-};
-
-} // namespace mozilla
-
-#endif
diff --git a/dom/media/platforms/ffmpeg/ffmpeg57/moz.build b/dom/media/platforms/ffmpeg/ffmpeg57/moz.build
index 7a55d7685..9e4ac60b7 100644
--- a/dom/media/platforms/ffmpeg/ffmpeg57/moz.build
+++ b/dom/media/platforms/ffmpeg/ffmpeg57/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/platforms/ffmpeg/ffmpeg58/moz.build b/dom/media/platforms/ffmpeg/ffmpeg58/moz.build
index 7a55d7685..9e4ac60b7 100644
--- a/dom/media/platforms/ffmpeg/ffmpeg58/moz.build
+++ b/dom/media/platforms/ffmpeg/ffmpeg58/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/platforms/ffmpeg/ffvpx/moz.build b/dom/media/platforms/ffmpeg/ffvpx/moz.build
index 95f8eec65..c060efbd7 100644
--- a/dom/media/platforms/ffmpeg/ffvpx/moz.build
+++ b/dom/media/platforms/ffmpeg/ffvpx/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/platforms/ffmpeg/libav53/moz.build b/dom/media/platforms/ffmpeg/libav53/moz.build
index 471edd701..0ed3423e1 100644
--- a/dom/media/platforms/ffmpeg/libav53/moz.build
+++ b/dom/media/platforms/ffmpeg/libav53/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/platforms/ffmpeg/libav54/moz.build b/dom/media/platforms/ffmpeg/libav54/moz.build
index 471edd701..0ed3423e1 100644
--- a/dom/media/platforms/ffmpeg/libav54/moz.build
+++ b/dom/media/platforms/ffmpeg/libav54/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/platforms/ffmpeg/libav55/moz.build b/dom/media/platforms/ffmpeg/libav55/moz.build
index 7a55d7685..9e4ac60b7 100644
--- a/dom/media/platforms/ffmpeg/libav55/moz.build
+++ b/dom/media/platforms/ffmpeg/libav55/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/platforms/ffmpeg/moz.build b/dom/media/platforms/ffmpeg/moz.build
index e42a8aa4d..ac1e56634 100644
--- a/dom/media/platforms/ffmpeg/moz.build
+++ b/dom/media/platforms/ffmpeg/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/platforms/moz.build b/dom/media/platforms/moz.build
index 23bea20dd..a32476133 100644
--- a/dom/media/platforms/moz.build
+++ b/dom/media/platforms/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
@@ -81,16 +80,6 @@ if CONFIG['MOZ_APPLEMEDIA']:
include('/ipc/chromium/chromium-config.mozbuild')
-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
- EXPORTS += [
- 'android/AndroidDecoderModule.h',
- ]
- SOURCES += [
- 'android/AndroidDecoderModule.cpp',
- 'android/MediaCodecDataDecoder.cpp',
- 'android/RemoteDataDecoder.cpp',
- ]
-
FINAL_LIBRARY = 'xul'
if CONFIG['GNU_CXX']:
diff --git a/dom/media/platforms/omx/moz.build b/dom/media/platforms/omx/moz.build
index ee7202bd3..c69cff780 100644
--- a/dom/media/platforms/omx/moz.build
+++ b/dom/media/platforms/omx/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/platforms/wmf/moz.build b/dom/media/platforms/wmf/moz.build
index 83c2249e1..fef9335bd 100644
--- a/dom/media/platforms/wmf/moz.build
+++ b/dom/media/platforms/wmf/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/standalone/moz.build b/dom/media/standalone/moz.build
index a3cc3545f..7ef15adaa 100644
--- a/dom/media/standalone/moz.build
+++ b/dom/media/standalone/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/systemservices/CamerasChild.cpp b/dom/media/systemservices/CamerasChild.cpp
index a3fbec850..abbcc9e22 100644
--- a/dom/media/systemservices/CamerasChild.cpp
+++ b/dom/media/systemservices/CamerasChild.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/CamerasChild.h b/dom/media/systemservices/CamerasChild.h
index 9ca125cfd..6d67089c0 100644
--- a/dom/media/systemservices/CamerasChild.h
+++ b/dom/media/systemservices/CamerasChild.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/CamerasParent.cpp b/dom/media/systemservices/CamerasParent.cpp
index 808a076d7..92ebcf155 100644
--- a/dom/media/systemservices/CamerasParent.cpp
+++ b/dom/media/systemservices/CamerasParent.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/CamerasParent.h b/dom/media/systemservices/CamerasParent.h
index 2c1869410..958d57237 100644
--- a/dom/media/systemservices/CamerasParent.h
+++ b/dom/media/systemservices/CamerasParent.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/CamerasTypes.h b/dom/media/systemservices/CamerasTypes.h
index 9ae564e9a..8cc51d431 100644
--- a/dom/media/systemservices/CamerasTypes.h
+++ b/dom/media/systemservices/CamerasTypes.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/DeviceChangeCallback.h b/dom/media/systemservices/DeviceChangeCallback.h
index d153e9cd4..c1f87fa08 100644
--- a/dom/media/systemservices/DeviceChangeCallback.h
+++ b/dom/media/systemservices/DeviceChangeCallback.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/MediaChild.cpp b/dom/media/systemservices/MediaChild.cpp
index 327ea3c4a..21eefd116 100644
--- a/dom/media/systemservices/MediaChild.cpp
+++ b/dom/media/systemservices/MediaChild.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/MediaChild.h b/dom/media/systemservices/MediaChild.h
index b013c4a5f..603d2825b 100644
--- a/dom/media/systemservices/MediaChild.h
+++ b/dom/media/systemservices/MediaChild.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/MediaParent.cpp b/dom/media/systemservices/MediaParent.cpp
index 16c399f37..f211756f9 100644
--- a/dom/media/systemservices/MediaParent.cpp
+++ b/dom/media/systemservices/MediaParent.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/MediaParent.h b/dom/media/systemservices/MediaParent.h
index b5dcd84ad..12a6f1d9b 100644
--- a/dom/media/systemservices/MediaParent.h
+++ b/dom/media/systemservices/MediaParent.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/MediaTaskUtils.h b/dom/media/systemservices/MediaTaskUtils.h
index c9b64fd2a..c4aefbd20 100644
--- a/dom/media/systemservices/MediaTaskUtils.h
+++ b/dom/media/systemservices/MediaTaskUtils.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/MediaUtils.cpp b/dom/media/systemservices/MediaUtils.cpp
index a77e3404a..7feabf9f9 100644
--- a/dom/media/systemservices/MediaUtils.cpp
+++ b/dom/media/systemservices/MediaUtils.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/MediaUtils.h b/dom/media/systemservices/MediaUtils.h
index 18f7d3e41..0a0bb51f7 100644
--- a/dom/media/systemservices/MediaUtils.h
+++ b/dom/media/systemservices/MediaUtils.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/ShmemPool.cpp b/dom/media/systemservices/ShmemPool.cpp
index 334a94e35..0945be7ac 100644
--- a/dom/media/systemservices/ShmemPool.cpp
+++ b/dom/media/systemservices/ShmemPool.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/ShmemPool.h b/dom/media/systemservices/ShmemPool.h
index 95901ffa0..c209f2f63 100644
--- a/dom/media/systemservices/ShmemPool.h
+++ b/dom/media/systemservices/ShmemPool.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/systemservices/moz.build b/dom/media/systemservices/moz.build
index c582b7ba1..aa07b291a 100644
--- a/dom/media/systemservices/moz.build
+++ b/dom/media/systemservices/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/test/dash_detect_stream_switch.sjs b/dom/media/test/dash_detect_stream_switch.sjs
index 378db10ca..fb4c8a30e 100644
--- a/dom/media/test/dash_detect_stream_switch.sjs
+++ b/dom/media/test/dash_detect_stream_switch.sjs
@@ -1,5 +1,4 @@
/* -*- Mode: JavaScript; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/wave/moz.build b/dom/media/wave/moz.build
index d62d3bea4..9c3920570 100644
--- a/dom/media/wave/moz.build
+++ b/dom/media/wave/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/webaudio/BufferDecoder.cpp b/dom/media/webaudio/BufferDecoder.cpp
index 053a13bec..ddd9e7d1b 100644
--- a/dom/media/webaudio/BufferDecoder.cpp
+++ b/dom/media/webaudio/BufferDecoder.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webaudio/BufferDecoder.h b/dom/media/webaudio/BufferDecoder.h
index 52cb92489..2c6c49454 100644
--- a/dom/media/webaudio/BufferDecoder.h
+++ b/dom/media/webaudio/BufferDecoder.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webaudio/blink/moz.build b/dom/media/webaudio/blink/moz.build
index 385614de7..99067248d 100644
--- a/dom/media/webaudio/blink/moz.build
+++ b/dom/media/webaudio/blink/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/webaudio/gtest/TestAudioEventTimeline.cpp b/dom/media/webaudio/gtest/TestAudioEventTimeline.cpp
index cc731d3e2..661b6cbd2 100644
--- a/dom/media/webaudio/gtest/TestAudioEventTimeline.cpp
+++ b/dom/media/webaudio/gtest/TestAudioEventTimeline.cpp
@@ -9,17 +9,6 @@
#include <limits>
#include "gtest/gtest.h"
-// Mock the MediaStream class
-namespace mozilla {
-class MediaStream
-{
- NS_INLINE_DECL_THREADSAFE_REFCOUNTING(MediaStream)
-private:
- ~MediaStream() {
- };
-};
-}
-
using namespace mozilla;
using namespace mozilla::dom;
using std::numeric_limits;
diff --git a/dom/media/webaudio/gtest/moz.build b/dom/media/webaudio/gtest/moz.build
index 2cc13b038..200cd4a7e 100644
--- a/dom/media/webaudio/gtest/moz.build
+++ b/dom/media/webaudio/gtest/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/webaudio/moz.build b/dom/media/webaudio/moz.build
index c4bfcea60..fa97fd20f 100644
--- a/dom/media/webaudio/moz.build
+++ b/dom/media/webaudio/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/webm/moz.build b/dom/media/webm/moz.build
index 4dacfe095..dc9f30668 100644
--- a/dom/media/webm/moz.build
+++ b/dom/media/webm/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/webrtc/MediaEngineRemoteVideoSource.h b/dom/media/webrtc/MediaEngineRemoteVideoSource.h
index 923e65654..712761f97 100644
--- a/dom/media/webrtc/MediaEngineRemoteVideoSource.h
+++ b/dom/media/webrtc/MediaEngineRemoteVideoSource.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/webrtc/MediaEngineWebRTC.cpp b/dom/media/webrtc/MediaEngineWebRTC.cpp
index a77800424..6697ca56a 100644
--- a/dom/media/webrtc/MediaEngineWebRTC.cpp
+++ b/dom/media/webrtc/MediaEngineWebRTC.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */
diff --git a/dom/media/webrtc/RTCCertificate.cpp b/dom/media/webrtc/RTCCertificate.cpp
index 9f5e27c56..9e87044d6 100644
--- a/dom/media/webrtc/RTCCertificate.cpp
+++ b/dom/media/webrtc/RTCCertificate.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webrtc/RTCCertificate.h b/dom/media/webrtc/RTCCertificate.h
index 63869849c..043edddb4 100644
--- a/dom/media/webrtc/RTCCertificate.h
+++ b/dom/media/webrtc/RTCCertificate.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webrtc/moz.build b/dom/media/webrtc/moz.build
index 5b76e17cb..4c53406e0 100644
--- a/dom/media/webrtc/moz.build
+++ b/dom/media/webrtc/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/webspeech/moz.build b/dom/media/webspeech/moz.build
index c61c63b72..2f7c58fcb 100644
--- a/dom/media/webspeech/moz.build
+++ b/dom/media/webspeech/moz.build
@@ -1,4 +1,3 @@
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerModule.cpp b/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerModule.cpp
index bc80eb06e..ef6917000 100644
--- a/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerModule.cpp
+++ b/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerModule.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.h b/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.h
index 18f52e59e..ba04f0fec 100644
--- a/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.h
+++ b/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.mm b/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.mm
index df6c5eaa0..ec752e00f 100644
--- a/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.mm
+++ b/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.mm
@@ -1,5 +1,4 @@
/* -*- Mode: Objective-C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=2 sw=2 et tw=80: */
/* 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/. */
diff --git a/dom/media/webspeech/synth/cocoa/moz.build b/dom/media/webspeech/synth/cocoa/moz.build
index b48680c7a..6953a81e9 100644
--- a/dom/media/webspeech/synth/cocoa/moz.build
+++ b/dom/media/webspeech/synth/cocoa/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/webspeech/synth/ipc/PSpeechSynthesis.ipdl b/dom/media/webspeech/synth/ipc/PSpeechSynthesis.ipdl
index 7b66034e4..8d203efa8 100644
--- a/dom/media/webspeech/synth/ipc/PSpeechSynthesis.ipdl
+++ b/dom/media/webspeech/synth/ipc/PSpeechSynthesis.ipdl
@@ -1,5 +1,4 @@
/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
-/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webspeech/synth/ipc/PSpeechSynthesisRequest.ipdl b/dom/media/webspeech/synth/ipc/PSpeechSynthesisRequest.ipdl
index 9ffea29f5..4b71eadc7 100644
--- a/dom/media/webspeech/synth/ipc/PSpeechSynthesisRequest.ipdl
+++ b/dom/media/webspeech/synth/ipc/PSpeechSynthesisRequest.ipdl
@@ -1,5 +1,4 @@
/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
-/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webspeech/synth/moz.build b/dom/media/webspeech/synth/moz.build
index 3f4e363db..660368926 100644
--- a/dom/media/webspeech/synth/moz.build
+++ b/dom/media/webspeech/synth/moz.build
@@ -1,4 +1,3 @@
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/webspeech/synth/pico/moz.build b/dom/media/webspeech/synth/pico/moz.build
index 8c360bc85..a889f891d 100644
--- a/dom/media/webspeech/synth/pico/moz.build
+++ b/dom/media/webspeech/synth/pico/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/webspeech/synth/speechd/SpeechDispatcherModule.cpp b/dom/media/webspeech/synth/speechd/SpeechDispatcherModule.cpp
index a7f7ad535..e9a309401 100644
--- a/dom/media/webspeech/synth/speechd/SpeechDispatcherModule.cpp
+++ b/dom/media/webspeech/synth/speechd/SpeechDispatcherModule.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webspeech/synth/speechd/SpeechDispatcherService.cpp b/dom/media/webspeech/synth/speechd/SpeechDispatcherService.cpp
index 77a8f7cd9..234d61dd0 100644
--- a/dom/media/webspeech/synth/speechd/SpeechDispatcherService.cpp
+++ b/dom/media/webspeech/synth/speechd/SpeechDispatcherService.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webspeech/synth/speechd/SpeechDispatcherService.h b/dom/media/webspeech/synth/speechd/SpeechDispatcherService.h
index 07798ceda..f1f226a0a 100644
--- a/dom/media/webspeech/synth/speechd/SpeechDispatcherService.h
+++ b/dom/media/webspeech/synth/speechd/SpeechDispatcherService.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webspeech/synth/speechd/moz.build b/dom/media/webspeech/synth/speechd/moz.build
index 552ccf856..9cea481fb 100644
--- a/dom/media/webspeech/synth/speechd/moz.build
+++ b/dom/media/webspeech/synth/speechd/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/webspeech/synth/windows/SapiModule.cpp b/dom/media/webspeech/synth/windows/SapiModule.cpp
index f9d7c9a89..f3fb5ae43 100644
--- a/dom/media/webspeech/synth/windows/SapiModule.cpp
+++ b/dom/media/webspeech/synth/windows/SapiModule.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webspeech/synth/windows/SapiService.cpp b/dom/media/webspeech/synth/windows/SapiService.cpp
index 95f35ebff..2aa4bcc4b 100644
--- a/dom/media/webspeech/synth/windows/SapiService.cpp
+++ b/dom/media/webspeech/synth/windows/SapiService.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webspeech/synth/windows/SapiService.h b/dom/media/webspeech/synth/windows/SapiService.h
index cde743cc2..ff692b92e 100644
--- a/dom/media/webspeech/synth/windows/SapiService.h
+++ b/dom/media/webspeech/synth/windows/SapiService.h
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
diff --git a/dom/media/webspeech/synth/windows/moz.build b/dom/media/webspeech/synth/windows/moz.build
index 2ab20c05a..9d8bb3ac6 100644
--- a/dom/media/webspeech/synth/windows/moz.build
+++ b/dom/media/webspeech/synth/windows/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/dom/media/webvtt/moz.build b/dom/media/webvtt/moz.build
index bd65114ce..dea747dbd 100644
--- a/dom/media/webvtt/moz.build
+++ b/dom/media/webvtt/moz.build
@@ -1,5 +1,4 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.