Bug 1353607. P8 - use TimeUnit in DispatchSetFragmentEndTime().
MozReview-Commit-ID: IBLT0j7yMLK
--- a/dom/media/MediaDecoder.cpp
+++ b/dom/media/MediaDecoder.cpp
@@ -1427,17 +1427,17 @@ MediaDecoder::GetSeekable()
}
void
MediaDecoder::SetFragmentEndTime(double aTime)
{
MOZ_ASSERT(NS_IsMainThread());
if (mDecoderStateMachine) {
mDecoderStateMachine->DispatchSetFragmentEndTime(
- static_cast<int64_t>(aTime * USECS_PER_S));
+ media::TimeUnit::FromSeconds(aTime));
}
}
void
MediaDecoder::Suspend()
{
MOZ_ASSERT(NS_IsMainThread());
if (mResource) {
--- a/dom/media/MediaDecoderStateMachine.h
+++ b/dom/media/MediaDecoderStateMachine.h
@@ -184,25 +184,24 @@ public:
void DispatchSetPlaybackRate(double aPlaybackRate)
{
OwnerThread()->DispatchStateChange(NewRunnableMethod<double>(
this, &MediaDecoderStateMachine::SetPlaybackRate, aPlaybackRate));
}
RefPtr<ShutdownPromise> BeginShutdown();
- // Set the media fragment end time. aEndTime is in microseconds.
- void DispatchSetFragmentEndTime(int64_t aEndTime)
+ // Set the media fragment end time.
+ void DispatchSetFragmentEndTime(const media::TimeUnit& aEndTime)
{
RefPtr<MediaDecoderStateMachine> self = this;
nsCOMPtr<nsIRunnable> r = NS_NewRunnableFunction([self, aEndTime] () {
// A negative number means we don't have a fragment end time at all.
- self->mFragmentEndTime = aEndTime >= 0
- ? media::TimeUnit::FromMicroseconds(aEndTime)
- : media::TimeUnit::Invalid();
+ self->mFragmentEndTime = aEndTime >= media::TimeUnit::Zero()
+ ? aEndTime : media::TimeUnit::Invalid();
});
OwnerThread()->Dispatch(r.forget());
}
// Drop reference to mResource. Only called during shutdown dance.
void BreakCycles() {
MOZ_ASSERT(NS_IsMainThread());
mResource = nullptr;