Repository navigation
Expand file tree
/
Copy pathJUCE-76589ee.patch
More file actions
46 lines (40 loc) · 2.8 KB
/
Copy pathJUCE-76589ee.patch
File metadata and controls
46 lines (40 loc) · 2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
diff --git a/modules/juce_audio_devices/native/juce_android_Oboe.cpp b/modules/juce_audio_devices/native/juce_android_Oboe.cpp
index 42a9efc91..9a2dade31 100644
--- a/modules/juce_audio_devices/native/juce_android_Oboe.cpp
+++ b/modules/juce_audio_devices/native/juce_android_Oboe.cpp
@@ -797,8 +797,9 @@ private:
jassert (stream->getDirection() == oboe::Direction::Output && stream == outputStream->getNativeStream());
// Read input from Oboe
- inputStreamSampleBuffer.clear();
- inputStreamNativeBuffer.calloc (static_cast<size_t> (numInputChannels * bufferSize));
+ const auto expandedBufferSize = jmax (inputStreamNativeBuffer.size(),
+ static_cast<size_t> (numInputChannels * jmax (bufferSize, numFrames)));
+ inputStreamNativeBuffer.resize (expandedBufferSize);
if (inputStream != nullptr)
{
@@ -811,17 +812,17 @@ private:
return oboe::DataCallbackResult::Continue;
}
- auto result = inputStream->getNativeStream()->read (inputStreamNativeBuffer.getData(), numFrames, 0);
+ auto result = inputStream->getNativeStream()->read (inputStreamNativeBuffer.data(), numFrames, 0);
if (result)
{
auto referringDirectlyToOboeData = OboeAudioIODeviceBufferHelpers<SampleType>
- ::referAudioBufferDirectlyToOboeIfPossible (inputStreamNativeBuffer.get(),
+ ::referAudioBufferDirectlyToOboeIfPossible (inputStreamNativeBuffer.data(),
inputStreamSampleBuffer,
result.value());
if (! referringDirectlyToOboeData)
- OboeAudioIODeviceBufferHelpers<SampleType>::convertFromOboe (inputStreamNativeBuffer.get(), inputStreamSampleBuffer, result.value());
+ OboeAudioIODeviceBufferHelpers<SampleType>::convertFromOboe (inputStreamNativeBuffer.data(), inputStreamSampleBuffer, result.value());
}
else
{
@@ -970,7 +971,7 @@ private:
}
}
- HeapBlock<SampleType> inputStreamNativeBuffer;
+ std::vector<SampleType> inputStreamNativeBuffer;
AudioBuffer<float> inputStreamSampleBuffer,
outputStreamSampleBuffer;
Atomic<int> audioCallbackGuard { 0 },