Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(144)

Side by Side Diff: Source/modules/webaudio/AudioBuffer.cpp

Issue 170603003: Use nullptr_t for RefPtr, PassRefPtr and RawPtr. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Final rebase Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 } 46 }
47 47
48 float AudioBuffer::maxAllowedSampleRate() 48 float AudioBuffer::maxAllowedSampleRate()
49 { 49 {
50 return 96000; 50 return 96000;
51 } 51 }
52 52
53 PassRefPtr<AudioBuffer> AudioBuffer::create(unsigned numberOfChannels, size_t nu mberOfFrames, float sampleRate) 53 PassRefPtr<AudioBuffer> AudioBuffer::create(unsigned numberOfChannels, size_t nu mberOfFrames, float sampleRate)
54 { 54 {
55 if (sampleRate < minAllowedSampleRate() || sampleRate > maxAllowedSampleRate () || numberOfChannels > AudioContext::maxNumberOfChannels() || !numberOfFrames) 55 if (sampleRate < minAllowedSampleRate() || sampleRate > maxAllowedSampleRate () || numberOfChannels > AudioContext::maxNumberOfChannels() || !numberOfFrames)
56 return 0; 56 return nullptr;
57 57
58 RefPtr<AudioBuffer> buffer = adoptRef(new AudioBuffer(numberOfChannels, numb erOfFrames, sampleRate)); 58 RefPtr<AudioBuffer> buffer = adoptRef(new AudioBuffer(numberOfChannels, numb erOfFrames, sampleRate));
59 59
60 if (!buffer->createdSuccessfully(numberOfChannels)) 60 if (!buffer->createdSuccessfully(numberOfChannels))
61 return 0; 61 return nullptr;
62 return buffer; 62 return buffer;
63 } 63 }
64 64
65 PassRefPtr<AudioBuffer> AudioBuffer::createFromAudioFileData(const void* data, s ize_t dataSize, bool mixToMono, float sampleRate) 65 PassRefPtr<AudioBuffer> AudioBuffer::createFromAudioFileData(const void* data, s ize_t dataSize, bool mixToMono, float sampleRate)
66 { 66 {
67 RefPtr<AudioBus> bus = createBusFromInMemoryAudioFile(data, dataSize, mixToM ono, sampleRate); 67 RefPtr<AudioBus> bus = createBusFromInMemoryAudioFile(data, dataSize, mixToM ono, sampleRate);
68 if (bus.get()) { 68 if (bus.get()) {
69 RefPtr<AudioBuffer> buffer = adoptRef(new AudioBuffer(bus.get())); 69 RefPtr<AudioBuffer> buffer = adoptRef(new AudioBuffer(bus.get()));
70 if (buffer->createdSuccessfully(bus->numberOfChannels())) 70 if (buffer->createdSuccessfully(bus->numberOfChannels()))
71 return buffer; 71 return buffer;
72 } 72 }
73 73
74 return 0; 74 return nullptr;
75 } 75 }
76 76
77 bool AudioBuffer::createdSuccessfully(unsigned desiredNumberOfChannels) const 77 bool AudioBuffer::createdSuccessfully(unsigned desiredNumberOfChannels) const
78 { 78 {
79 return numberOfChannels() == desiredNumberOfChannels; 79 return numberOfChannels() == desiredNumberOfChannels;
80 } 80 }
81 81
82 AudioBuffer::AudioBuffer(unsigned numberOfChannels, size_t numberOfFrames, float sampleRate) 82 AudioBuffer::AudioBuffer(unsigned numberOfChannels, size_t numberOfFrames, float sampleRate)
83 : m_gain(1.0) 83 : m_gain(1.0)
84 , m_sampleRate(sampleRate) 84 , m_sampleRate(sampleRate)
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 channelDataArray->setNeuterable(false); 119 channelDataArray->setNeuterable(false);
120 channelDataArray->setRange(bus->channel(i)->data(), m_length, 0); 120 channelDataArray->setRange(bus->channel(i)->data(), m_length, 0);
121 m_channels.append(channelDataArray); 121 m_channels.append(channelDataArray);
122 } 122 }
123 } 123 }
124 124
125 PassRefPtr<Float32Array> AudioBuffer::getChannelData(unsigned channelIndex, Exce ptionState& exceptionState) 125 PassRefPtr<Float32Array> AudioBuffer::getChannelData(unsigned channelIndex, Exce ptionState& exceptionState)
126 { 126 {
127 if (channelIndex >= m_channels.size()) { 127 if (channelIndex >= m_channels.size()) {
128 exceptionState.throwDOMException(IndexSizeError, "channel index (" + Str ing::number(channelIndex) + ") exceeds number of channels (" + String::number(m_ channels.size()) + ")"); 128 exceptionState.throwDOMException(IndexSizeError, "channel index (" + Str ing::number(channelIndex) + ") exceeds number of channels (" + String::number(m_ channels.size()) + ")");
129 return 0; 129 return nullptr;
130 } 130 }
131 131
132 Float32Array* channelData = m_channels[channelIndex].get(); 132 Float32Array* channelData = m_channels[channelIndex].get();
133 return Float32Array::create(channelData->buffer(), channelData->byteOffset() , channelData->length()); 133 return Float32Array::create(channelData->buffer(), channelData->byteOffset() , channelData->length());
134 } 134 }
135 135
136 Float32Array* AudioBuffer::getChannelData(unsigned channelIndex) 136 Float32Array* AudioBuffer::getChannelData(unsigned channelIndex)
137 { 137 {
138 if (channelIndex >= m_channels.size()) 138 if (channelIndex >= m_channels.size())
139 return 0; 139 return 0;
140 140
141 return m_channels[channelIndex].get(); 141 return m_channels[channelIndex].get();
142 } 142 }
143 143
144 void AudioBuffer::zero() 144 void AudioBuffer::zero()
145 { 145 {
146 for (unsigned i = 0; i < m_channels.size(); ++i) { 146 for (unsigned i = 0; i < m_channels.size(); ++i) {
147 if (getChannelData(i)) 147 if (getChannelData(i))
148 getChannelData(i)->zeroRange(0, length()); 148 getChannelData(i)->zeroRange(0, length());
149 } 149 }
150 } 150 }
151 151
152 } // namespace WebCore 152 } // namespace WebCore
153 153
154 #endif // ENABLE(WEB_AUDIO) 154 #endif // ENABLE(WEB_AUDIO)
OLDNEW
« no previous file with comments | « Source/modules/speech/testing/PlatformSpeechSynthesizerMock.cpp ('k') | Source/modules/webaudio/AudioBufferSourceNode.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698