diff options
Diffstat (limited to 'mozilla-1670333.patch')
-rw-r--r-- | mozilla-1670333.patch | 71 |
1 files changed, 39 insertions, 32 deletions
diff --git a/mozilla-1670333.patch b/mozilla-1670333.patch index a7c7f8a..01dfb25 100644 --- a/mozilla-1670333.patch +++ b/mozilla-1670333.patch @@ -1,6 +1,6 @@ -diff -up firefox-82.0/dom/media/mp4/MP4Demuxer.cpp.1670333 firefox-82.0/dom/media/mp4/MP4Demuxer.cpp ---- firefox-82.0/dom/media/mp4/MP4Demuxer.cpp.1670333 2020-10-14 19:20:18.000000000 +0200 -+++ firefox-82.0/dom/media/mp4/MP4Demuxer.cpp 2020-10-19 20:56:38.362039524 +0200 +diff -up firefox-84.0/dom/media/mp4/MP4Demuxer.cpp.1670333 firefox-84.0/dom/media/mp4/MP4Demuxer.cpp +--- firefox-84.0/dom/media/mp4/MP4Demuxer.cpp.1670333 2020-12-07 23:32:59.000000000 +0100 ++++ firefox-84.0/dom/media/mp4/MP4Demuxer.cpp 2020-12-10 14:07:49.095266466 +0100 @@ -31,6 +31,8 @@ mozilla::LogModule* GetDemuxerLog() { re DDMOZ_LOG(gMediaDemuxerLog, mozilla::LogLevel::Debug, "::%s: " arg, \ __func__, ##__VA_ARGS__) @@ -23,10 +23,10 @@ diff -up firefox-82.0/dom/media/mp4/MP4Demuxer.cpp.1670333 firefox-82.0/dom/medi if (sample->mKeyframe != keyframe) { NS_WARNING(nsPrintfCString("Frame incorrectly marked as %skeyframe " "@ pts:%" PRId64 " dur:%" PRId64 -diff -up firefox-82.0/dom/media/platforms/PDMFactory.cpp.1670333 firefox-82.0/dom/media/platforms/PDMFactory.cpp ---- firefox-82.0/dom/media/platforms/PDMFactory.cpp.1670333 2020-10-14 19:20:18.000000000 +0200 -+++ firefox-82.0/dom/media/platforms/PDMFactory.cpp 2020-10-19 20:53:14.631214334 +0200 -@@ -49,6 +49,8 @@ +diff -up firefox-84.0/dom/media/platforms/PDMFactory.cpp.1670333 firefox-84.0/dom/media/platforms/PDMFactory.cpp +--- firefox-84.0/dom/media/platforms/PDMFactory.cpp.1670333 2020-12-10 14:07:49.095266466 +0100 ++++ firefox-84.0/dom/media/platforms/PDMFactory.cpp 2020-12-10 15:29:28.969006031 +0100 +@@ -52,6 +52,8 @@ #include <functional> @@ -34,35 +34,42 @@ diff -up firefox-82.0/dom/media/platforms/PDMFactory.cpp.1670333 firefox-82.0/do + namespace mozilla { - extern already_AddRefed<PlatformDecoderModule> CreateBlankDecoderModule(); -@@ -380,7 +382,8 @@ void PDMFactory::CreatePDMs() { + // Set on the main thread, in content processes before any PDMFactory will ever +@@ -522,9 +524,11 @@ void PDMFactory::CreateContentPDMs() { + } + #endif #ifdef MOZ_FFMPEG - if (StaticPrefs::media_ffmpeg_enabled()) { - m = FFmpegRuntimeLinker::CreateDecoderModule(); -- mFFmpegFailedToLoad = !StartupPDM(m); -+ mFFmpegUsed = StartupPDM(m); -+ mFFmpegFailedToLoad = !mFFmpegUsed; - } else { - mFFmpegFailedToLoad = false; +- if (StaticPrefs::media_ffmpeg_enabled() && +- !CreateAndStartupPDM<FFmpegRuntimeLinker>()) { +- mFailureFlags += DecoderDoctorDiagnostics::Flags::FFmpegFailedToLoad; ++ if (StaticPrefs::media_ffmpeg_enabled()) { ++ mFFmpegUsed = CreateAndStartupPDM<FFmpegRuntimeLinker>(); ++ if (!mFFmpegUsed) { ++ mFailureFlags += DecoderDoctorDiagnostics::Flags::FFmpegFailedToLoad; ++ } } -@@ -395,7 +398,8 @@ void PDMFactory::CreatePDMs() { - m = new AgnosticDecoderModule(); - StartupPDM(m); + #endif + #ifdef MOZ_WIDGET_ANDROID +@@ -536,8 +540,9 @@ void PDMFactory::CreateContentPDMs() { + + CreateAndStartupPDM<AgnosticDecoderModule>(); -- if (StaticPrefs::media_gmp_decoder_enabled()) { -+ if (StaticPrefs::media_gmp_decoder_enabled() && !mFFmpegUsed) { +- if (StaticPrefs::media_gmp_decoder_enabled() && ++ if (StaticPrefs::media_gmp_decoder_enabled() && !mFFmpegUsed && + !CreateAndStartupPDM<GMPDecoderModule>()) { + gUseKeyframeFromContainer = true; - m = new GMPDecoderModule(); - mGMPPDMFailedToStartup = !StartupPDM(m); - } else { -diff -up firefox-82.0/dom/media/platforms/PDMFactory.h.1670333 firefox-82.0/dom/media/platforms/PDMFactory.h ---- firefox-82.0/dom/media/platforms/PDMFactory.h.1670333 2020-10-14 19:20:18.000000000 +0200 -+++ firefox-82.0/dom/media/platforms/PDMFactory.h 2020-10-19 20:53:14.631214334 +0200 -@@ -70,6 +70,7 @@ class PDMFactory final { + mFailureFlags += DecoderDoctorDiagnostics::Flags::GMPPDMFailedToStartup; + } + } +diff -up firefox-84.0/dom/media/platforms/PDMFactory.h.1670333 firefox-84.0/dom/media/platforms/PDMFactory.h +--- firefox-84.0/dom/media/platforms/PDMFactory.h.1670333 2020-12-10 14:07:49.096266493 +0100 ++++ firefox-84.0/dom/media/platforms/PDMFactory.h 2020-12-10 15:27:42.363034881 +0100 +@@ -116,6 +116,8 @@ class PDMFactory final { - bool mWMFFailedToLoad = false; - bool mFFmpegFailedToLoad = false; -+ bool mFFmpegUsed = false; - bool mGMPPDMFailedToStartup = false; + DecoderDoctorDiagnostics::FlagsSet mFailureFlags; ++ bool mFFmpegUsed = false; ++ friend class RemoteVideoDecoderParent; + static void EnsureInit(); + template <class T> |