summaryrefslogtreecommitdiff
path: root/Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
commit32761a6cee1d0dee366b885b7b9c777e67885688 (patch)
treed6bec92bebfb216f4126356e55518842c2f476a1 /Source/WebCore/Modules/webaudio/AsyncAudioDecoder.h
parenta4e969f4965059196ca948db781e52f7cfebf19e (diff)
downloadWebKitGtk-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.h8
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;
};