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/mediasource/ContainerParser.cpp | 4 | ||||
-rw-r--r-- | dom/media/ogg/OggCodecState.cpp | 7 |
4 files changed, 8 insertions, 6 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/mediasource/ContainerParser.cpp b/dom/media/mediasource/ContainerParser.cpp index 594d8fc26..4ae37d7e9 100644 --- a/dom/media/mediasource/ContainerParser.cpp +++ b/dom/media/mediasource/ContainerParser.cpp @@ -588,8 +588,8 @@ public: return false; } size_t header_length = have_crc ? 9 : 7; - size_t data_length = (((*aData)[3] & 0x03) << 11) || - (((*aData)[4] & 0xff) << 3) || + size_t data_length = (((*aData)[3] & 0x03) << 11) | + (((*aData)[4] & 0xff) << 3) | (((*aData)[5] & 0xe0) >> 5); uint8_t frames = ((*aData)[6] & 0x03) + 1; MOZ_ASSERT(frames > 0); 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); } |