зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1049327 - Assert that public MSE API is only called from the main thread. r=cajbir
This commit is contained in:
Родитель
ba475d554e
Коммит
5bc8f166b3
|
@ -127,12 +127,14 @@ MediaSource::Constructor(const GlobalObject& aGlobal,
|
|||
|
||||
MediaSource::~MediaSource()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("MediaSource(%p)::~MediaSource()", this);
|
||||
}
|
||||
|
||||
SourceBufferList*
|
||||
MediaSource::SourceBuffers()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MOZ_ASSERT_IF(mReadyState == MediaSourceReadyState::Closed, mSourceBuffers->IsEmpty());
|
||||
return mSourceBuffers;
|
||||
}
|
||||
|
@ -140,6 +142,7 @@ MediaSource::SourceBuffers()
|
|||
SourceBufferList*
|
||||
MediaSource::ActiveSourceBuffers()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MOZ_ASSERT_IF(mReadyState == MediaSourceReadyState::Closed, mActiveSourceBuffers->IsEmpty());
|
||||
return mActiveSourceBuffers;
|
||||
}
|
||||
|
@ -147,12 +150,14 @@ MediaSource::ActiveSourceBuffers()
|
|||
MediaSourceReadyState
|
||||
MediaSource::ReadyState()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
return mReadyState;
|
||||
}
|
||||
|
||||
double
|
||||
MediaSource::Duration()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
if (mReadyState == MediaSourceReadyState::Closed) {
|
||||
return UnspecifiedNaN<double>();
|
||||
}
|
||||
|
@ -162,6 +167,7 @@ MediaSource::Duration()
|
|||
void
|
||||
MediaSource::SetDuration(double aDuration, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("MediaSource(%p)::SetDuration(aDuration=%f)", this, aDuration);
|
||||
if (aDuration < 0 || IsNaN(aDuration)) {
|
||||
aRv.Throw(NS_ERROR_DOM_INVALID_ACCESS_ERR);
|
||||
|
@ -178,6 +184,7 @@ MediaSource::SetDuration(double aDuration, ErrorResult& aRv)
|
|||
already_AddRefed<SourceBuffer>
|
||||
MediaSource::AddSourceBuffer(const nsAString& aType, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
nsresult rv = mozilla::IsTypeSupported(aType);
|
||||
MSE_API("MediaSource(%p)::AddSourceBuffer(aType=%s)%s",
|
||||
this, NS_ConvertUTF16toUTF8(aType).get(),
|
||||
|
@ -215,6 +222,7 @@ MediaSource::AddSourceBuffer(const nsAString& aType, ErrorResult& aRv)
|
|||
void
|
||||
MediaSource::RemoveSourceBuffer(SourceBuffer& aSourceBuffer, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
SourceBuffer* sourceBuffer = &aSourceBuffer;
|
||||
MSE_API("MediaSource(%p)::RemoveSourceBuffer(aSourceBuffer=%p)", this, sourceBuffer);
|
||||
if (!mSourceBuffers->Contains(sourceBuffer)) {
|
||||
|
@ -245,6 +253,7 @@ MediaSource::RemoveSourceBuffer(SourceBuffer& aSourceBuffer, ErrorResult& aRv)
|
|||
void
|
||||
MediaSource::EndOfStream(const Optional<MediaSourceEndOfStreamError>& aError, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("MediaSource(%p)::EndOfStream(aError=%d)",
|
||||
this, aError.WasPassed() ? uint32_t(aError.Value()) : 0);
|
||||
if (mReadyState != MediaSourceReadyState::Open ||
|
||||
|
@ -284,6 +293,7 @@ MediaSource::EndOfStream(const Optional<MediaSourceEndOfStreamError>& aError, Er
|
|||
/* static */ bool
|
||||
MediaSource::IsTypeSupported(const GlobalObject&, const nsAString& aType)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
nsresult rv = mozilla::IsTypeSupported(aType);
|
||||
MSE_API("MediaSource::IsTypeSupported(aType=%s)%s",
|
||||
NS_ConvertUTF16toUTF8(aType).get(), rv == NS_OK ? "" : " [not supported]");
|
||||
|
@ -293,6 +303,7 @@ MediaSource::IsTypeSupported(const GlobalObject&, const nsAString& aType)
|
|||
bool
|
||||
MediaSource::Attach(MediaSourceDecoder* aDecoder)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_DEBUG("MediaSource(%p)::Attach(aDecoder=%p) owner=%p", this, aDecoder, aDecoder->GetOwner());
|
||||
MOZ_ASSERT(aDecoder);
|
||||
if (mReadyState != MediaSourceReadyState::Closed) {
|
||||
|
@ -307,6 +318,7 @@ MediaSource::Attach(MediaSourceDecoder* aDecoder)
|
|||
void
|
||||
MediaSource::Detach()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_DEBUG("MediaSource(%p)::Detach() mDecoder=%p owner=%p",
|
||||
this, mDecoder.get(), mDecoder->GetOwner());
|
||||
MOZ_ASSERT(mDecoder);
|
||||
|
@ -325,6 +337,7 @@ MediaSource::MediaSource(nsPIDOMWindow* aWindow)
|
|||
, mReadyState(MediaSourceReadyState::Closed)
|
||||
, mWaitForDataMonitor("MediaSource.WaitForData.Monitor")
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
mSourceBuffers = new SourceBufferList(this);
|
||||
mActiveSourceBuffers = new SourceBufferList(this);
|
||||
MSE_API("MediaSource(%p)::MediaSource(aWindow=%p) mSourceBuffers=%p mActiveSourceBuffers=%p",
|
||||
|
@ -334,6 +347,7 @@ MediaSource::MediaSource(nsPIDOMWindow* aWindow)
|
|||
void
|
||||
MediaSource::SetReadyState(MediaSourceReadyState aState)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MOZ_ASSERT(aState != mReadyState);
|
||||
MSE_DEBUG("MediaSource(%p)::SetReadyState(aState=%d) mReadyState=%d", this, aState, mReadyState);
|
||||
|
||||
|
@ -366,6 +380,7 @@ MediaSource::SetReadyState(MediaSourceReadyState aState)
|
|||
void
|
||||
MediaSource::DispatchSimpleEvent(const char* aName)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("MediaSource(%p) Dispatch event '%s'", this, aName);
|
||||
DispatchTrustedEvent(NS_ConvertUTF8toUTF16(aName));
|
||||
}
|
||||
|
@ -381,6 +396,7 @@ MediaSource::QueueAsyncSimpleEvent(const char* aName)
|
|||
void
|
||||
MediaSource::DurationChange(double aNewDuration, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_DEBUG("MediaSource(%p)::DurationChange(aNewDuration=%f)", this, aNewDuration);
|
||||
if (mDuration == aNewDuration) {
|
||||
return;
|
||||
|
@ -400,6 +416,7 @@ MediaSource::DurationChange(double aNewDuration, ErrorResult& aRv)
|
|||
void
|
||||
MediaSource::NotifyEvicted(double aStart, double aEnd)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_DEBUG("MediaSource(%p)::NotifyEvicted(aStart=%f, aEnd=%f)", this, aStart, aEnd);
|
||||
// Cycle through all SourceBuffers and tell them to evict data in
|
||||
// the given range.
|
||||
|
|
|
@ -214,6 +214,7 @@ namespace dom {
|
|||
void
|
||||
SourceBuffer::SetMode(SourceBufferAppendMode aMode, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("SourceBuffer(%p)::SetMode(aMode=%d)", this, aMode);
|
||||
if (!IsAttached() || mUpdating) {
|
||||
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
|
||||
|
@ -231,6 +232,7 @@ SourceBuffer::SetMode(SourceBufferAppendMode aMode, ErrorResult& aRv)
|
|||
void
|
||||
SourceBuffer::SetTimestampOffset(double aTimestampOffset, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("SourceBuffer(%p)::SetTimestampOffset(aTimestampOffset=%d)", this, aTimestampOffset);
|
||||
if (!IsAttached() || mUpdating) {
|
||||
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
|
||||
|
@ -248,6 +250,7 @@ SourceBuffer::SetTimestampOffset(double aTimestampOffset, ErrorResult& aRv)
|
|||
already_AddRefed<TimeRanges>
|
||||
SourceBuffer::GetBuffered(ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
if (!IsAttached()) {
|
||||
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
|
||||
return nullptr;
|
||||
|
@ -265,6 +268,7 @@ SourceBuffer::GetBuffered(ErrorResult& aRv)
|
|||
void
|
||||
SourceBuffer::SetAppendWindowStart(double aAppendWindowStart, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("SourceBuffer(%p)::SetAppendWindowStart(aAppendWindowStart=%d)", this, aAppendWindowStart);
|
||||
if (!IsAttached() || mUpdating) {
|
||||
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
|
||||
|
@ -280,6 +284,7 @@ SourceBuffer::SetAppendWindowStart(double aAppendWindowStart, ErrorResult& aRv)
|
|||
void
|
||||
SourceBuffer::SetAppendWindowEnd(double aAppendWindowEnd, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("SourceBuffer(%p)::SetAppendWindowEnd(aAppendWindowEnd=%d)", this, aAppendWindowEnd);
|
||||
if (!IsAttached() || mUpdating) {
|
||||
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
|
||||
|
@ -296,6 +301,7 @@ SourceBuffer::SetAppendWindowEnd(double aAppendWindowEnd, ErrorResult& aRv)
|
|||
void
|
||||
SourceBuffer::AppendBuffer(const ArrayBuffer& aData, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("SourceBuffer(%p)::AppendBuffer(ArrayBuffer)", this);
|
||||
aData.ComputeLengthAndData();
|
||||
AppendData(aData.Data(), aData.Length(), aRv);
|
||||
|
@ -304,6 +310,7 @@ SourceBuffer::AppendBuffer(const ArrayBuffer& aData, ErrorResult& aRv)
|
|||
void
|
||||
SourceBuffer::AppendBuffer(const ArrayBufferView& aData, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("SourceBuffer(%p)::AppendBuffer(ArrayBufferView)", this);
|
||||
aData.ComputeLengthAndData();
|
||||
AppendData(aData.Data(), aData.Length(), aRv);
|
||||
|
@ -312,6 +319,7 @@ SourceBuffer::AppendBuffer(const ArrayBufferView& aData, ErrorResult& aRv)
|
|||
void
|
||||
SourceBuffer::Abort(ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("SourceBuffer(%p)::Abort()", this);
|
||||
if (!IsAttached()) {
|
||||
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
|
||||
|
@ -336,6 +344,7 @@ SourceBuffer::Abort(ErrorResult& aRv)
|
|||
void
|
||||
SourceBuffer::Remove(double aStart, double aEnd, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("SourceBuffer(%p)::Remove(aStart=%f, aEnd=%f)", this, aStart, aEnd);
|
||||
if (!IsAttached() || mUpdating ||
|
||||
mMediaSource->ReadyState() != MediaSourceReadyState::Open) {
|
||||
|
@ -355,6 +364,7 @@ SourceBuffer::Remove(double aStart, double aEnd, ErrorResult& aRv)
|
|||
void
|
||||
SourceBuffer::Detach()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_DEBUG("SourceBuffer(%p)::Detach", this);
|
||||
Ended();
|
||||
DiscardDecoder();
|
||||
|
@ -364,6 +374,7 @@ SourceBuffer::Detach()
|
|||
void
|
||||
SourceBuffer::Ended()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_DEBUG("SourceBuffer(%p)::Ended", this);
|
||||
if (mDecoder) {
|
||||
mDecoder->GetResource()->Ended();
|
||||
|
@ -381,6 +392,7 @@ SourceBuffer::SourceBuffer(MediaSource* aMediaSource, const nsACString& aType)
|
|||
, mUpdating(false)
|
||||
, mDecoderInitialized(false)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MOZ_ASSERT(aMediaSource);
|
||||
mParser = ContainerParser::CreateForMIMEType(aType);
|
||||
MSE_DEBUG("SourceBuffer(%p)::SourceBuffer: Creating initial decoder.", this);
|
||||
|
@ -396,6 +408,7 @@ SourceBuffer::Create(MediaSource* aMediaSource, const nsACString& aType)
|
|||
|
||||
SourceBuffer::~SourceBuffer()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_DEBUG("SourceBuffer(%p)::~SourceBuffer", this);
|
||||
DiscardDecoder();
|
||||
}
|
||||
|
@ -415,6 +428,7 @@ SourceBuffer::WrapObject(JSContext* aCx)
|
|||
void
|
||||
SourceBuffer::DispatchSimpleEvent(const char* aName)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("SourceBuffer(%p) Dispatch event '%s'", this, aName);
|
||||
DispatchTrustedEvent(NS_ConvertUTF8toUTF16(aName));
|
||||
}
|
||||
|
@ -430,6 +444,7 @@ SourceBuffer::QueueAsyncSimpleEvent(const char* aName)
|
|||
bool
|
||||
SourceBuffer::InitNewDecoder()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_DEBUG("SourceBuffer(%p)::InitNewDecoder", this);
|
||||
MOZ_ASSERT(!mDecoder);
|
||||
MediaSourceDecoder* parentDecoder = mMediaSource->GetDecoder();
|
||||
|
@ -445,6 +460,7 @@ SourceBuffer::InitNewDecoder()
|
|||
void
|
||||
SourceBuffer::DiscardDecoder()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_DEBUG("SourceBuffer(%p)::DiscardDecoder mDecoder=%p", this, mDecoder.get());
|
||||
if (mDecoder) {
|
||||
mDecoder->SetDiscarded();
|
||||
|
@ -456,6 +472,7 @@ SourceBuffer::DiscardDecoder()
|
|||
void
|
||||
SourceBuffer::StartUpdating()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MOZ_ASSERT(!mUpdating);
|
||||
mUpdating = true;
|
||||
QueueAsyncSimpleEvent("updatestart");
|
||||
|
@ -464,6 +481,7 @@ SourceBuffer::StartUpdating()
|
|||
void
|
||||
SourceBuffer::StopUpdating()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MOZ_ASSERT(mUpdating);
|
||||
mUpdating = false;
|
||||
QueueAsyncSimpleEvent("update");
|
||||
|
@ -473,6 +491,7 @@ SourceBuffer::StopUpdating()
|
|||
void
|
||||
SourceBuffer::AbortUpdating()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MOZ_ASSERT(mUpdating);
|
||||
mUpdating = false;
|
||||
QueueAsyncSimpleEvent("abort");
|
||||
|
@ -554,6 +573,7 @@ SourceBuffer::AppendData(const uint8_t* aData, uint32_t aLength, ErrorResult& aR
|
|||
void
|
||||
SourceBuffer::GetBufferedStartEndTime(double* aStart, double* aEnd)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
ErrorResult dummy;
|
||||
nsRefPtr<TimeRanges> ranges = GetBuffered(dummy);
|
||||
if (!ranges || ranges->Length() == 0) {
|
||||
|
@ -567,6 +587,7 @@ SourceBuffer::GetBufferedStartEndTime(double* aStart, double* aEnd)
|
|||
void
|
||||
SourceBuffer::Evict(double aStart, double aEnd)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_DEBUG("SourceBuffer(%p)::Evict(aStart=%f, aEnd=%f)", this, aStart, aEnd);
|
||||
if (!mDecoder) {
|
||||
return;
|
||||
|
@ -582,6 +603,7 @@ SourceBuffer::Evict(double aStart, double aEnd)
|
|||
bool
|
||||
SourceBuffer::ContainsTime(double aTime)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
ErrorResult dummy;
|
||||
nsRefPtr<TimeRanges> ranges = GetBuffered(dummy);
|
||||
if (!ranges || ranges->Length() == 0) {
|
||||
|
|
|
@ -42,6 +42,7 @@ SourceBufferList::~SourceBufferList()
|
|||
SourceBuffer*
|
||||
SourceBufferList::IndexedGetter(uint32_t aIndex, bool& aFound)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
aFound = aIndex < mSourceBuffers.Length();
|
||||
return aFound ? mSourceBuffers[aIndex] : nullptr;
|
||||
}
|
||||
|
@ -49,12 +50,14 @@ SourceBufferList::IndexedGetter(uint32_t aIndex, bool& aFound)
|
|||
uint32_t
|
||||
SourceBufferList::Length()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
return mSourceBuffers.Length();
|
||||
}
|
||||
|
||||
void
|
||||
SourceBufferList::Append(SourceBuffer* aSourceBuffer)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
mSourceBuffers.AppendElement(aSourceBuffer);
|
||||
QueueAsyncSimpleEvent("addsourcebuffer");
|
||||
}
|
||||
|
@ -62,6 +65,7 @@ SourceBufferList::Append(SourceBuffer* aSourceBuffer)
|
|||
void
|
||||
SourceBufferList::Remove(SourceBuffer* aSourceBuffer)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MOZ_ALWAYS_TRUE(mSourceBuffers.RemoveElement(aSourceBuffer));
|
||||
aSourceBuffer->Detach();
|
||||
QueueAsyncSimpleEvent("removesourcebuffer");
|
||||
|
@ -70,12 +74,14 @@ SourceBufferList::Remove(SourceBuffer* aSourceBuffer)
|
|||
bool
|
||||
SourceBufferList::Contains(SourceBuffer* aSourceBuffer)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
return mSourceBuffers.Contains(aSourceBuffer);
|
||||
}
|
||||
|
||||
void
|
||||
SourceBufferList::Clear()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
for (uint32_t i = 0; i < mSourceBuffers.Length(); ++i) {
|
||||
mSourceBuffers[i]->Detach();
|
||||
}
|
||||
|
@ -86,12 +92,14 @@ SourceBufferList::Clear()
|
|||
bool
|
||||
SourceBufferList::IsEmpty()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
return mSourceBuffers.IsEmpty();
|
||||
}
|
||||
|
||||
bool
|
||||
SourceBufferList::AnyUpdating()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
for (uint32_t i = 0; i < mSourceBuffers.Length(); ++i) {
|
||||
if (mSourceBuffers[i]->Updating()) {
|
||||
return true;
|
||||
|
@ -103,6 +111,7 @@ SourceBufferList::AnyUpdating()
|
|||
void
|
||||
SourceBufferList::Remove(double aStart, double aEnd, ErrorResult& aRv)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_DEBUG("SourceBufferList(%p)::Remove(aStart=%f, aEnd=%f", this, aStart, aEnd);
|
||||
for (uint32_t i = 0; i < mSourceBuffers.Length(); ++i) {
|
||||
mSourceBuffers[i]->Remove(aStart, aEnd, aRv);
|
||||
|
@ -115,6 +124,7 @@ SourceBufferList::Remove(double aStart, double aEnd, ErrorResult& aRv)
|
|||
void
|
||||
SourceBufferList::Evict(double aStart, double aEnd)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_DEBUG("SourceBufferList(%p)::Evict(aStart=%f, aEnd=%f)", this, aStart, aEnd);
|
||||
for (uint32_t i = 0; i < mSourceBuffers.Length(); ++i) {
|
||||
mSourceBuffers[i]->Evict(aStart, aEnd);
|
||||
|
@ -124,6 +134,7 @@ SourceBufferList::Evict(double aStart, double aEnd)
|
|||
bool
|
||||
SourceBufferList::AllContainsTime(double aTime)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
for (uint32_t i = 0; i < mSourceBuffers.Length(); ++i) {
|
||||
if (!mSourceBuffers[i]->ContainsTime(aTime)) {
|
||||
return false;
|
||||
|
@ -135,6 +146,7 @@ SourceBufferList::AllContainsTime(double aTime)
|
|||
void
|
||||
SourceBufferList::Ended()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
for (uint32_t i = 0; i < mSourceBuffers.Length(); ++i) {
|
||||
mSourceBuffers[i]->Ended();
|
||||
}
|
||||
|
@ -143,6 +155,7 @@ SourceBufferList::Ended()
|
|||
void
|
||||
SourceBufferList::DispatchSimpleEvent(const char* aName)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MSE_API("SourceBufferList(%p) Dispatch event '%s'", this, aName);
|
||||
DispatchTrustedEvent(NS_ConvertUTF8toUTF16(aName));
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче