Bug 1395017. P1 - assert ResourceStreamIterator should either run in the main thread or with the lock held.
MozReview-Commit-ID: Jm9alyQFFtA
--- a/dom/media/MediaCache.cpp
+++ b/dom/media/MediaCache.cpp
@@ -229,16 +229,19 @@ public:
class ResourceStreamIterator
{
public:
ResourceStreamIterator(MediaCache* aMediaCache, int64_t aResourceID)
: mMediaCache(aMediaCache)
, mResourceID(aResourceID)
, mNext(0)
{
+ MOZ_ASSERT(
+ NS_IsMainThread() ||
+ (aMediaCache->GetReentrantMonitor().AssertCurrentThreadIn(), true));
}
MediaCacheStream* Next()
{
while (mNext < mMediaCache->mStreams.Length()) {
MediaCacheStream* stream = mMediaCache->mStreams[mNext];
++mNext;
if (stream->GetResourceID() == mResourceID && !stream->IsClosed())
return stream;