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

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: Simplifying AudioBus::copyFrom 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&); 154 void discreteSumFrom(const AudioBus&);
155 void discreteCopyFrom(const AudioBus&); 155 void discreteCopyFrom(const AudioBus&);
156 void speakersSumFrom(const AudioBus&); 156
157 void discreteSumFrom(const AudioBus&); 157 // Up/down-mix by in-place summing upon the existing channel content.
158 void speakersSumFrom5_1_ToMono(const AudioBus&); 158 // http://webaudio.github.io/web-audio-api/#channel-up-mixing-and-down-mixin g
159 void processUpMix(const AudioBus&);
160 void processDownMix(const AudioBus&);
159 161
160 size_t m_length; 162 size_t m_length;
161 Vector<OwnPtr<AudioChannel>> m_channels; 163 Vector<OwnPtr<AudioChannel>> m_channels;
162 int m_layout; 164 int m_layout;
163 float m_busGain; 165 float m_busGain;
164 OwnPtr<AudioFloatArray> m_dezipperGainValues; 166 OwnPtr<AudioFloatArray> m_dezipperGainValues;
165 bool m_isFirstTime; 167 bool m_isFirstTime;
166 float m_sampleRate; // 0.0 if unknown or N/A 168 float m_sampleRate; // 0.0 if unknown or N/A
167 }; 169 };
168 170
169 } // namespace blink 171 } // namespace blink
170 172
171 #endif // AudioBus_h 173 #endif // AudioBus_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698