Chromium Code Reviews
DescriptionSimplify locking in HRTFDatabaseLoader
The locks in loadTask() and loadAsynchronously() were blocking each
other for about 100 msec or more, causing the jank in the bug report.
Only the lock is loadTask() is needed because that's what writes the
m_hrtfDatabase pointer. loadAsynchronously() doesn't need a lock because it
doesn't need to read m_hrtfDatabase.
Also simplified isLoaded() and database() which basically do the same
thing except for the return type.
database() (and, indirectly, isLoaded()) also gets a tryLock because
it is called from the audio thread which can't block.
BUG=602668
TEST=No jank in test in 602668
Committed: https://crrev.com/0494c3815a7eebceb73234e8da9e368e97fc1bfb
Cr-Commit-Position: refs/heads/master@{#406389}
Patch Set 1 #
Total comments: 5
Patch Set 2 : Fix typos. #Patch Set 3 : Address review comments #Patch Set 4 : Add comments. #
Messages
Total messages: 18 (11 generated)
|
||||||||||||||||||||||||||||