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

Side by Side Diff: third_party/WebKit/Source/platform/audio/AudioBus.h

Issue 1773973002: Complete the implementation of up/down-mixing rules for AudioNode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cleaning up and removing casting (after l-g-t-m) Created 4 years, 9 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
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 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 // Makes maximum absolute value == 1.0 (if possible). 144 // Makes maximum absolute value == 1.0 (if possible).
145 void normalize(); 145 void normalize();
146 146
147 static PassRefPtr<AudioBus> loadPlatformResource(const char* name, float sam pleRate); 147 static PassRefPtr<AudioBus> loadPlatformResource(const char* name, float sam pleRate);
148 148
149 protected: 149 protected:
150 AudioBus() { } 150 AudioBus() { }
151 151
152 AudioBus(unsigned numberOfChannels, size_t length, bool allocate); 152 AudioBus(unsigned numberOfChannels, size_t length, bool allocate);
153 153
154 void speakersCopyFrom(const AudioBus&);
155 void discreteCopyFrom(const AudioBus&);
156 void speakersSumFrom(const AudioBus&);
157 void discreteSumFrom(const AudioBus&); 154 void discreteSumFrom(const AudioBus&);
158 void speakersSumFrom5_1_ToMono(const AudioBus&); 155
156 // Up/down-mix by in-place summing upon the existing channel content.
157 // http://webaudio.github.io/web-audio-api/#channel-up-mixing-and-down-mixin g
158 void sumFromByUpMixing(const AudioBus&);
159 void sumFromByDownMixing(const AudioBus&);
159 160
160 size_t m_length; 161 size_t m_length;
161 Vector<OwnPtr<AudioChannel>> m_channels; 162 Vector<OwnPtr<AudioChannel>> m_channels;
162 int m_layout; 163 int m_layout;
163 float m_busGain; 164 float m_busGain;
164 OwnPtr<AudioFloatArray> m_dezipperGainValues; 165 OwnPtr<AudioFloatArray> m_dezipperGainValues;
165 bool m_isFirstTime; 166 bool m_isFirstTime;
166 float m_sampleRate; // 0.0 if unknown or N/A 167 float m_sampleRate; // 0.0 if unknown or N/A
167 }; 168 };
168 169
169 } // namespace blink 170 } // namespace blink
170 171
171 #endif // AudioBus_h 172 #endif // AudioBus_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698