Index: Source/modules/webaudio/AudioBuffer.cpp |
diff --git a/Source/modules/webaudio/AudioBuffer.cpp b/Source/modules/webaudio/AudioBuffer.cpp |
index 496e04ecf162bf0887606266d5a2f9681585e03b..7586b6d5575d8c17f1475be70312a08db56a07a1 100644 |
--- a/Source/modules/webaudio/AudioBuffer.cpp |
+++ b/Source/modules/webaudio/AudioBuffer.cpp |
@@ -50,23 +50,23 @@ float AudioBuffer::maxAllowedSampleRate() |
return 96000; |
} |
-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; |
} |
@@ -74,6 +74,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; |