| Index: third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp
|
| diff --git a/third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp b/third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp
|
| index 12aa3b8895ba5dc3c96aed0fe870d09c1aed428e..c42c0cff6c04d90bf7062f3644ffff1d5b42a0d9 100644
|
| --- a/third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp
|
| +++ b/third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp
|
| @@ -45,19 +45,28 @@ AsyncAudioDecoder::~AsyncAudioDecoder()
|
| {
|
| }
|
|
|
| -void AsyncAudioDecoder::decodeAsync(DOMArrayBuffer* audioData, float sampleRate, AudioBufferCallback* successCallback, AudioBufferCallback* errorCallback, ScriptPromiseResolver* resolver, BaseAudioContext* context)
|
| +void AsyncAudioDecoder::decodeAsync(DOMArrayBuffer* audioData, float sampleRate, bool disableResampling, AudioBufferCallback* successCallback, AudioBufferCallback* errorCallback, ScriptPromiseResolver* resolver, BaseAudioContext* context)
|
| {
|
| ASSERT(isMainThread());
|
| ASSERT(audioData);
|
| if (!audioData)
|
| return;
|
|
|
| - m_thread->getWebTaskRunner()->postTask(BLINK_FROM_HERE, crossThreadBind(&AsyncAudioDecoder::decode, wrapCrossThreadPersistent(audioData), sampleRate, wrapCrossThreadPersistent(successCallback), wrapCrossThreadPersistent(errorCallback), wrapCrossThreadPersistent(resolver), wrapCrossThreadPersistent(context)));
|
| + m_thread->getWebTaskRunner()->postTask(
|
| + BLINK_FROM_HERE,
|
| + crossThreadBind(
|
| + &AsyncAudioDecoder::decode,
|
| + wrapCrossThreadPersistent(audioData),
|
| + sampleRate,
|
| + disableResampling,
|
| + wrapCrossThreadPersistent(successCallback),
|
| + wrapCrossThreadPersistent(errorCallback),
|
| + wrapCrossThreadPersistent(resolver), wrapCrossThreadPersistent(context)));
|
| }
|
|
|
| -void AsyncAudioDecoder::decode(DOMArrayBuffer* audioData, float sampleRate, AudioBufferCallback* successCallback, AudioBufferCallback* errorCallback, ScriptPromiseResolver* resolver, BaseAudioContext* context)
|
| +void AsyncAudioDecoder::decode(DOMArrayBuffer* audioData, float sampleRate, bool disableResampling, AudioBufferCallback* successCallback, AudioBufferCallback* errorCallback, ScriptPromiseResolver* resolver, BaseAudioContext* context)
|
| {
|
| - RefPtr<AudioBus> bus = createBusFromInMemoryAudioFile(audioData->data(), audioData->byteLength(), false, sampleRate);
|
| + RefPtr<AudioBus> bus = createBusFromInMemoryAudioFile(audioData->data(), audioData->byteLength(), false, disableResampling ? 0 : sampleRate);
|
|
|
| // Decoding is finished, but we need to do the callbacks on the main thread.
|
| // A reference to |*bus| is retained by WTF::Function and will be removed after notifyComplete() is done.
|
|
|