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);