icecat: add release icecat-140.9.0-1gnu1 for ecne
This commit is contained in:
parent
8eb1f1732f
commit
a5f93cb214
1197 changed files with 30593 additions and 15344 deletions
|
|
@ -10,7 +10,6 @@
|
|||
#include "mozilla/Unused.h"
|
||||
#include "GMPPlatform.h"
|
||||
#include "GMPVideoEncodedFrameImpl.h"
|
||||
#include "GMPVideoi420FrameImpl.h"
|
||||
#include "runnable_utils.h"
|
||||
|
||||
namespace mozilla::gmp {
|
||||
|
|
@ -67,9 +66,26 @@ void GMPVideoEncoderChild::Encoded(GMPVideoEncodedFrame* aEncodedFrame,
|
|||
MOZ_CRASH("Encoded without any frame data!");
|
||||
}
|
||||
|
||||
mLatestEncodedTimestamp = frameData.mTimestamp();
|
||||
|
||||
aEncodedFrame->Destroy();
|
||||
}
|
||||
|
||||
void GMPVideoEncoderChild::MgrDecodedFrameDestroyed(
|
||||
GMPVideoi420FrameImpl* aFrame) {
|
||||
if (NS_WARN_IF(!mPlugin)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// The OpenH264 encoder destroys the input frame if it has skipped encoding
|
||||
// it. When it has encoded it, it calls the Encoded() callback before
|
||||
// destroying the frame.
|
||||
MOZ_ASSERT(mPlugin->GMPMessageLoop() == MessageLoop::current());
|
||||
if (aFrame->Timestamp() > mLatestEncodedTimestamp) {
|
||||
(void)SendDroppedFrame(aFrame->Timestamp());
|
||||
}
|
||||
}
|
||||
|
||||
void GMPVideoEncoderChild::Error(GMPErr aError) {
|
||||
if (NS_WARN_IF(!mPlugin)) {
|
||||
return;
|
||||
|
|
@ -116,8 +132,10 @@ mozilla::ipc::IPCResult GMPVideoEncoderChild::RecvEncode(
|
|||
return IPC_FAIL(this, "!mVideoDecoder");
|
||||
}
|
||||
|
||||
// The `this` destroyed callback outlives the frame, because `mVideoEncoder`
|
||||
// is responsible for destroying the frame, and we outlive `mVideoEncoder`.
|
||||
auto* f = new GMPVideoi420FrameImpl(aInputFrame, std::move(aInputShmem),
|
||||
&mVideoHost);
|
||||
&mVideoHost, HostReportPolicy::Destroyed);
|
||||
|
||||
// Ignore any return code. It is OK for this to fail without killing the
|
||||
// process.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue