DescriptionCancel the starvation callback when MediaSourcePlayer::Release() gets called.
If we don't cancel the starvation callback, ProcessPendingEvents will get executed later when the callback fires.
Because we use a BarrierClosure in ProcessPendingEvents() and the count is 0 as both audio and video decoders are released, OnPrefetchDone() will be immediately called.
And this will cause ProcessPendingEvents() to get called again and again, thus crashing chrome.
An alternative to this fix is to check count before creating the barrier.
Logically starvation callback should not get called after Release().
BUG=285573
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=221509
Patch Set 1 #
Messages
Total messages: 7 (0 generated)
|