Bug 1333576 - Ensure Shutdown() is called before releasing the decoder. r=gerald

MozReview-Commit-ID: CBEOgh5v90L
This commit is contained in:
JW Wang
2017-01-25 10:49:29 +08:00
parent 2bf465d6c3
commit 9c13d6d3d9
2 changed files with 8 additions and 1 deletions

View File

@@ -4548,6 +4548,7 @@ nsresult HTMLMediaElement::InitializeDecoderAsClone(MediaDecoder* aOriginal)
originalResource->CloneData(decoder->GetResourceCallback());
if (!resource) {
decoder->Shutdown();
LOG(LogLevel::Debug, ("%p Failed to cloned stream for decoder %p", this, decoder.get()));
return NS_ERROR_FAILURE;
}
@@ -4587,8 +4588,10 @@ nsresult HTMLMediaElement::InitializeDecoderForChannel(nsIChannel* aChannel,
RefPtr<MediaResource> resource =
MediaResource::Create(decoder->GetResourceCallback(), aChannel);
if (!resource)
if (!resource) {
decoder->Shutdown();
return NS_ERROR_OUT_OF_MEMORY;
}
if (mChannelLoader) {
mChannelLoader->Done();