2021-09-13 16:00:51 +00:00
|
|
|
diff -up firefox-92.0/dom/media/gmp/GMPChild.cpp.1725828 firefox-92.0/dom/media/gmp/GMPChild.cpp
|
|
|
|
--- firefox-92.0/dom/media/gmp/GMPChild.cpp.1725828 2021-09-01 19:14:40.000000000 +0200
|
|
|
|
+++ firefox-92.0/dom/media/gmp/GMPChild.cpp 2021-09-13 17:32:01.606739188 +0200
|
|
|
|
@@ -232,8 +232,14 @@ mozilla::ipc::IPCResult GMPChild::RecvPr
|
2021-09-13 15:03:20 +00:00
|
|
|
}
|
|
|
|
#elif defined(XP_LINUX)
|
|
|
|
constexpr static const char* whitelist[] = {
|
|
|
|
+ // NSS libraries used by clearkey.
|
|
|
|
"libfreeblpriv3.so",
|
|
|
|
"libsoftokn3.so",
|
|
|
|
+ // glibc libraries merged into libc.so.6; see bug 1725828 and
|
|
|
|
+ // the corresponding code in GMPParent.cpp.
|
|
|
|
+ "libdl.so.2",
|
|
|
|
+ "libpthread.so.0",
|
|
|
|
+ "librt.so.1",
|
|
|
|
};
|
|
|
|
|
|
|
|
nsTArray<nsCString> libs;
|
2021-09-13 16:00:51 +00:00
|
|
|
@@ -256,7 +262,7 @@ mozilla::ipc::IPCResult GMPChild::RecvPr
|
2021-09-13 15:03:20 +00:00
|
|
|
}
|
|
|
|
// End bug 1698718 logging.
|
|
|
|
|
|
|
|
- MOZ_CRASH("Couldn't load lib needed by NSS");
|
|
|
|
+ MOZ_CRASH("Couldn't load lib needed by media plugin");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2021-09-13 16:00:51 +00:00
|
|
|
diff -up firefox-92.0/dom/media/gmp/GMPParent.cpp.1725828 firefox-92.0/dom/media/gmp/GMPParent.cpp
|
|
|
|
--- firefox-92.0/dom/media/gmp/GMPParent.cpp.1725828 2021-09-13 17:32:01.606739188 +0200
|
|
|
|
+++ firefox-92.0/dom/media/gmp/GMPParent.cpp 2021-09-13 17:55:54.902965506 +0200
|
|
|
|
@@ -873,8 +873,21 @@ RefPtr<GenericPromise> GMPParent::ParseC
|
2021-09-13 15:03:20 +00:00
|
|
|
return GenericPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
|
|
|
|
}
|
|
|
|
|
2021-09-13 16:00:51 +00:00
|
|
|
- GMPCapability video;
|
2021-09-13 15:03:20 +00:00
|
|
|
+#ifdef XP_LINUX
|
|
|
|
+ // These glibc libraries were merged into libc.so.6 as of glibc
|
|
|
|
+ // 2.34; they now exist only as stub libraries for compatibility and
|
|
|
|
+ // newly linked code won't depend on them, so we need to ensure
|
|
|
|
+ // they're loaded for plugins that may have been linked against a
|
|
|
|
+ // different version of glibc. (See also bug 1725828.)
|
|
|
|
+ if (!mDisplayName.EqualsASCII("clearkey")) {
|
|
|
|
+ if (!mLibs.IsEmpty()) {
|
|
|
|
+ mLibs.AppendLiteral(", ");
|
|
|
|
+ }
|
|
|
|
+ mLibs.AppendLiteral("libdl.so.2, libpthread.so.0, librt.so.1");
|
|
|
|
+ }
|
|
|
|
+#endif
|
2021-09-13 16:00:51 +00:00
|
|
|
|
|
|
|
+ GMPCapability video;
|
2021-09-13 15:03:20 +00:00
|
|
|
nsCString codecsString = NS_ConvertUTF16toUTF8(m.mX_cdm_codecs);
|
|
|
|
nsTArray<nsCString> codecs;
|
|
|
|
SplitAt(",", codecsString, codecs);
|