diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
commit | 32761a6cee1d0dee366b885b7b9c777e67885688 (patch) | |
tree | d6bec92bebfb216f4126356e55518842c2f476a1 /Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h | |
parent | a4e969f4965059196ca948db781e52f7cfebf19e (diff) | |
download | WebKitGtk-tarball-32761a6cee1d0dee366b885b7b9c777e67885688.tar.gz |
webkitgtk-2.4.11webkitgtk-2.4.11
Diffstat (limited to 'Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h')
-rw-r--r-- | Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h b/Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h index 8730d9e05..ff096ecaf 100644 --- a/Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h +++ b/Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h @@ -57,16 +57,20 @@ private: class DecodingTask { WTF_MAKE_NONCOPYABLE(DecodingTask); public: - DecodingTask(JSC::ArrayBuffer* audioData, float sampleRate, PassRefPtr<AudioBufferCallback> successCallback, PassRefPtr<AudioBufferCallback> errorCallback); + static std::unique_ptr<DecodingTask> create(JSC::ArrayBuffer* audioData, float sampleRate, PassRefPtr<AudioBufferCallback> successCallback, PassRefPtr<AudioBufferCallback> errorCallback); + void decode(); private: + DecodingTask(JSC::ArrayBuffer* audioData, float sampleRate, PassRefPtr<AudioBufferCallback> successCallback, PassRefPtr<AudioBufferCallback> errorCallback); + JSC::ArrayBuffer* audioData() { return m_audioData.get(); } float sampleRate() const { return m_sampleRate; } AudioBufferCallback* successCallback() { return m_successCallback.get(); } AudioBufferCallback* errorCallback() { return m_errorCallback.get(); } AudioBuffer* audioBuffer() { return m_audioBuffer.get(); } + static void notifyCompleteDispatch(void* userData); void notifyComplete(); RefPtr<JSC::ArrayBuffer> m_audioData; @@ -80,7 +84,7 @@ private: void runLoop(); WTF::ThreadIdentifier m_threadID; - Lock m_threadCreationMutex; + Mutex m_threadCreationMutex; MessageQueue<DecodingTask> m_queue; }; |