OLD | NEW |
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 15 matching lines...) Expand all Loading... |
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 */ | 27 */ |
28 | 28 |
29 #include "config.h" | 29 #include "config.h" |
30 | 30 |
31 #if ENABLE(WEB_AUDIO) | 31 #if ENABLE(WEB_AUDIO) |
32 | 32 |
33 #include "HRTFDatabase.h" | 33 #include "HRTFDatabase.h" |
34 | 34 |
35 #include "HRTFElevation.h" | 35 #include "HRTFElevation.h" |
36 #include "PlatformMemoryInstrumentation.h" | |
37 #include <wtf/MemoryInstrumentationVector.h> | |
38 | 36 |
39 using namespace std; | 37 using namespace std; |
40 | 38 |
41 namespace WebCore { | 39 namespace WebCore { |
42 | 40 |
43 const int HRTFDatabase::MinElevation = -45; | 41 const int HRTFDatabase::MinElevation = -45; |
44 const int HRTFDatabase::MaxElevation = 90; | 42 const int HRTFDatabase::MaxElevation = 90; |
45 const unsigned HRTFDatabase::RawElevationAngleSpacing = 15; | 43 const unsigned HRTFDatabase::RawElevationAngleSpacing = 15; |
46 const unsigned HRTFDatabase::NumberOfRawElevations = 10; // -45 -> +90 (each 15
degrees) | 44 const unsigned HRTFDatabase::NumberOfRawElevations = 10; // -45 -> +90 (each 15
degrees) |
47 const unsigned HRTFDatabase::InterpolationFactor = 1; | 45 const unsigned HRTFDatabase::InterpolationFactor = 1; |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 unsigned HRTFDatabase::indexFromElevationAngle(double elevationAngle) | 112 unsigned HRTFDatabase::indexFromElevationAngle(double elevationAngle) |
115 { | 113 { |
116 // Clamp to allowed range. | 114 // Clamp to allowed range. |
117 elevationAngle = max(static_cast<double>(MinElevation), elevationAngle); | 115 elevationAngle = max(static_cast<double>(MinElevation), elevationAngle); |
118 elevationAngle = min(static_cast<double>(MaxElevation), elevationAngle); | 116 elevationAngle = min(static_cast<double>(MaxElevation), elevationAngle); |
119 | 117 |
120 unsigned elevationIndex = static_cast<int>(InterpolationFactor * (elevationA
ngle - MinElevation) / RawElevationAngleSpacing); | 118 unsigned elevationIndex = static_cast<int>(InterpolationFactor * (elevationA
ngle - MinElevation) / RawElevationAngleSpacing); |
121 return elevationIndex; | 119 return elevationIndex; |
122 } | 120 } |
123 | 121 |
124 void HRTFDatabase::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const | |
125 { | |
126 MemoryClassInfo info(memoryObjectInfo, this, PlatformMemoryTypes::AudioShare
dData); | |
127 info.addMember(m_elevations, "elevations"); | |
128 } | |
129 | |
130 } // namespace WebCore | 122 } // namespace WebCore |
131 | 123 |
132 #endif // ENABLE(WEB_AUDIO) | 124 #endif // ENABLE(WEB_AUDIO) |
OLD | NEW |