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

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

Issue 205173002: Move webaudio to oilpan (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Changed back AudioParam to gc Created 6 years, 7 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) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 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 27 matching lines...) Expand all
38 #include <algorithm> 38 #include <algorithm>
39 39
40 const unsigned PeriodicWaveSize = 4096; // This must be a power of two. 40 const unsigned PeriodicWaveSize = 4096; // This must be a power of two.
41 const unsigned NumberOfRanges = 36; // There should be 3 * log2(PeriodicWaveSize ) 1/3 octave ranges. 41 const unsigned NumberOfRanges = 36; // There should be 3 * log2(PeriodicWaveSize ) 1/3 octave ranges.
42 const float CentsPerRange = 1200 / 3; // 1/3 Octave. 42 const float CentsPerRange = 1200 / 3; // 1/3 Octave.
43 43
44 namespace WebCore { 44 namespace WebCore {
45 45
46 using namespace VectorMath; 46 using namespace VectorMath;
47 47
48 PassRefPtr<PeriodicWave> PeriodicWave::create(float sampleRate, Float32Array* re al, Float32Array* imag) 48 PassRefPtrWillBeRawPtr<PeriodicWave> PeriodicWave::create(float sampleRate, Floa t32Array* real, Float32Array* imag)
49 { 49 {
50 bool isGood = real && imag && real->length() == imag->length(); 50 bool isGood = real && imag && real->length() == imag->length();
51 ASSERT(isGood); 51 ASSERT(isGood);
52 if (isGood) { 52 if (isGood) {
53 RefPtr<PeriodicWave> periodicWave = adoptRef(new PeriodicWave(sampleRate )); 53 RefPtrWillBeRawPtr<PeriodicWave> periodicWave = adoptRefWillBeNoop(new P eriodicWave(sampleRate));
54 size_t numberOfComponents = real->length(); 54 size_t numberOfComponents = real->length();
55 periodicWave->createBandLimitedTables(real->data(), imag->data(), number OfComponents); 55 periodicWave->createBandLimitedTables(real->data(), imag->data(), number OfComponents);
56 return periodicWave; 56 return periodicWave;
haraken 2014/05/07 04:02:16 periodicWave.release(). The same comment for othe
keishi 2014/05/07 07:59:24 Done.
57 } 57 }
58 return nullptr; 58 return nullptr;
59 } 59 }
60 60
61 PassRefPtr<PeriodicWave> PeriodicWave::createSine(float sampleRate) 61 PassRefPtrWillBeRawPtr<PeriodicWave> PeriodicWave::createSine(float sampleRate)
62 { 62 {
63 RefPtr<PeriodicWave> periodicWave = adoptRef(new PeriodicWave(sampleRate)); 63 RefPtrWillBeRawPtr<PeriodicWave> periodicWave = adoptRefWillBeNoop(new Perio dicWave(sampleRate));
64 periodicWave->generateBasicWaveform(OscillatorNode::SINE); 64 periodicWave->generateBasicWaveform(OscillatorNode::SINE);
65 return periodicWave; 65 return periodicWave;
66 } 66 }
67 67
68 PassRefPtr<PeriodicWave> PeriodicWave::createSquare(float sampleRate) 68 PassRefPtrWillBeRawPtr<PeriodicWave> PeriodicWave::createSquare(float sampleRate )
69 { 69 {
70 RefPtr<PeriodicWave> periodicWave = adoptRef(new PeriodicWave(sampleRate)); 70 RefPtrWillBeRawPtr<PeriodicWave> periodicWave = adoptRefWillBeNoop(new Perio dicWave(sampleRate));
71 periodicWave->generateBasicWaveform(OscillatorNode::SQUARE); 71 periodicWave->generateBasicWaveform(OscillatorNode::SQUARE);
72 return periodicWave; 72 return periodicWave;
73 } 73 }
74 74
75 PassRefPtr<PeriodicWave> PeriodicWave::createSawtooth(float sampleRate) 75 PassRefPtrWillBeRawPtr<PeriodicWave> PeriodicWave::createSawtooth(float sampleRa te)
76 { 76 {
77 RefPtr<PeriodicWave> periodicWave = adoptRef(new PeriodicWave(sampleRate)); 77 RefPtrWillBeRawPtr<PeriodicWave> periodicWave = adoptRefWillBeNoop(new Perio dicWave(sampleRate));
78 periodicWave->generateBasicWaveform(OscillatorNode::SAWTOOTH); 78 periodicWave->generateBasicWaveform(OscillatorNode::SAWTOOTH);
79 return periodicWave; 79 return periodicWave;
80 } 80 }
81 81
82 PassRefPtr<PeriodicWave> PeriodicWave::createTriangle(float sampleRate) 82 PassRefPtrWillBeRawPtr<PeriodicWave> PeriodicWave::createTriangle(float sampleRa te)
83 { 83 {
84 RefPtr<PeriodicWave> periodicWave = adoptRef(new PeriodicWave(sampleRate)); 84 RefPtrWillBeRawPtr<PeriodicWave> periodicWave = adoptRefWillBeNoop(new Perio dicWave(sampleRate));
85 periodicWave->generateBasicWaveform(OscillatorNode::TRIANGLE); 85 periodicWave->generateBasicWaveform(OscillatorNode::TRIANGLE);
86 return periodicWave; 86 return periodicWave;
87 } 87 }
88 88
89 PeriodicWave::PeriodicWave(float sampleRate) 89 PeriodicWave::PeriodicWave(float sampleRate)
90 : m_sampleRate(sampleRate) 90 : m_sampleRate(sampleRate)
91 , m_periodicWaveSize(PeriodicWaveSize) 91 , m_periodicWaveSize(PeriodicWaveSize)
92 , m_numberOfRanges(NumberOfRanges) 92 , m_numberOfRanges(NumberOfRanges)
93 , m_centsPerRange(CentsPerRange) 93 , m_centsPerRange(CentsPerRange)
94 { 94 {
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 realP[n] = 0; 296 realP[n] = 0;
297 imagP[n] = b; 297 imagP[n] = b;
298 } 298 }
299 299
300 createBandLimitedTables(realP, imagP, halfSize); 300 createBandLimitedTables(realP, imagP, halfSize);
301 } 301 }
302 302
303 } // namespace WebCore 303 } // namespace WebCore
304 304
305 #endif // ENABLE(WEB_AUDIO) 305 #endif // ENABLE(WEB_AUDIO)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698