зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1071482 - Break a cycle in TrackBuffer and SourceBufferDecoder's MediaTaskQueue's SharedThreadPool. r=cajbir
This commit is contained in:
Родитель
aad6220d90
Коммит
66e4432ad3
|
@ -84,6 +84,18 @@ public:
|
|||
mTaskQueue = aTaskQueue;
|
||||
}
|
||||
|
||||
void BreakCycles()
|
||||
{
|
||||
if (mReader) {
|
||||
mReader->BreakCycles();
|
||||
mReader = nullptr;
|
||||
}
|
||||
mTaskQueue = nullptr;
|
||||
#ifdef MOZ_EME
|
||||
mCDMProxy = nullptr;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef MOZ_EME
|
||||
virtual nsresult SetCDMProxy(CDMProxy* aProxy)
|
||||
{
|
||||
|
|
|
@ -391,7 +391,7 @@ TrackBuffer::BreakCycles()
|
|||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
for (uint32_t i = 0; i < mDecoders.Length(); ++i) {
|
||||
mDecoders[i]->GetReader()->BreakCycles();
|
||||
mDecoders[i]->BreakCycles();
|
||||
}
|
||||
mDecoders.Clear();
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче