Blob Blame History Raw
diff --git a/dom/media/platforms/PDMFactory.cpp b/dom/media/platforms/PDMFactory.cpp
--- a/dom/media/platforms/PDMFactory.cpp
+++ b/dom/media/platforms/PDMFactory.cpp
@@ -21,16 +21,17 @@
 #include "mozilla/GpuDecoderModule.h"
 #include "mozilla/RemoteDecoderModule.h"
 #include "mozilla/SharedThreadPool.h"
 #include "mozilla/StaticPrefs_media.h"
 #include "mozilla/StaticPtr.h"
 #include "mozilla/SyncRunnable.h"
 #include "mozilla/TaskQueue.h"
 #include "mozilla/gfx/gfxVars.h"
+#include "gfxPlatformGtk.h"
 
 #ifdef XP_WIN
 #  include "WMFDecoderModule.h"
 #  include "mozilla/WindowsVersion.h"
 #endif
 #ifdef MOZ_FFVPX
 #  include "FFVPXRuntimeLinker.h"
 #endif
@@ -362,17 +363,18 @@ void PDMFactory::CreatePDMs() {
 #endif
 #ifdef MOZ_OMX
   if (StaticPrefs::media_omx_enabled()) {
     m = OmxDecoderModule::Create();
     StartupPDM(m);
   }
 #endif
 #ifdef MOZ_FFVPX
-  if (StaticPrefs::media_ffvpx_enabled()) {
+  if (StaticPrefs::media_ffvpx_enabled() &&
+      !gfxPlatformGtk::GetPlatform()->UseWaylandHardwareVideoDecoding()) {
     m = FFVPXRuntimeLinker::CreateDecoderModule();
     StartupPDM(m);
   }
 #endif
 #ifdef MOZ_FFMPEG
   if (StaticPrefs::media_ffmpeg_enabled()) {
     m = FFmpegRuntimeLinker::CreateDecoderModule();
     mFFmpegFailedToLoad = !StartupPDM(m);