Bug 1214469 - Ensure gmp-clearkey accounts for mNumInputTasks when flushing. r=gerald, a=sylvestre
--- a/media/gmp-clearkey/0.1/VideoDecoder.cpp
+++ b/media/gmp-clearkey/0.1/VideoDecoder.cpp
@@ -136,27 +136,27 @@ private:
void
VideoDecoder::DecodeTask(GMPVideoEncodedFrame* aInput)
{
CK_LOGD("VideoDecoder::DecodeTask");
AutoReleaseVideoFrame ensureFrameReleased(aInput);
HRESULT hr;
- if (mIsFlushing) {
- CK_LOGD("VideoDecoder::DecodeTask rejecting frame: flushing.");
- return;
- }
-
{
AutoLock lock(mMutex);
mNumInputTasks--;
assert(mNumInputTasks >= 0);
}
+ if (mIsFlushing) {
+ CK_LOGD("VideoDecoder::DecodeTask rejecting frame: flushing.");
+ return;
+ }
+
if (!aInput || !mHostAPI || !mDecoder) {
CK_LOGE("Decode job not set up correctly!");
return;
}
const uint8_t* inBuffer = aInput->Buffer();
if (!inBuffer) {
CK_LOGE("No buffer for encoded frame!\n");