Bug 1350819 - Replace use of int64_t for microseconds by TimeUnit in VideoSink. r=kaku

MozReview-Commit-ID: DAx0p7x2RLx

--HG--
extra : rebase_source : 0183ab4991e9faebe2a9962ca8c438292f98c8b8
extra : source : f97d47c5a01054f0b0f0ab87caac6eaa4c958905
This commit is contained in:
JW Wang 2017-03-27 14:35:42 +08:00
Родитель 06a153ffc1
Коммит 548607df76
2 изменённых файлов: 7 добавлений и 10 удалений

Просмотреть файл

@ -41,7 +41,6 @@ VideoSink::VideoSink(AbstractThread* aThread,
, mContainer(aContainer)
, mProducerID(ImageContainer::AllocateProducerID())
, mFrameStats(aFrameStats)
, mVideoFrameEndTime(0)
, mHasVideo(false)
, mUpdateScheduler(aThread)
, mVideoQueueSendToCompositorSize(aVQueueSentToCompositerSize)
@ -91,7 +90,7 @@ VideoSink::GetEndTime(TrackType aType) const
MOZ_ASSERT(mAudioSink->IsStarted(), "Must be called after playback starts.");
if (aType == TrackInfo::kVideoTrack) {
return mVideoFrameEndTime;
return mVideoFrameEndTime.ToMicroseconds();
} else if (aType == TrackInfo::kAudioTrack) {
return mAudioSink->GetEndTime(aType);
}
@ -102,7 +101,6 @@ int64_t
VideoSink::GetPosition(TimeStamp* aTimeStamp) const
{
AssertOwnerThread();
return mAudioSink->GetPosition(aTimeStamp);
}
@ -225,7 +223,7 @@ VideoSink::Stop()
mEndPromiseHolder.ResolveIfExists(true, __func__);
mEndPromise = nullptr;
}
mVideoFrameEndTime = 0;
mVideoFrameEndTime = TimeUnit::Zero();
}
bool
@ -434,8 +432,8 @@ VideoSink::UpdateRenderedVideoFrames()
// the end time of the current frame, or if we dropped all frames in the
// queue, the end time of the last frame we removed from the queue.
RefPtr<VideoData> currentFrame = VideoQueue().PeekFront();
mVideoFrameEndTime = std::max(mVideoFrameEndTime,
currentFrame ? currentFrame->GetEndTime() : lastFrameEndTime);
mVideoFrameEndTime = std::max(mVideoFrameEndTime, TimeUnit::FromMicroseconds(
currentFrame ? currentFrame->GetEndTime() : lastFrameEndTime));
MaybeResolveEndPromise();
@ -484,7 +482,7 @@ VideoSink::GetDebugInfo()
"size=%" PRIuSIZE ") mVideoFrameEndTime=%" PRId64 " mHasVideo=%d "
"mVideoSinkEndRequest.Exists()=%d mEndPromiseHolder.IsEmpty()=%d\n",
IsStarted(), IsPlaying(), VideoQueue().IsFinished(),
VideoQueue().GetSize(), mVideoFrameEndTime, mHasVideo,
VideoQueue().GetSize(), mVideoFrameEndTime.ToMicroseconds(), mHasVideo,
mVideoSinkEndRequest.Exists(), mEndPromiseHolder.IsEmpty())
+ mAudioSink->GetDebugInfo();
}

Просмотреть файл

@ -126,9 +126,8 @@ private:
MozPromiseHolder<GenericPromise> mEndPromiseHolder;
MozPromiseRequestHolder<GenericPromise> mVideoSinkEndRequest;
// The presentation end time of the last video frame which has been displayed
// in microseconds.
int64_t mVideoFrameEndTime;
// The presentation end time of the last video frame which has been displayed.
TimeUnit mVideoFrameEndTime;
// Event listeners for VideoQueue
MediaEventListener mPushListener;