Bug 1423465. P3 - assert MediaCacheStream::SetPlaybackRate() is called off the main thread.
MozReview-Commit-ID: CZCLkRa0T2v
--- a/dom/media/MediaCache.cpp
+++ b/dom/media/MediaCache.cpp
@@ -2537,28 +2537,24 @@ MediaCacheStream::SetReadMode(ReadMode a
}
});
OwnerThread()->Dispatch(r.forget());
}
void
MediaCacheStream::SetPlaybackRate(uint32_t aBytesPerSecond)
{
+ MOZ_ASSERT(!NS_IsMainThread());
MOZ_ASSERT(aBytesPerSecond > 0, "Zero playback rate not allowed");
- nsCOMPtr<nsIRunnable> r = NS_NewRunnableFunction(
- "MediaCacheStream::SetPlaybackRate",
- [ =, client = RefPtr<ChannelMediaResource>(mClient) ]() {
- AutoLock lock(mMediaCache->Monitor());
- if (!mClosed && mPlaybackBytesPerSecond != aBytesPerSecond) {
- mPlaybackBytesPerSecond = aBytesPerSecond;
- mMediaCache->QueueUpdate(lock);
- }
- });
- OwnerThread()->Dispatch(r.forget());
+ AutoLock lock(mMediaCache->Monitor());
+ if (!mClosed && mPlaybackBytesPerSecond != aBytesPerSecond) {
+ mPlaybackBytesPerSecond = aBytesPerSecond;
+ mMediaCache->QueueUpdate(lock);
+ }
}
nsresult
MediaCacheStream::Seek(AutoLock& aLock, int64_t aOffset)
{
MOZ_ASSERT(!NS_IsMainThread());
if (!IsOffsetAllowed(aOffset)) {