| Index: Source/modules/webaudio/AudioContext.h
|
| diff --git a/Source/modules/webaudio/AudioContext.h b/Source/modules/webaudio/AudioContext.h
|
| index 9ea7dd20da78526b65d5dd0672f0bbab69918f50..bfb33051c35606bc57ea36da3a23eabdf796e336 100644
|
| --- a/Source/modules/webaudio/AudioContext.h
|
| +++ b/Source/modules/webaudio/AudioContext.h
|
| @@ -108,12 +108,15 @@ public:
|
|
|
| AudioDestinationNode* destination() { return m_destinationNode.get(); }
|
|
|
| - // currentSampleFrame() and currentTime() can be called from both the main
|
| - // thread and the audio thread. Note that, however, they return the cached
|
| - // value instead of actual current ones when they are accessed from the main
|
| - // thread. See: crbug.com/431874
|
| - size_t currentSampleFrame() const;
|
| - double currentTime() const;
|
| + size_t currentSampleFrame() const
|
| + {
|
| + return m_destinationNode ? m_destinationNode->audioDestinationHandler().currentSampleFrame() : 0;
|
| + }
|
| +
|
| + double currentTime() const
|
| + {
|
| + return m_destinationNode ? m_destinationNode->audioDestinationHandler().currentTime() : 0;
|
| + }
|
|
|
| float sampleRate() const { return m_destinationNode ? m_destinationNode->handler().sampleRate() : 0; }
|
|
|
| @@ -311,9 +314,6 @@ private:
|
| // The Promise that is returned by close();
|
| RefPtrWillBeMember<ScriptPromiseResolver> m_closeResolver;
|
|
|
| - // Follows the destination's currentSampleFrame, but might be slightly behind due to locking.
|
| - size_t m_cachedSampleFrame;
|
| -
|
| // Tries to handle AudioBufferSourceNodes that were started but became disconnected or was never
|
| // connected. Because these never get pulled anymore, they will stay around forever. So if we
|
| // can, try to stop them so they can be collected.
|
|
|