|
@@ -11,11 +11,11 @@ diff --git a/dom/media/platforms/agnostic/AgnosticDecoderModule.cpp b/dom/media/
|
|
--- a/dom/media/platforms/agnostic/AgnosticDecoderModule.cpp
|
|
--- a/dom/media/platforms/agnostic/AgnosticDecoderModule.cpp
|
|
+++ b/dom/media/platforms/agnostic/AgnosticDecoderModule.cpp
|
|
+++ b/dom/media/platforms/agnostic/AgnosticDecoderModule.cpp
|
|
@@ -10,16 +10,17 @@
|
|
@@ -10,16 +10,17 @@
|
|
|
|
+ #include "TheoraDecoder.h"
|
|
#include "VPXDecoder.h"
|
|
#include "VPXDecoder.h"
|
|
#include "VorbisDecoder.h"
|
|
#include "VorbisDecoder.h"
|
|
#include "WAVDecoder.h"
|
|
#include "WAVDecoder.h"
|
|
#include "mozilla/Logging.h"
|
|
#include "mozilla/Logging.h"
|
|
- #include "mozilla/StaticPrefs.h"
|
|
|
|
|
|
|
|
#ifdef MOZ_AV1
|
|
#ifdef MOZ_AV1
|
|
#include "AOMDecoder.h"
|
|
#include "AOMDecoder.h"
|
|
@@ -26,9 +26,9 @@ diff --git a/dom/media/platforms/agnostic/AgnosticDecoderModule.cpp b/dom/media/
|
|
|
|
|
|
bool AgnosticDecoderModule::SupportsMimeType(
|
|
bool AgnosticDecoderModule::SupportsMimeType(
|
|
const nsACString& aMimeType, DecoderDoctorDiagnostics* aDiagnostics) const {
|
|
const nsACString& aMimeType, DecoderDoctorDiagnostics* aDiagnostics) const {
|
|
- bool supports =
|
|
|
|
- VPXDecoder::IsVPX(aMimeType) || OpusDataDecoder::IsOpus(aMimeType) ||
|
|
|
|
-@@ -41,17 +42,21 @@ already_AddRefed<MediaDataDecoder> Agnos
|
|
|
|
|
|
+ bool supports = VPXDecoder::IsVPX(aMimeType) ||
|
|
|
|
+ OpusDataDecoder::IsOpus(aMimeType) ||
|
|
|
|
+@@ -42,17 +43,20 @@ already_AddRefed<MediaDataDecoder> Agnos
|
|
RefPtr<MediaDataDecoder> m;
|
|
RefPtr<MediaDataDecoder> m;
|
|
|
|
|
|
if (VPXDecoder::IsVPX(aParams.mConfig.mMimeType)) {
|
|
if (VPXDecoder::IsVPX(aParams.mConfig.mMimeType)) {
|
|
@@ -36,13 +36,12 @@ diff --git a/dom/media/platforms/agnostic/AgnosticDecoderModule.cpp b/dom/media/
|
|
}
|
|
}
|
|
#ifdef MOZ_AV1
|
|
#ifdef MOZ_AV1
|
|
else if (AOMDecoder::IsAV1(aParams.mConfig.mMimeType) &&
|
|
else if (AOMDecoder::IsAV1(aParams.mConfig.mMimeType) &&
|
|
- StaticPrefs::MediaAv1Enabled()) {
|
|
|
|
|
|
+ MediaPrefs::AV1Enabled()) {
|
|
- m = new AOMDecoder(aParams);
|
|
- m = new AOMDecoder(aParams);
|
|
-+ if (StaticPrefs::MediaAv1UseDav1d()) {
|
|
|
|
-+ m = new DAV1DDecoder(aParams);
|
|
|
|
-+ } else {
|
|
|
|
|
|
++ if (MediaPrefs::UseDav1d()) {
|
|
|
|
++ m = new Dav1dDecoder(aParams);
|
|
|
|
++ } else{
|
|
+ m = new AOMDecoder(aParams);
|
|
+ m = new AOMDecoder(aParams);
|
|
-+ }
|
|
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
else if (TheoraDecoder::IsTheora(aParams.mConfig.mMimeType)) {
|
|
else if (TheoraDecoder::IsTheora(aParams.mConfig.mMimeType)) {
|
|
@@ -51,6 +50,31 @@ diff --git a/dom/media/platforms/agnostic/AgnosticDecoderModule.cpp b/dom/media/
|
|
|
|
|
|
return m.forget();
|
|
return m.forget();
|
|
}
|
|
}
|
|
|
|
+diff --git a/dom/media/platforms/moz.build b/dom/media/platforms/moz.build
|
|
|
|
+--- a/dom/media/platforms/moz.build
|
|
|
|
++++ b/dom/media/platforms/moz.build
|
|
|
|
+@@ -63,19 +63,21 @@ if CONFIG['MOZ_FFVPX']:
|
|
|
|
+ if CONFIG['MOZ_FFMPEG']:
|
|
|
|
+ DIRS += [
|
|
|
|
+ 'ffmpeg',
|
|
|
|
+ ]
|
|
|
|
+
|
|
|
|
+ if CONFIG['MOZ_AV1']:
|
|
|
|
+ EXPORTS += [
|
|
|
|
+ 'agnostic/AOMDecoder.h',
|
|
|
|
++ 'agnostic/DAV1DDecoder.h',
|
|
|
|
+ ]
|
|
|
|
+ UNIFIED_SOURCES += [
|
|
|
|
+ 'agnostic/AOMDecoder.cpp',
|
|
|
|
++ 'agnostic/DAV1DDecoder.cpp',
|
|
|
|
+ ]
|
|
|
|
+
|
|
|
|
+ if CONFIG['MOZ_APPLEMEDIA']:
|
|
|
|
+ EXPORTS += [
|
|
|
|
+ 'apple/AppleDecoderModule.h',
|
|
|
|
+ ]
|
|
|
|
+ UNIFIED_SOURCES += [
|
|
|
|
+ 'apple/AppleATDecoder.cpp',
|
|
diff --git a/dom/media/platforms/agnostic/DAV1DDecoder.cpp b/dom/media/platforms/agnostic/DAV1DDecoder.cpp
|
|
diff --git a/dom/media/platforms/agnostic/DAV1DDecoder.cpp b/dom/media/platforms/agnostic/DAV1DDecoder.cpp
|
|
new file mode 100644
|
|
new file mode 100644
|
|
--- /dev/null
|
|
--- /dev/null
|
|
@@ -375,62 +399,12 @@ new file mode 100644
|
|
+} // namespace mozilla
|
|
+} // namespace mozilla
|
|
+
|
|
+
|
|
+#endif // DAV1DDecoder_h_
|
|
+#endif // DAV1DDecoder_h_
|
|
-diff --git a/dom/media/platforms/moz.build b/dom/media/platforms/moz.build
|
|
|
|
---- a/dom/media/platforms/moz.build
|
|
|
|
-+++ b/dom/media/platforms/moz.build
|
|
|
|
-@@ -67,19 +67,21 @@ if CONFIG['MOZ_FFVPX']:
|
|
|
|
- if CONFIG['MOZ_FFMPEG']:
|
|
|
|
- DIRS += [
|
|
|
|
- 'ffmpeg',
|
|
|
|
- ]
|
|
|
|
-
|
|
|
|
- if CONFIG['MOZ_AV1']:
|
|
|
|
- EXPORTS += [
|
|
|
|
- 'agnostic/AOMDecoder.h',
|
|
|
|
-+ 'agnostic/DAV1DDecoder.h',
|
|
|
|
- ]
|
|
|
|
- UNIFIED_SOURCES += [
|
|
|
|
- 'agnostic/AOMDecoder.cpp',
|
|
|
|
-+ 'agnostic/DAV1DDecoder.cpp',
|
|
|
|
- ]
|
|
|
|
-
|
|
|
|
- if CONFIG['MOZ_OMX']:
|
|
|
|
- EXPORTS += [
|
|
|
|
- 'omx/OmxCoreLibLinker.h',
|
|
|
|
- ]
|
|
|
|
- UNIFIED_SOURCES += [
|
|
|
|
- 'omx/OmxCoreLibLinker.cpp',
|
|
|
|
-diff --git a/modules/libpref/init/StaticPrefList.h b/modules/libpref/init/StaticPrefList.h
|
|
|
|
---- a/modules/libpref/init/StaticPrefList.h
|
|
|
|
-+++ b/modules/libpref/init/StaticPrefList.h
|
|
|
|
-@@ -1392,16 +1392,21 @@ VARCACHE_PREF(
|
|
|
|
- )
|
|
|
|
-
|
|
|
|
- // AV1
|
|
|
|
- VARCACHE_PREF(
|
|
|
|
- "media.av1.enabled",
|
|
|
|
- MediaAv1Enabled,
|
|
|
|
- RelaxedAtomicBool, false
|
|
|
|
- )
|
|
|
|
-+VARCACHE_PREF(
|
|
|
|
-+ "media.av1.use-dav1d",
|
|
|
|
-+ MediaAv1UseDav1d,
|
|
|
|
-+ RelaxedAtomicBool, false
|
|
|
|
-+)
|
|
|
|
-
|
|
|
|
- VARCACHE_PREF(
|
|
|
|
- "media.flac.enabled",
|
|
|
|
- MediaFlacEnabled,
|
|
|
|
- bool, true
|
|
|
|
- )
|
|
|
|
-
|
|
|
|
- // Hls
|
|
|
|
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
|
|
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
|
|
--- a/modules/libpref/init/all.js
|
|
--- a/modules/libpref/init/all.js
|
|
+++ b/modules/libpref/init/all.js
|
|
+++ b/modules/libpref/init/all.js
|
|
-@@ -652,16 +652,18 @@ pref("media.audioipc.pool_size", 2);
|
|
|
|
- // 64 * 4 kB stack per pool thread.
|
|
|
|
- pref("media.audioipc.stack_size", 262144);
|
|
|
|
|
|
+@@ -669,16 +669,18 @@ pref("media.cubeb.logging_level", "");
|
|
|
|
+ #ifdef XP_LINUX
|
|
|
|
+ pref("media.cubeb.sandbox", true);
|
|
#else
|
|
#else
|
|
pref("media.cubeb.sandbox", false);
|
|
pref("media.cubeb.sandbox", false);
|
|
#endif
|
|
#endif
|
|
@@ -441,10 +415,9 @@ diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
|
|
+pref("media.av1.use-dav1d", false);
|
|
+pref("media.av1.use-dav1d", false);
|
|
#endif
|
|
#endif
|
|
|
|
|
|
- pref("media.webaudio.audiocontextoptions-samplerate.enabled", true);
|
|
|
|
|
|
+ // Set to true to force demux/decode warnings to be treated as errors.
|
|
|
|
+ pref("media.playback.warnings-as-errors", false);
|
|
|
|
|
|
- // setSinkId expected to be unconditionally enabled in 63. Till then the
|
|
|
|
- // implementation will remain hidden behind this pref (Bug 1152401, Bug 934425).
|
|
|
|
- pref("media.setsinkid.enabled", false);
|
|
|
|
|
|
+ // Weather we allow AMD switchable graphics
|
|
|
|
+ pref("layers.amd-switchable-gfx.enabled", true);
|
|
|
|
|
|
-
|
|
|