Index: Source/modules/webaudio/AudioBuffer.cpp |
diff --git a/Source/modules/webaudio/AudioBuffer.cpp b/Source/modules/webaudio/AudioBuffer.cpp |
index 52a18a3b88044e44d0aca021b10e884760f352db..a0359d7a32ba0d039be815305f6d690c172cae78 100644 |
--- a/Source/modules/webaudio/AudioBuffer.cpp |
+++ b/Source/modules/webaudio/AudioBuffer.cpp |
@@ -52,23 +52,23 @@ 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; |
} |
-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; |
} |
@@ -76,6 +76,16 @@ PassRefPtr<AudioBuffer> AudioBuffer::createFromAudioFileData(const void* data, s |
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; |
+ return nullptr; |
+} |
+ |
bool AudioBuffer::createdSuccessfully(unsigned desiredNumberOfChannels) const |
{ |
return numberOfChannels() == desiredNumberOfChannels; |