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

Unified Diff: Source/platform/audio/ReverbConvolver.cpp

Issue 1214463003: Split "Online" and "Offline" AudioContext processing (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
« Source/platform/audio/Reverb.h ('K') | « Source/platform/audio/ReverbConvolver.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/platform/audio/ReverbConvolver.cpp
diff --git a/Source/platform/audio/ReverbConvolver.cpp b/Source/platform/audio/ReverbConvolver.cpp
index 0f05ecc3496238a988172a8de3c60fd194772863..1ab671357b081767dd5582a9175c41db9e4232c7 100644
--- a/Source/platform/audio/ReverbConvolver.cpp
+++ b/Source/platform/audio/ReverbConvolver.cpp
@@ -57,7 +57,7 @@ const size_t RealtimeFrameLimit = 8192 + 4096; // ~278msec @ 44.1KHz
const size_t MinFFTSize = 128;
const size_t MaxRealtimeFFTSize = 2048;
-ReverbConvolver::ReverbConvolver(AudioChannel* impulseResponse, size_t renderSliceSize, size_t maxFFTSize, size_t convolverRenderPhase, bool useBackgroundThreads)
+ReverbConvolver::ReverbConvolver(AudioChannel* impulseResponse, size_t renderSliceSize, size_t maxFFTSize, size_t convolverRenderPhase, bool hasRealtimeConstraint)
: m_impulseResponseLength(impulseResponse->length())
, m_accumulationBuffer(impulseResponse->length() + renderSliceSize)
, m_inputBuffer(InputBufferSize)
@@ -70,10 +70,6 @@ ReverbConvolver::ReverbConvolver(AudioChannel* impulseResponse, size_t renderSli
// processing slices. This way we amortize the cost over more processing slices.
m_maxRealtimeFFTSize = MaxRealtimeFFTSize;
- // For the moment, a good way to know if we have real-time constraint is to check if we're using background threads.
- // Otherwise, assume we're being run from a command-line tool.
- bool hasRealtimeConstraint = useBackgroundThreads;
-
const float* response = impulseResponse->data();
size_t totalResponseLength = impulseResponse->length();
@@ -100,7 +96,7 @@ ReverbConvolver::ReverbConvolver(AudioChannel* impulseResponse, size_t renderSli
bool isBackgroundStage = false;
- if (useBackgroundThreads && stageOffset > RealtimeFrameLimit) {
+ if (hasRealtimeConstraint && stageOffset > RealtimeFrameLimit) {
m_backgroundStages.append(stage.release());
isBackgroundStage = true;
} else
@@ -122,7 +118,7 @@ ReverbConvolver::ReverbConvolver(AudioChannel* impulseResponse, size_t renderSli
// Start up background thread
// FIXME: would be better to up the thread priority here. It doesn't need to be real-time, but higher than the default...
- if (useBackgroundThreads && m_backgroundStages.size() > 0)
+ if (hasRealtimeConstraint && m_backgroundStages.size() > 0)
m_backgroundThread = adoptPtr(Platform::current()->createThread("Reverb convolution background thread"));
}
« Source/platform/audio/Reverb.h ('K') | « Source/platform/audio/ReverbConvolver.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698