mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 19:55:39 +00:00
Bug 1314863 - Data sample fed potentially fed twice to the decoder. r=jya
MozReview-Commit-ID: 2TmHiLju0C4 --HG-- extra : rebase_source : a364a4b53dc9bc5b33395f18a16264256cace71f
This commit is contained in:
parent
3e0d037fe5
commit
281025dce6
@ -86,6 +86,11 @@ H264Converter::Input(MediaRawData* aSample)
|
||||
}
|
||||
} else {
|
||||
rv = CheckForSPSChange(aSample);
|
||||
if (rv == NS_ERROR_NOT_INITIALIZED) {
|
||||
// Decoder has not yet initialized.
|
||||
mCallback->InputExhausted();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (NS_FAILED(rv)) {
|
||||
mCallback->Error(
|
||||
@ -229,7 +234,7 @@ H264Converter::CreateDecoderAndInit(MediaRawData* aSample)
|
||||
&H264Converter::OnDecoderInitDone,
|
||||
&H264Converter::OnDecoderInitFailed));
|
||||
}
|
||||
return rv;
|
||||
return NS_ERROR_NOT_INITIALIZED;
|
||||
}
|
||||
|
||||
void
|
||||
@ -245,6 +250,12 @@ H264Converter::OnDecoderInitDone(const TrackType aTrackType)
|
||||
}
|
||||
mNeedKeyframe = false;
|
||||
}
|
||||
if (!mNeedAVCC &&
|
||||
!mp4_demuxer::AnnexB::ConvertSampleToAnnexB(sample, mNeedKeyframe)) {
|
||||
mCallback->Error(MediaResult(NS_ERROR_OUT_OF_MEMORY,
|
||||
RESULT_DETAIL("ConvertSampleToAnnexB")));
|
||||
return;
|
||||
}
|
||||
mDecoder->Input(sample);
|
||||
}
|
||||
if (!gotInput) {
|
||||
|
Loading…
Reference in New Issue
Block a user