diff --git a/content/html/content/src/HTMLMediaElement.cpp b/content/html/content/src/HTMLMediaElement.cpp index d43ae71645ac..ffd45fd77177 100644 --- a/content/html/content/src/HTMLMediaElement.cpp +++ b/content/html/content/src/HTMLMediaElement.cpp @@ -1320,6 +1320,12 @@ HTMLMediaElement::SetCurrentTime(double aCurrentTime, ErrorResult& aRv) return; } + if (!mPlayed) { + LOG(PR_LOG_DEBUG, ("HTMLMediaElement::mPlayed not available.")); + aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR); + return; + } + if (mCurrentPlayRangeStart != -1.0) { double rangeEndTime = CurrentTime(); LOG(PR_LOG_DEBUG, ("%p Adding \'played\' a range : [%f, %f]", this, mCurrentPlayRangeStart, rangeEndTime)); @@ -1427,7 +1433,9 @@ HTMLMediaElement::Played() nsRefPtr ranges = new TimeRanges(); uint32_t timeRangeCount = 0; - mPlayed->GetLength(&timeRangeCount); + if (mPlayed) { + mPlayed->GetLength(&timeRangeCount); + } for (uint32_t i = 0; i < timeRangeCount; i++) { double begin; double end;