diff options
-rw-r--r-- | dom/media/ipc/VideoDecoderChild.cpp | 1 | ||||
-rw-r--r-- | dom/media/ipc/VideoDecoderManagerParent.cpp | 2 | ||||
-rw-r--r-- | dom/media/ogg/OggCodecState.cpp | 7 |
3 files changed, 6 insertions, 4 deletions
diff --git a/dom/media/ipc/VideoDecoderChild.cpp b/dom/media/ipc/VideoDecoderChild.cpp index d1b1d23fc..f01d3c659 100644 --- a/dom/media/ipc/VideoDecoderChild.cpp +++ b/dom/media/ipc/VideoDecoderChild.cpp @@ -238,6 +238,7 @@ VideoDecoderChild::Shutdown() SendShutdown(); } mInitialized = false; + mCallback = nullptr; } bool diff --git a/dom/media/ipc/VideoDecoderManagerParent.cpp b/dom/media/ipc/VideoDecoderManagerParent.cpp index a111b5e53..4ff9acf19 100644 --- a/dom/media/ipc/VideoDecoderManagerParent.cpp +++ b/dom/media/ipc/VideoDecoderManagerParent.cpp @@ -194,7 +194,7 @@ VideoDecoderManagerParent::RecvReadback(const SurfaceDescriptorGPUVideo& aSD, Su } RefPtr<SourceSurface> source = image->GetAsSourceSurface(); - if (!image) { + if (!source) { *aResult = null_t(); return true; } diff --git a/dom/media/ogg/OggCodecState.cpp b/dom/media/ogg/OggCodecState.cpp index e7e1ca4a3..d03508411 100644 --- a/dom/media/ogg/OggCodecState.cpp +++ b/dom/media/ogg/OggCodecState.cpp @@ -1229,12 +1229,13 @@ already_AddRefed<MediaRawData> OpusState::PacketOutAsMediaRawData() { ogg_packet* packet = PacketPeek(); - uint32_t frames = 0; - const int64_t endFrame = packet->granulepos; - if (!packet) { return nullptr; } + + uint32_t frames = 0; + const int64_t endFrame = packet->granulepos; + if (packet->e_o_s) { frames = GetOpusDeltaGP(packet); } |