Index: Source/modules/webaudio/AudioBuffer.cpp |
diff --git a/Source/modules/webaudio/AudioBuffer.cpp b/Source/modules/webaudio/AudioBuffer.cpp |
index 52a18a3b88044e44d0aca021b10e884760f352db..7951f6962e8a6fc4f2fe0074837c6905e5b77155 100644 |
--- a/Source/modules/webaudio/AudioBuffer.cpp |
+++ b/Source/modules/webaudio/AudioBuffer.cpp |
@@ -52,30 +52,40 @@ float AudioBuffer::maxAllowedSampleRate() |
return 192000; |
} |
-PassRefPtr<AudioBuffer> AudioBuffer::create(unsigned numberOfChannels, size_t numberOfFrames, float sampleRate) |
+PassRefPtrWillBeRawPtr<AudioBuffer> AudioBuffer::create(unsigned numberOfChannels, size_t numberOfFrames, float sampleRate) |
{ |
if (sampleRate < minAllowedSampleRate() || sampleRate > maxAllowedSampleRate() || numberOfChannels > AudioContext::maxNumberOfChannels() || !numberOfFrames) |
return nullptr; |
- RefPtr<AudioBuffer> buffer = adoptRef(new AudioBuffer(numberOfChannels, numberOfFrames, sampleRate)); |
+ RefPtrWillBeRawPtr<AudioBuffer> buffer = adoptRefWillBeNoop(new AudioBuffer(numberOfChannels, numberOfFrames, sampleRate)); |
if (!buffer->createdSuccessfully(numberOfChannels)) |
return nullptr; |
- return buffer; |
+ return buffer.release(); |
} |
-PassRefPtr<AudioBuffer> AudioBuffer::createFromAudioFileData(const void* data, size_t dataSize, bool mixToMono, float sampleRate) |
+PassRefPtrWillBeRawPtr<AudioBuffer> AudioBuffer::createFromAudioFileData(const void* data, size_t dataSize, bool mixToMono, float sampleRate) |
{ |
RefPtr<AudioBus> bus = createBusFromInMemoryAudioFile(data, dataSize, mixToMono, sampleRate); |
if (bus.get()) { |
- RefPtr<AudioBuffer> buffer = adoptRef(new AudioBuffer(bus.get())); |
+ RefPtrWillBeRawPtr<AudioBuffer> buffer = adoptRefWillBeNoop(new AudioBuffer(bus.get())); |
if (buffer->createdSuccessfully(bus->numberOfChannels())) |
- return buffer; |
+ return buffer.release(); |
} |
return nullptr; |
} |
+PassRefPtrWillBeRawPtr<AudioBuffer> AudioBuffer::createFromAudioBus(AudioBus* bus) |
+{ |
+ if (!bus) |
+ return nullptr; |
+ RefPtrWillBeRawPtr<AudioBuffer> buffer = adoptRefWillBeNoop(new AudioBuffer(bus)); |
+ if (buffer->createdSuccessfully(bus->numberOfChannels())) |
+ return buffer.release(); |
+ return nullptr; |
+} |
+ |
bool AudioBuffer::createdSuccessfully(unsigned desiredNumberOfChannels) const |
{ |
return numberOfChannels() == desiredNumberOfChannels; |