37 lines
1.8 KiB
Diff
37 lines
1.8 KiB
Diff
|
diff --git a/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp b/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
|
||
|
--- a/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
|
||
|
+++ b/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
|
||
|
@@ -86,7 +86,7 @@ bool GMPDecoderModule::SupportsMimeType(
|
||
|
|
||
|
bool GMPDecoderModule::SupportsMimeType(
|
||
|
const nsACString& aMimeType, DecoderDoctorDiagnostics* aDiagnostics) const {
|
||
|
- return false;
|
||
|
+ return MP4Decoder::IsH264(aMimeType);
|
||
|
}
|
||
|
|
||
|
} // namespace mozilla
|
||
|
diff --git a/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp b/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp
|
||
|
--- a/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp
|
||
|
+++ b/dom/media/platforms/agnostic/gmp/GMPVideoDecoder.cpp
|
||
|
@@ -67,6 +67,8 @@ void GMPVideoDecoder::Decoded(GMPVideoi4
|
||
|
RefPtr<GMPVideoDecoder> self = this;
|
||
|
if (v) {
|
||
|
mDecodedData.AppendElement(std::move(v));
|
||
|
+ mDecodePromise.ResolveIfExists(std::move(mDecodedData), __func__);
|
||
|
+ mDecodedData = DecodedData();
|
||
|
} else {
|
||
|
mDecodedData.Clear();
|
||
|
mDecodePromise.RejectIfExists(
|
||
|
diff -up firefox-81.0.2/dom/media/gmp/GMPSharedMemManager.h.oldd firefox-81.0.2/dom/media/gmp/GMPSharedMemManager.h
|
||
|
--- firefox-81.0.2/dom/media/gmp/GMPSharedMemManager.h.oldd 2020-10-12 18:19:09.158070701 +0200
|
||
|
+++ firefox-81.0.2/dom/media/gmp/GMPSharedMemManager.h 2020-10-12 18:19:18.398109540 +0200
|
||
|
@@ -27,7 +27,7 @@ class GMPSharedMem {
|
||
|
// returned to the parent pool (which is not included). If more than
|
||
|
// this are needed, we presume the client has either crashed or hung
|
||
|
// (perhaps temporarily).
|
||
|
- static const uint32_t kGMPBufLimit = 20;
|
||
|
+ static const uint32_t kGMPBufLimit = 40;
|
||
|
|
||
|
GMPSharedMem() {
|
||
|
for (size_t i = 0; i < sizeof(mGmpAllocated) / sizeof(mGmpAllocated[0]);
|