1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Android: Update Oboe to 1.9.0

This commit is contained in:
reuk 2024-11-04 16:20:20 +00:00
parent 93640b63ff
commit 90fbdfeb00
No known key found for this signature in database
GPG key ID: FCB43929F012EE5C
54 changed files with 695 additions and 123 deletions

View file

@ -313,6 +313,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp"
@ -321,6 +323,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp"
@ -2895,6 +2899,8 @@ set_source_files_properties(
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp"
@ -2903,6 +2909,8 @@ set_source_files_properties(
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp"

View file

@ -473,6 +473,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -485,6 +488,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -3367,10 +3373,12 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/>

View file

@ -1162,6 +1162,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -1174,6 +1177,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -4554,6 +4560,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
@ -4566,6 +4575,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>

View file

@ -473,6 +473,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -485,6 +488,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -3367,10 +3373,12 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/>

View file

@ -1162,6 +1162,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -1174,6 +1177,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -4554,6 +4560,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
@ -4566,6 +4575,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>

View file

@ -268,6 +268,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp"
@ -276,6 +278,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp"
@ -2533,6 +2537,8 @@ set_source_files_properties(
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp"
@ -2541,6 +2547,8 @@ set_source_files_properties(
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp"

View file

@ -433,6 +433,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -445,6 +448,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -2939,10 +2945,12 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/>

View file

@ -979,6 +979,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -991,6 +994,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -3912,6 +3918,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
@ -3924,6 +3933,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>

View file

@ -301,6 +301,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp"
@ -309,6 +311,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp"
@ -2719,6 +2723,8 @@ set_source_files_properties(
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp"
@ -2727,6 +2733,8 @@ set_source_files_properties(
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp"

View file

@ -441,6 +441,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -453,6 +456,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -3119,10 +3125,12 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/>

View file

@ -1054,6 +1054,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -1066,6 +1069,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -4188,6 +4194,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
@ -4200,6 +4209,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>

View file

@ -441,6 +441,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -453,6 +456,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -3119,10 +3125,12 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/>

View file

@ -1054,6 +1054,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -1066,6 +1069,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -4188,6 +4194,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
@ -4200,6 +4209,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>

View file

@ -272,6 +272,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp"
@ -280,6 +282,8 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp"
@ -2617,6 +2621,8 @@ set_source_files_properties(
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SampleRateConverter.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI24.cpp"
@ -2625,6 +2631,8 @@ set_source_files_properties(
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SinkI32.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceFloat.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI8_24.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.cpp"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI16.h"
"../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp" "../../../../../modules/juce_audio_devices/native/oboe/src/flowgraph/SourceI24.cpp"

View file

@ -433,6 +433,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -445,6 +448,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -3030,10 +3036,12 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/>

View file

@ -1009,6 +1009,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -1021,6 +1024,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -4053,6 +4059,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
@ -4065,6 +4074,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>

View file

@ -449,6 +449,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -461,6 +464,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -3215,10 +3221,12 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/>

View file

@ -1075,6 +1075,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -1087,6 +1090,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -4302,6 +4308,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
@ -4314,6 +4323,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>

View file

@ -449,6 +449,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -461,6 +464,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -3215,10 +3221,12 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/>

View file

@ -1075,6 +1075,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -1087,6 +1090,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -4302,6 +4308,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
@ -4314,6 +4323,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>

View file

@ -432,6 +432,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -444,6 +447,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild> <ExcludedFromBuild>true</ExcludedFromBuild>
</ClCompile> </ClCompile>
@ -3006,10 +3012,12 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\RampLinear.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SampleRateConverter.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI32.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI24.h"/>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI32.h"/>

View file

@ -1006,6 +1006,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -1018,6 +1021,9 @@
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp"> <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.cpp">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClCompile> </ClCompile>
@ -4020,6 +4026,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SinkI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
@ -4032,6 +4041,9 @@
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceFloat.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI8_24.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h"> <ClInclude Include="..\..\..\..\modules\juce_audio_devices\native\oboe\src\flowgraph\SourceI16.h">
<Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter> <Filter>JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph</Filter>
</ClInclude> </ClInclude>

View file

@ -45,10 +45,12 @@ set (oboe_sources
src/flowgraph/SinkI16.cpp src/flowgraph/SinkI16.cpp
src/flowgraph/SinkI24.cpp src/flowgraph/SinkI24.cpp
src/flowgraph/SinkI32.cpp src/flowgraph/SinkI32.cpp
src/flowgraph/SinkI8_24.cpp
src/flowgraph/SourceFloat.cpp src/flowgraph/SourceFloat.cpp
src/flowgraph/SourceI16.cpp src/flowgraph/SourceI16.cpp
src/flowgraph/SourceI24.cpp src/flowgraph/SourceI24.cpp
src/flowgraph/SourceI32.cpp src/flowgraph/SourceI32.cpp
src/flowgraph/SourceI8_24.cpp
src/flowgraph/resampler/IntegerRatio.cpp src/flowgraph/resampler/IntegerRatio.cpp
src/flowgraph/resampler/LinearResampler.cpp src/flowgraph/resampler/LinearResampler.cpp
src/flowgraph/resampler/MultiChannelResampler.cpp src/flowgraph/resampler/MultiChannelResampler.cpp
@ -76,20 +78,19 @@ target_include_directories(oboe
PRIVATE src PRIVATE src
PUBLIC include) PUBLIC include)
# JUCE CHANGE STARTS HERE # Compile Flags:
# Enable -Werror when building debug config
# This comment provided for Apache License compliance. We've removed the extra warnings flags and # Enable -Ofast
# the `-Werror` option, to avoid cases where compilers produce unexpected errors and fail the build.
# We've also removed the explicit `-std=c++17` compile option, and replaced it with a more
# cmake-friendly way of specifying the language standard.
target_compile_options(oboe target_compile_options(oboe
PRIVATE PRIVATE
-std=c++17
-Wall
-Wextra-semi
-Wshadow
-Wshadow-field
"$<$<CONFIG:RELEASE>:-Ofast>" "$<$<CONFIG:RELEASE>:-Ofast>"
"$<$<CONFIG:DEBUG>:-O3>") "$<$<CONFIG:DEBUG>:-O3>"
target_compile_features(oboe PRIVATE cxx_std_17) "$<$<CONFIG:DEBUG>:-Werror>")
# JUCE CHANGE ENDS HERE
# Enable logging of D,V for debug builds # Enable logging of D,V for debug builds
target_compile_definitions(oboe PUBLIC $<$<CONFIG:DEBUG>:OBOE_ENABLE_LOGGING=1>) target_compile_definitions(oboe PUBLIC $<$<CONFIG:DEBUG>:OBOE_ENABLE_LOGGING=1>)

View file

@ -1,7 +1,7 @@
The files in this directory are reproduced from the official Oboe repository, which can be found at The files in this directory are reproduced from the official Oboe repository, which can be found at
github.com/google/oboe. github.com/google/oboe.
These files are from tag 1.8.0 (987538b). These files are from tag 1.9.0 (03242e9ef9495e418e6ae83954d239dc9193ec5c).
We've included only those parts of the original repository which are required to build the Oboe We've included only those parts of the original repository which are required to build the Oboe
library. Documentation, samples, tests, and other non-library items have been omitted. library. Documentation, samples, tests, and other non-library items have been omitted.

View file

@ -54,7 +54,7 @@ public:
*/ */
explicit AudioStream(const AudioStreamBuilder &builder); explicit AudioStream(const AudioStreamBuilder &builder);
virtual ~AudioStream() = default; virtual ~AudioStream();
/** /**
* Open a stream based on the current settings. * Open a stream based on the current settings.
@ -194,6 +194,13 @@ public:
* *
* This cannot be set higher than getBufferCapacity(). * This cannot be set higher than getBufferCapacity().
* *
* This should only be used with Output streams. It will
* be ignored for Input streams because they are generally kept as empty as possible.
*
* For OpenSL ES, this method only has an effect on output stream that do NOT
* use a callback. The blocking writes goes into a buffer in Oboe and the size of that
* buffer is controlled by this method.
*
* @param requestedFrames requested number of frames that can be filled without blocking * @param requestedFrames requested number of frames that can be filled without blocking
* @return the resulting buffer size in frames (obtained using value()) or an error (obtained * @return the resulting buffer size in frames (obtained using value()) or an error (obtained
* using error()) * using error())
@ -622,7 +629,7 @@ protected:
* This may be called internally at the end of a callback. * This may be called internally at the end of a callback.
* @param numFrames passed to the callback * @param numFrames passed to the callback
*/ */
virtual void endPerformanceHintInCallback(int32_t numFrames) {} virtual void endPerformanceHintInCallback(int32_t /*numFrames*/) {}
/** /**
* This will be called when the stream is closed just in case performance hints were enabled. * This will be called when the stream is closed just in case performance hints were enabled.

View file

@ -307,7 +307,7 @@ protected:
// Control whether Oboe can convert data formats to achieve optimal results. // Control whether Oboe can convert data formats to achieve optimal results.
bool mFormatConversionAllowed = false; bool mFormatConversionAllowed = false;
// Control whether and how Oboe can convert sample rates to achieve optimal results. // Control whether and how Oboe can convert sample rates to achieve optimal results.
SampleRateConversionQuality mSampleRateConversionQuality = SampleRateConversionQuality::None; SampleRateConversionQuality mSampleRateConversionQuality = SampleRateConversionQuality::Medium;
/** Validate stream parameters that might not be checked in lower layers */ /** Validate stream parameters that might not be checked in lower layers */
virtual Result isValidConfig() { virtual Result isValidConfig() {

View file

@ -466,6 +466,10 @@ public:
* It can also occur if the audio service fails or if an exclusive stream is stolen by * It can also occur if the audio service fails or if an exclusive stream is stolen by
* another stream. * another stream.
* *
* Note that error callbacks will only be called when a data callback has been specified
* and the stream is started. If you are not using a data callback then the read(), write()
* and requestStart() methods will return errors if the stream is disconnected.
*
* <strong>Important: See AudioStreamCallback for restrictions on what may be called * <strong>Important: See AudioStreamCallback for restrictions on what may be called
* from the callback methods.</strong> * from the callback methods.</strong>
* *
@ -556,7 +560,7 @@ public:
* *
* If you do the conversion in Oboe then you might still get a low latency stream. * If you do the conversion in Oboe then you might still get a low latency stream.
* *
* Default is SampleRateConversionQuality::None * Default is SampleRateConversionQuality::Medium
*/ */
AudioStreamBuilder *setSampleRateConversionQuality(SampleRateConversionQuality quality) { AudioStreamBuilder *setSampleRateConversionQuality(SampleRateConversionQuality quality) {
mSampleRateConversionQuality = quality; mSampleRateConversionQuality = quality;
@ -647,6 +651,14 @@ public:
private: private:
/**
* Use this internally to implement opening with a shared_ptr.
*
* @param stream pointer to a variable to receive the stream address
* @return OBOE_OK if successful or a negative error code.
*/
Result openStreamInternal(AudioStream **streamPP);
/** /**
* @param other * @param other
* @return true if channels, format and sample rate match * @return true if channels, format and sample rate match

View file

@ -48,7 +48,8 @@ public:
* write() on the stream that is making the callback. * write() on the stream that is making the callback.
* *
* Note that numFrames can vary unless AudioStreamBuilder::setFramesPerCallback() * Note that numFrames can vary unless AudioStreamBuilder::setFramesPerCallback()
* is called. * is called. If AudioStreamBuilder::setFramesPerCallback() is NOT called then
* numFrames should always be <= AudioStream::getFramesPerBurst().
* *
* Also note that this callback function should be considered a "real-time" function. * Also note that this callback function should be considered a "real-time" function.
* It must not do anything that could cause an unbounded delay because that can cause the * It must not do anything that could cause an unbounded delay because that can cause the

View file

@ -177,7 +177,7 @@ public:
* *
*/ */
DataCallbackResult onAudioReady( DataCallbackResult onAudioReady(
AudioStream *audioStream, AudioStream * /*audioStream*/,
void *audioData, void *audioData,
int numFrames) { int numFrames) {
DataCallbackResult callbackResult = DataCallbackResult::Continue; DataCallbackResult callbackResult = DataCallbackResult::Continue;

View file

@ -34,7 +34,7 @@
#define OBOE_VERSION_MAJOR 1 #define OBOE_VERSION_MAJOR 1
// Type: 8-bit unsigned int. Min value: 0 Max value: 255. See below for description. // Type: 8-bit unsigned int. Min value: 0 Max value: 255. See below for description.
#define OBOE_VERSION_MINOR 8 #define OBOE_VERSION_MINOR 9
// Type: 16-bit unsigned int. Min value: 0 Max value: 65535. See below for description. // Type: 16-bit unsigned int. Min value: 0 Max value: 65535. See below for description.
#define OBOE_VERSION_PATCH 0 #define OBOE_VERSION_PATCH 0

View file

@ -89,7 +89,7 @@ public:
if (loadSymbols()) return false; if (loadSymbols()) return false;
if (mAAudio_getMMapPolicy == nullptr) return false; if (mAAudio_getMMapPolicy == nullptr) return false;
int32_t policy = mAAudio_getMMapPolicy(); int32_t policy = mAAudio_getMMapPolicy();
return isPolicyEnabled(policy); return (policy == Unspecified) ? mMMapSupported : isPolicyEnabled(policy);
} }
bool isMMapSupported() { bool isMMapSupported() {

View file

@ -60,9 +60,13 @@ static aaudio_data_callback_result_t oboe_aaudio_data_callback_proc(
// This runs in its own thread. // This runs in its own thread.
// Only one of these threads will be launched from internalErrorCallback(). // Only one of these threads will be launched from internalErrorCallback().
// It calls app error callbacks from a static function in case the stream gets deleted. // It calls app error callbacks from a static function in case the stream gets deleted.
static void oboe_aaudio_error_thread_proc(AudioStreamAAudio *oboeStream, static void oboe_aaudio_error_thread_proc_common(AudioStreamAAudio *oboeStream,
Result error) { Result error) {
LOGD("%s(,%d) - entering >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", __func__, error); #if 0
LOGE("%s() sleep for 5 seconds", __func__);
usleep(5*1000*1000);
LOGD("%s() - woke up -------------------------", __func__);
#endif
AudioStreamErrorCallback *errorCallback = oboeStream->getErrorCallback(); AudioStreamErrorCallback *errorCallback = oboeStream->getErrorCallback();
if (errorCallback == nullptr) return; // should be impossible if (errorCallback == nullptr) return; // should be impossible
bool isErrorHandled = errorCallback->onError(oboeStream, error); bool isErrorHandled = errorCallback->onError(oboeStream, error);
@ -74,16 +78,24 @@ static void oboe_aaudio_error_thread_proc(AudioStreamAAudio *oboeStream,
// Warning, oboeStream may get deleted by this callback. // Warning, oboeStream may get deleted by this callback.
errorCallback->onErrorAfterClose(oboeStream, error); errorCallback->onErrorAfterClose(oboeStream, error);
} }
}
// Callback thread for raw pointers.
static void oboe_aaudio_error_thread_proc(AudioStreamAAudio *oboeStream,
Result error) {
LOGD("%s(,%d) - entering >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", __func__, error);
oboe_aaudio_error_thread_proc_common(oboeStream, error);
LOGD("%s() - exiting <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", __func__); LOGD("%s() - exiting <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", __func__);
} }
// This runs in its own thread. // Callback thread for shared pointers.
// Only one of these threads will be launched from internalErrorCallback().
// Prevents deletion of the stream if the app is using AudioStreamBuilder::openSharedStream()
static void oboe_aaudio_error_thread_proc_shared(std::shared_ptr<AudioStream> sharedStream, static void oboe_aaudio_error_thread_proc_shared(std::shared_ptr<AudioStream> sharedStream,
Result error) { Result error) {
LOGD("%s(,%d) - entering >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", __func__, error);
// Hold the shared pointer while we use the raw pointer.
AudioStreamAAudio *oboeStream = reinterpret_cast<AudioStreamAAudio*>(sharedStream.get()); AudioStreamAAudio *oboeStream = reinterpret_cast<AudioStreamAAudio*>(sharedStream.get());
oboe_aaudio_error_thread_proc(oboeStream, error); oboe_aaudio_error_thread_proc_common(oboeStream, error);
LOGD("%s() - exiting <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", __func__);
} }
namespace oboe { namespace oboe {
@ -528,7 +540,7 @@ DataCallbackResult AudioStreamAAudio::callOnAudioReady(AAudioStream * /*stream*/
if (result == DataCallbackResult::Stop) { if (result == DataCallbackResult::Stop) {
LOGD("Oboe callback returned DataCallbackResult::Stop"); LOGD("Oboe callback returned DataCallbackResult::Stop");
} else { } else {
LOGE("Oboe callback returned unexpected value = %d", result); LOGE("Oboe callback returned unexpected value. Error: %d", static_cast<int>(result));
} }
// Returning Stop caused various problems before S. See #1230 // Returning Stop caused various problems before S. See #1230

View file

@ -30,6 +30,12 @@ namespace oboe {
*/ */
AudioStream::AudioStream(const AudioStreamBuilder &builder) AudioStream::AudioStream(const AudioStreamBuilder &builder)
: AudioStreamBase(builder) { : AudioStreamBase(builder) {
LOGD("Constructor for AudioStream at %p", this);
}
AudioStream::~AudioStream() {
// This is to help debug use after free bugs.
LOGD("Destructor for AudioStream at %p", this);
} }
Result AudioStream::close() { Result AudioStream::close() {
@ -113,8 +119,12 @@ Result AudioStream::start(int64_t timeoutNanoseconds)
Result result = requestStart(); Result result = requestStart();
if (result != Result::OK) return result; if (result != Result::OK) return result;
if (timeoutNanoseconds <= 0) return result; if (timeoutNanoseconds <= 0) return result;
return waitForStateTransition(StreamState::Starting, result = waitForStateTransition(StreamState::Starting,
StreamState::Started, timeoutNanoseconds); StreamState::Started, timeoutNanoseconds);
if (result != Result::OK) {
LOGE("AudioStream::%s() timed out before moving from STARTING to STARTED", __func__);
}
return result;
} }
Result AudioStream::pause(int64_t timeoutNanoseconds) Result AudioStream::pause(int64_t timeoutNanoseconds)

View file

@ -89,9 +89,14 @@ bool AudioStreamBuilder::isCompatible(AudioStreamBase &other) {
} }
Result AudioStreamBuilder::openStream(AudioStream **streamPP) { Result AudioStreamBuilder::openStream(AudioStream **streamPP) {
LOGW("Passing AudioStream pointer deprecated, Use openStream(std::shared_ptr<oboe::AudioStream> &stream) instead.");
return openStreamInternal(streamPP);
}
Result AudioStreamBuilder::openStreamInternal(AudioStream **streamPP) {
auto result = isValidConfig(); auto result = isValidConfig();
if (result != Result::OK) { if (result != Result::OK) {
LOGW("%s() invalid config %d", __func__, result); LOGW("%s() invalid config. Error %s", __func__, oboe::convertToText(result));
return result; return result;
} }
@ -112,7 +117,7 @@ Result AudioStreamBuilder::openStream(AudioStream **streamPP) {
// Do we need to make a child stream and convert. // Do we need to make a child stream and convert.
if (conversionNeeded) { if (conversionNeeded) {
AudioStream *tempStream; AudioStream *tempStream;
result = childBuilder.openStream(&tempStream); result = childBuilder.openStreamInternal(&tempStream);
if (result != Result::OK) { if (result != Result::OK) {
return result; return result;
} }
@ -139,7 +144,9 @@ Result AudioStreamBuilder::openStream(AudioStream **streamPP) {
// Use childStream in a FilterAudioStream. // Use childStream in a FilterAudioStream.
LOGI("%s() create a FilterAudioStream for data conversion.", __func__); LOGI("%s() create a FilterAudioStream for data conversion.", __func__);
FilterAudioStream *filterStream = new FilterAudioStream(parentBuilder, tempStream); std::shared_ptr<AudioStream> childStream(tempStream);
FilterAudioStream *filterStream = new FilterAudioStream(parentBuilder, childStream);
childStream->setWeakThis(childStream);
result = filterStream->configureFlowGraph(); result = filterStream->configureFlowGraph();
if (result != Result::OK) { if (result != Result::OK) {
filterStream->close(); filterStream->close();
@ -202,6 +209,7 @@ Result AudioStreamBuilder::openStream(AudioStream **streamPP) {
} }
Result AudioStreamBuilder::openManagedStream(oboe::ManagedStream &stream) { Result AudioStreamBuilder::openManagedStream(oboe::ManagedStream &stream) {
LOGW("`openManagedStream` is deprecated. Use openStream(std::shared_ptr<oboe::AudioStream> &stream) instead.");
stream.reset(); stream.reset();
AudioStream *streamptr; AudioStream *streamptr;
auto result = openStream(&streamptr); auto result = openStream(&streamptr);
@ -212,7 +220,7 @@ Result AudioStreamBuilder::openManagedStream(oboe::ManagedStream &stream) {
Result AudioStreamBuilder::openStream(std::shared_ptr<AudioStream> &sharedStream) { Result AudioStreamBuilder::openStream(std::shared_ptr<AudioStream> &sharedStream) {
sharedStream.reset(); sharedStream.reset();
AudioStream *streamptr; AudioStream *streamptr;
auto result = openStream(&streamptr); auto result = openStreamInternal(&streamptr);
if (result == Result::OK) { if (result == Result::OK) {
sharedStream.reset(streamptr); sharedStream.reset(streamptr);
// Save a weak_ptr in the stream for use with callbacks. // Save a weak_ptr in the stream for use with callbacks.

View file

@ -92,14 +92,14 @@ Result DataConversionFlowGraph::configure(AudioStream *sourceStream, AudioStream
int32_t sinkSampleRate = sinkStream->getSampleRate(); int32_t sinkSampleRate = sinkStream->getSampleRate();
int32_t sinkFramesPerCallback = sinkStream->getFramesPerDataCallback(); int32_t sinkFramesPerCallback = sinkStream->getFramesPerDataCallback();
LOGI("%s() flowgraph converts channels: %d to %d, format: %d to %d" LOGI("%s() flowgraph converts channels: %d to %d, format: %s to %s"
", rate: %d to %d, cbsize: %d to %d, qual = %d", ", rate: %d to %d, cbsize: %d to %d, qual = %s",
__func__, __func__,
sourceChannelCount, sinkChannelCount, sourceChannelCount, sinkChannelCount,
sourceFormat, sinkFormat, oboe::convertToText(sourceFormat), oboe::convertToText(sinkFormat),
sourceSampleRate, sinkSampleRate, sourceSampleRate, sinkSampleRate,
sourceFramesPerCallback, sinkFramesPerCallback, sourceFramesPerCallback, sinkFramesPerCallback,
sourceStream->getSampleRateConversionQuality()); oboe::convertToText(sourceStream->getSampleRateConversionQuality()));
// Source // Source
// IF OUTPUT and using a callback then call back to the app using a SourceCaller. // IF OUTPUT and using a callback then call back to the app using a SourceCaller.
@ -128,7 +128,7 @@ Result DataConversionFlowGraph::configure(AudioStream *sourceStream, AudioStream
actualSourceFramesPerCallback); actualSourceFramesPerCallback);
break; break;
default: default:
LOGE("%s() Unsupported source caller format = %d", __func__, sourceFormat); LOGE("%s() Unsupported source caller format = %d", __func__, static_cast<int>(sourceFormat));
return Result::ErrorIllegalArgument; return Result::ErrorIllegalArgument;
} }
mSourceCaller->setStream(sourceStream); mSourceCaller->setStream(sourceStream);
@ -150,7 +150,7 @@ Result DataConversionFlowGraph::configure(AudioStream *sourceStream, AudioStream
mSource = std::make_unique<SourceI32>(sourceChannelCount); mSource = std::make_unique<SourceI32>(sourceChannelCount);
break; break;
default: default:
LOGE("%s() Unsupported source format = %d", __func__, sourceFormat); LOGE("%s() Unsupported source format = %d", __func__, static_cast<int>(sourceFormat));
return Result::ErrorIllegalArgument; return Result::ErrorIllegalArgument;
} }
if (isInput) { if (isInput) {
@ -226,7 +226,7 @@ Result DataConversionFlowGraph::configure(AudioStream *sourceStream, AudioStream
mSink = std::make_unique<SinkI32>(sinkChannelCount); mSink = std::make_unique<SinkI32>(sinkChannelCount);
break; break;
default: default:
LOGE("%s() Unsupported sink format = %d", __func__, sinkFormat); LOGE("%s() Unsupported sink format = %d", __func__, static_cast<int>(sinkFormat));
return Result::ErrorIllegalArgument;; return Result::ErrorIllegalArgument;;
} }
lastOutput->connect(&mSink->input); lastOutput->connect(&mSink->input);

View file

@ -38,9 +38,9 @@ public:
* *
* @param builder containing all the stream's attributes * @param builder containing all the stream's attributes
*/ */
FilterAudioStream(const AudioStreamBuilder &builder, AudioStream *childStream) FilterAudioStream(const AudioStreamBuilder &builder, std::shared_ptr<AudioStream> childStream)
: AudioStream(builder) : AudioStream(builder)
, mChildStream(childStream) { , mChildStream(childStream) {
// Intercept the callback if used. // Intercept the callback if used.
if (builder.isErrorCallbackSpecified()) { if (builder.isErrorCallbackSpecified()) {
mErrorCallback = mChildStream->swapErrorCallback(this); mErrorCallback = mChildStream->swapErrorCallback(this);
@ -66,10 +66,6 @@ public:
virtual ~FilterAudioStream() = default; virtual ~FilterAudioStream() = default;
AudioStream *getChildStream() const {
return mChildStream.get();
}
Result configureFlowGraph(); Result configureFlowGraph();
// Close child and parent. // Close child and parent.
@ -216,7 +212,7 @@ public:
private: private:
std::unique_ptr<AudioStream> mChildStream; // this stream wraps the child stream std::shared_ptr<AudioStream> mChildStream; // this stream wraps the child stream
std::unique_ptr<DataConversionFlowGraph> mFlowGraph; // for converting data std::unique_ptr<DataConversionFlowGraph> mFlowGraph; // for converting data
std::unique_ptr<uint8_t[]> mBlockingBuffer; // temp buffer for write() std::unique_ptr<uint8_t[]> mBlockingBuffer; // temp buffer for write()
double mRateScaler = 1.0; // ratio parent/child sample rates double mRateScaler = 1.0; // ratio parent/child sample rates

View file

@ -278,6 +278,20 @@ const char *convertToText<ChannelCount>(ChannelCount channelCount) {
} }
} }
template<>
const char *convertToText<SampleRateConversionQuality>(SampleRateConversionQuality sampleRateConversionQuality) {
switch (sampleRateConversionQuality) {
case SampleRateConversionQuality::None: return "None";
case SampleRateConversionQuality::Fastest: return "Fastest";
case SampleRateConversionQuality::Low: return "Low";
case SampleRateConversionQuality::Medium: return "Medium";
case SampleRateConversionQuality::High: return "High";
case SampleRateConversionQuality::Best: return "Best";
default: return "Unrecognized sample rate conversion quality";
}
}
std::string getPropertyString(const char * name) { std::string getPropertyString(const char * name) {
std::string result; std::string result;
#ifdef __ANDROID__ #ifdef __ANDROID__

View file

@ -17,6 +17,7 @@
#ifndef FLOWGRAPH_UTILITIES_H #ifndef FLOWGRAPH_UTILITIES_H
#define FLOWGRAPH_UTILITIES_H #define FLOWGRAPH_UTILITIES_H
#include <math.h>
#include <unistd.h> #include <unistd.h>
using namespace FLOWGRAPH_OUTER_NAMESPACE::flowgraph; using namespace FLOWGRAPH_OUTER_NAMESPACE::flowgraph;
@ -50,6 +51,20 @@ static int32_t clamp32FromFloat(float f)
return f > 0 ? f + 0.5 : f - 0.5; return f > 0 ? f + 0.5 : f - 0.5;
} }
/**
* Convert a single-precision floating point value to a Q0.23 integer value, stored in a
* 32 bit signed integer (technically stored as Q8.23, but clamped to Q0.23).
*
* Values outside the range [-1.0, 1.0) are properly clamped to -8388608 and 8388607,
* including -Inf and +Inf. NaN values are considered undefined, and behavior may change
* depending on hardware and future implementation of this function.
*/
static int32_t clamp24FromFloat(float f)
{
static const float scale = 1 << 23;
return (int32_t) lroundf(fmaxf(fminf(f * scale, scale - 1.f), -scale));
}
}; };
#endif // FLOWGRAPH_UTILITIES_H #endif // FLOWGRAPH_UTILITIES_H

View file

@ -28,7 +28,8 @@ SampleRateConverter::SampleRateConverter(int32_t channelCount,
void SampleRateConverter::reset() { void SampleRateConverter::reset() {
FlowGraphNode::reset(); FlowGraphNode::reset();
mInputCursor = kInitialCallCount; mInputCallCount = kInitialCallCount;
mInputCursor = 0;
} }
// Return true if there is a sample available. // Return true if there is a sample available.

View file

@ -54,7 +54,7 @@ private:
int32_t mNumValidInputFrames = 0; // number of valid frames currently in the input port buffer int32_t mNumValidInputFrames = 0; // number of valid frames currently in the input port buffer
// We need our own callCount for upstream calls because calls occur at a different rate. // We need our own callCount for upstream calls because calls occur at a different rate.
// This means we cannot have cyclic graphs or merges that contain an SRC. // This means we cannot have cyclic graphs or merges that contain an SRC.
int64_t mInputCallCount = 0; int64_t mInputCallCount = kInitialCallCount;
}; };

View file

@ -0,0 +1,55 @@
/*
* Copyright 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "FlowGraphNode.h"
#include "FlowgraphUtilities.h"
#include "SinkI8_24.h"
#if FLOWGRAPH_ANDROID_INTERNAL
#include <audio_utils/primitives.h>
#endif
using namespace FLOWGRAPH_OUTER_NAMESPACE::flowgraph;
SinkI8_24::SinkI8_24(int32_t channelCount)
: FlowGraphSink(channelCount) {}
int32_t SinkI8_24::read(void *data, int32_t numFrames) {
int32_t *intData = (int32_t *) data;
const int32_t channelCount = input.getSamplesPerFrame();
int32_t framesLeft = numFrames;
while (framesLeft > 0) {
// Run the graph and pull data through the input port.
int32_t framesRead = pullData(framesLeft);
if (framesRead <= 0) {
break;
}
const float *signal = input.getBuffer();
int32_t numSamples = framesRead * channelCount;
#if FLOWGRAPH_ANDROID_INTERNAL
memcpy_to_q8_23_from_float_with_clamp(intData, signal, numSamples);
intData += numSamples;
signal += numSamples;
#else
for (int i = 0; i < numSamples; i++) {
*intData++ = FlowgraphUtilities::clamp24FromFloat(*signal++);
}
#endif
framesLeft -= framesRead;
}
return numFrames - framesLeft;
}

View file

@ -0,0 +1,40 @@
/*
* Copyright 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef FLOWGRAPH_SINK_I8_24_H
#define FLOWGRAPH_SINK_I8_24_H
#include <stdint.h>
#include "FlowGraphNode.h"
namespace FLOWGRAPH_OUTER_NAMESPACE::flowgraph {
class SinkI8_24 : public FlowGraphSink {
public:
explicit SinkI8_24(int32_t channelCount);
~SinkI8_24() override = default;
int32_t read(void *data, int32_t numFrames) override;
const char *getName() override {
return "SinkI8_24";
}
};
} /* namespace FLOWGRAPH_OUTER_NAMESPACE::flowgraph */
#endif //FLOWGRAPH_SINK_I8_24_H

View file

@ -0,0 +1,54 @@
/*
* Copyright 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <algorithm>
#include <unistd.h>
#include "FlowGraphNode.h"
#include "SourceI8_24.h"
#if FLOWGRAPH_ANDROID_INTERNAL
#include <audio_utils/primitives.h>
#endif
using namespace FLOWGRAPH_OUTER_NAMESPACE::flowgraph;
SourceI8_24::SourceI8_24(int32_t channelCount)
: FlowGraphSourceBuffered(channelCount) {
}
int32_t SourceI8_24::onProcess(int32_t numFrames) {
float *floatData = output.getBuffer();
const int32_t channelCount = output.getSamplesPerFrame();
const int32_t framesLeft = mSizeInFrames - mFrameIndex;
const int32_t framesToProcess = std::min(numFrames, framesLeft);
const int32_t numSamples = framesToProcess * channelCount;
const int32_t *intBase = static_cast<const int32_t *>(mData);
const int32_t *intData = &intBase[mFrameIndex * channelCount];
#if FLOWGRAPH_ANDROID_INTERNAL
memcpy_to_float_from_q8_23(floatData, intData, numSamples);
#else
for (int i = 0; i < numSamples; i++) {
*floatData++ = *intData++ * kScale;
}
#endif
mFrameIndex += framesToProcess;
return framesToProcess;
}

View file

@ -0,0 +1,42 @@
/*
* Copyright 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef FLOWGRAPH_SOURCE_I8_24_H
#define FLOWGRAPH_SOURCE_I8_24_H
#include <stdint.h>
#include "FlowGraphNode.h"
namespace FLOWGRAPH_OUTER_NAMESPACE::flowgraph {
class SourceI8_24 : public FlowGraphSourceBuffered {
public:
explicit SourceI8_24(int32_t channelCount);
~SourceI8_24() override = default;
int32_t onProcess(int32_t numFrames) override;
const char *getName() override {
return "SourceI8_24";
}
private:
static constexpr float kScale = 1.0 / (1UL << 23);
};
} /* namespace FLOWGRAPH_OUTER_NAMESPACE::flowgraph */
#endif //FLOWGRAPH_SOURCE_I8_24_H

View file

@ -120,7 +120,7 @@ void MultiChannelResampler::writeFrame(const float *frame) {
} }
float MultiChannelResampler::sinc(float radians) { float MultiChannelResampler::sinc(float radians) {
if (abs(radians) < 1.0e-9) return 1.0f; // avoid divide by zero if (fabsf(radians) < 1.0e-9f) return 1.0f; // avoid divide by zero
return sinf(radians) / radians; // Sinc function return sinf(radians) / radians; // Sinc function
} }

View file

@ -16,9 +16,6 @@
#include <cassert> #include <cassert>
#include <SLES/OpenSLES.h>
#include <SLES/OpenSLES_Android.h>
#include "common/OboeDebug.h" #include "common/OboeDebug.h"
#include "oboe/AudioStreamBuilder.h" #include "oboe/AudioStreamBuilder.h"
#include "AudioInputStreamOpenSLES.h" #include "AudioInputStreamOpenSLES.h"
@ -151,8 +148,8 @@ Result AudioInputStreamOpenSLES::open() {
// Configure the stream. // Configure the stream.
result = (*mObjectInterface)->GetInterface(mObjectInterface, result = (*mObjectInterface)->GetInterface(mObjectInterface,
SL_IID_ANDROIDCONFIGURATION, EngineOpenSLES::getInstance().getIidAndroidConfiguration(),
&configItf); &configItf);
if (SL_RESULT_SUCCESS != result) { if (SL_RESULT_SUCCESS != result) {
LOGW("%s() GetInterface(SL_IID_ANDROIDCONFIGURATION) failed with %s", LOGW("%s() GetInterface(SL_IID_ANDROIDCONFIGURATION) failed with %s",
@ -190,7 +187,9 @@ Result AudioInputStreamOpenSLES::open() {
goto error; goto error;
} }
result = (*mObjectInterface)->GetInterface(mObjectInterface, SL_IID_RECORD, &mRecordInterface); result = (*mObjectInterface)->GetInterface(mObjectInterface,
EngineOpenSLES::getInstance().getIidRecord(),
&mRecordInterface);
if (SL_RESULT_SUCCESS != result) { if (SL_RESULT_SUCCESS != result) {
LOGE("GetInterface RECORD result:%s", getSLErrStr(result)); LOGE("GetInterface RECORD result:%s", getSLErrStr(result));
goto error; goto error;

View file

@ -18,10 +18,8 @@
#define AUDIO_INPUT_STREAM_OPENSL_ES_H_ #define AUDIO_INPUT_STREAM_OPENSL_ES_H_
#include <SLES/OpenSLES.h>
#include <SLES/OpenSLES_Android.h>
#include "oboe/Oboe.h" #include "oboe/Oboe.h"
#include "EngineOpenSLES.h"
#include "AudioStreamOpenSLES.h" #include "AudioStreamOpenSLES.h"
namespace oboe { namespace oboe {

View file

@ -16,8 +16,6 @@
#include <cassert> #include <cassert>
#include <SLES/OpenSLES.h>
#include <SLES/OpenSLES_Android.h>
#include <common/AudioClock.h> #include <common/AudioClock.h>
#include "common/OboeDebug.h" #include "common/OboeDebug.h"
@ -30,9 +28,10 @@
using namespace oboe; using namespace oboe;
static SLuint32 OpenSLES_convertOutputUsage(Usage oboeUsage) { static SLuint32 OpenSLES_convertOutputUsage(Usage oboeUsage) {
SLuint32 openslStream = SL_ANDROID_STREAM_MEDIA; SLuint32 openslStream;
switch(oboeUsage) { switch(oboeUsage) {
case Usage::Media: case Usage::Media:
case Usage::Game:
openslStream = SL_ANDROID_STREAM_MEDIA; openslStream = SL_ANDROID_STREAM_MEDIA;
break; break;
case Usage::VoiceCommunication: case Usage::VoiceCommunication:
@ -43,18 +42,15 @@ static SLuint32 OpenSLES_convertOutputUsage(Usage oboeUsage) {
openslStream = SL_ANDROID_STREAM_ALARM; openslStream = SL_ANDROID_STREAM_ALARM;
break; break;
case Usage::Notification: case Usage::Notification:
case Usage::NotificationRingtone:
case Usage::NotificationEvent: case Usage::NotificationEvent:
openslStream = SL_ANDROID_STREAM_NOTIFICATION; openslStream = SL_ANDROID_STREAM_NOTIFICATION;
break; break;
case Usage::NotificationRingtone:
openslStream = SL_ANDROID_STREAM_RING;
break;
case Usage::AssistanceAccessibility: case Usage::AssistanceAccessibility:
case Usage::AssistanceNavigationGuidance: case Usage::AssistanceNavigationGuidance:
case Usage::AssistanceSonification: case Usage::AssistanceSonification:
openslStream = SL_ANDROID_STREAM_SYSTEM;
break;
case Usage::Game:
openslStream = SL_ANDROID_STREAM_MEDIA;
break;
case Usage::Assistant: case Usage::Assistant:
default: default:
openslStream = SL_ANDROID_STREAM_SYSTEM; openslStream = SL_ANDROID_STREAM_SYSTEM;
@ -182,8 +178,8 @@ Result AudioOutputStreamOpenSLES::open() {
// Configure the stream. // Configure the stream.
result = (*mObjectInterface)->GetInterface(mObjectInterface, result = (*mObjectInterface)->GetInterface(mObjectInterface,
SL_IID_ANDROIDCONFIGURATION, EngineOpenSLES::getInstance().getIidAndroidConfiguration(),
(void *)&configItf); (void *)&configItf);
if (SL_RESULT_SUCCESS != result) { if (SL_RESULT_SUCCESS != result) {
LOGW("%s() GetInterface(SL_IID_ANDROIDCONFIGURATION) failed with %s", LOGW("%s() GetInterface(SL_IID_ANDROIDCONFIGURATION) failed with %s",
__func__, getSLErrStr(result)); __func__, getSLErrStr(result));
@ -209,7 +205,9 @@ Result AudioOutputStreamOpenSLES::open() {
goto error; goto error;
} }
result = (*mObjectInterface)->GetInterface(mObjectInterface, SL_IID_PLAY, &mPlayInterface); result = (*mObjectInterface)->GetInterface(mObjectInterface,
EngineOpenSLES::getInstance().getIidPlay(),
&mPlayInterface);
if (SL_RESULT_SUCCESS != result) { if (SL_RESULT_SUCCESS != result) {
LOGE("GetInterface PLAY result:%s", getSLErrStr(result)); LOGE("GetInterface PLAY result:%s", getSLErrStr(result));
goto error; goto error;
@ -374,7 +372,7 @@ Result AudioOutputStreamOpenSLES::requestFlush_l() {
} else { } else {
SLresult slResult = (*mSimpleBufferQueueInterface)->Clear(mSimpleBufferQueueInterface); SLresult slResult = (*mSimpleBufferQueueInterface)->Clear(mSimpleBufferQueueInterface);
if (slResult != SL_RESULT_SUCCESS){ if (slResult != SL_RESULT_SUCCESS){
LOGW("Failed to clear buffer queue. OpenSLES error: %d", result); LOGW("Failed to clear buffer queue. OpenSLES error: %s", getSLErrStr(slResult));
result = Result::ErrorInternal; result = Result::ErrorInternal;
} }
} }

View file

@ -18,10 +18,8 @@
#define AUDIO_OUTPUT_STREAM_OPENSL_ES_H_ #define AUDIO_OUTPUT_STREAM_OPENSL_ES_H_
#include <SLES/OpenSLES.h>
#include <SLES/OpenSLES_Android.h>
#include "oboe/Oboe.h" #include "oboe/Oboe.h"
#include "EngineOpenSLES.h"
#include "AudioStreamOpenSLES.h" #include "AudioStreamOpenSLES.h"
namespace oboe { namespace oboe {

View file

@ -16,13 +16,12 @@
#include <cassert> #include <cassert>
#include <android/log.h> #include <android/log.h>
#include <SLES/OpenSLES.h>
#include <SLES/OpenSLES_Android.h>
#include <oboe/AudioStream.h> #include <oboe/AudioStream.h>
#include <common/AudioClock.h> #include <common/AudioClock.h>
#include "common/OboeDebug.h" #include "common/OboeDebug.h"
#include "oboe/AudioStreamBuilder.h" #include "oboe/AudioStreamBuilder.h"
#include "EngineOpenSLES.h"
#include "AudioStreamOpenSLES.h" #include "AudioStreamOpenSLES.h"
#include "OpenSLESUtilities.h" #include "OpenSLESUtilities.h"
@ -72,8 +71,8 @@ Result AudioStreamOpenSLES::open() {
// OpenSL ES only supports I16 and Float // OpenSL ES only supports I16 and Float
if (mFormat != AudioFormat::I16 && mFormat != AudioFormat::Float) { if (mFormat != AudioFormat::I16 && mFormat != AudioFormat::Float) {
LOGW("%s() Android's OpenSL ES implementation only supports I16 and Float. Format: %d", LOGW("%s() Android's OpenSL ES implementation only supports I16 and Float. Format: %s",
__func__, mFormat); __func__, oboe::convertToText(mFormat));
return Result::ErrorInvalidFormat; return Result::ErrorInvalidFormat;
} }
@ -422,7 +421,7 @@ bool AudioStreamOpenSLES::processBufferCallback(SLAndroidSimpleBufferQueueItf bq
LOGD("Oboe callback returned Stop"); LOGD("Oboe callback returned Stop");
shouldStopStream = true; shouldStopStream = true;
} else { } else {
LOGW("Oboe callback returned unexpected value = %d", result); LOGW("Oboe callback returned unexpected value = %d", static_cast<int>(result));
shouldStopStream = true; shouldStopStream = true;
} }
if (shouldStopStream) { if (shouldStopStream) {
@ -442,8 +441,9 @@ static void bqCallbackGlue(SLAndroidSimpleBufferQueueItf bq, void *context) {
SLresult AudioStreamOpenSLES::registerBufferQueueCallback() { SLresult AudioStreamOpenSLES::registerBufferQueueCallback() {
// The BufferQueue // The BufferQueue
SLresult result = (*mObjectInterface)->GetInterface(mObjectInterface, SL_IID_ANDROIDSIMPLEBUFFERQUEUE, SLresult result = (*mObjectInterface)->GetInterface(mObjectInterface,
&mSimpleBufferQueueInterface); EngineOpenSLES::getInstance().getIidAndroidSimpleBufferQueue(),
&mSimpleBufferQueueInterface);
if (SL_RESULT_SUCCESS != result) { if (SL_RESULT_SUCCESS != result) {
LOGE("get buffer queue interface:%p result:%s", LOGE("get buffer queue interface:%p result:%s",
mSimpleBufferQueueInterface, mSimpleBufferQueueInterface,

View file

@ -19,9 +19,6 @@
#include <memory> #include <memory>
#include <SLES/OpenSLES.h>
#include <SLES/OpenSLES_Android.h>
#include "oboe/Oboe.h" #include "oboe/Oboe.h"
#include "common/MonotonicCounter.h" #include "common/MonotonicCounter.h"
#include "opensles/AudioStreamBuffered.h" #include "opensles/AudioStreamBuffered.h"

View file

@ -15,6 +15,7 @@
*/ */
#include <dlfcn.h> #include <dlfcn.h>
#include "common/OboeDebug.h" #include "common/OboeDebug.h"
#include "EngineOpenSLES.h" #include "EngineOpenSLES.h"
#include "OpenSLESUtilities.h" #include "OpenSLESUtilities.h"
@ -24,42 +25,94 @@ using namespace oboe;
// OpenSL ES is deprecated in SDK 30. // OpenSL ES is deprecated in SDK 30.
// So we use custom dynamic linking to access the library. // So we use custom dynamic linking to access the library.
#define LIB_OPENSLES_NAME "libOpenSLES.so" #define LIB_OPENSLES_NAME "libOpenSLES.so"
typedef SLresult (*prototype_slCreateEngine)(
SLObjectItf *pEngine,
SLuint32 numOptions,
const SLEngineOption *pEngineOptions,
SLuint32 numInterfaces,
const SLInterfaceID *pInterfaceIds,
const SLboolean *pInterfaceRequired
);
static prototype_slCreateEngine gFunction_slCreateEngine = nullptr;
static void *gLibOpenSlesLibraryHandle = nullptr;
// Load the OpenSL ES library and the one primary entry point.
// @return true if linked OK
static bool linkOpenSLES() {
if (gLibOpenSlesLibraryHandle == nullptr && gFunction_slCreateEngine == nullptr) {
// Use RTLD_NOW to avoid the unpredictable behavior that RTLD_LAZY can cause.
// Also resolving all the links now will prevent a run-time penalty later.
gLibOpenSlesLibraryHandle = dlopen(LIB_OPENSLES_NAME, RTLD_NOW);
if (gLibOpenSlesLibraryHandle == nullptr) {
LOGE("linkOpenSLES() could not find " LIB_OPENSLES_NAME);
} else {
gFunction_slCreateEngine = (prototype_slCreateEngine) dlsym(
gLibOpenSlesLibraryHandle,
"slCreateEngine");
LOGD("linkOpenSLES(): dlsym(%s) returned %p", "slCreateEngine",
gFunction_slCreateEngine);
}
}
return gFunction_slCreateEngine != nullptr;
}
EngineOpenSLES &EngineOpenSLES::getInstance() { EngineOpenSLES &EngineOpenSLES::getInstance() {
static EngineOpenSLES sInstance; static EngineOpenSLES sInstance;
return sInstance; return sInstance;
} }
// Satisfy extern in OpenSLES.h
// These are required because of b/337360630, which was causing
// Oboe to have link failures if libOpenSLES.so was not available.
SL_API const SLInterfaceID SL_IID_ENGINE = nullptr;
SL_API const SLInterfaceID SL_IID_ANDROIDSIMPLEBUFFERQUEUE = nullptr;
SL_API const SLInterfaceID SL_IID_ANDROIDCONFIGURATION = nullptr;
SL_API const SLInterfaceID SL_IID_RECORD = nullptr;
SL_API const SLInterfaceID SL_IID_BUFFERQUEUE = nullptr;
SL_API const SLInterfaceID SL_IID_VOLUME = nullptr;
SL_API const SLInterfaceID SL_IID_PLAY = nullptr;
static const char *getSafeDlerror() {
static const char *defaultMessage = "not found?";
char *errorMessage = dlerror();
return (errorMessage == nullptr) ? defaultMessage : errorMessage;
}
// Load the OpenSL ES library and the one primary entry point.
// @return true if linked OK
bool EngineOpenSLES::linkOpenSLES() {
if (mDynamicLinkState == kLinkStateBad) {
LOGE("%s(), OpenSL ES not available, based on previous link failure.", __func__);
} else if (mDynamicLinkState == kLinkStateUninitialized) {
// Set to BAD now in case we return because of an error.
// This is safe form race conditions because this function is always called
// under mLock amd the state is only accessed from this function.
mDynamicLinkState = kLinkStateBad;
// Use RTLD_NOW to avoid the unpredictable behavior that RTLD_LAZY can cause.
// Also resolving all the links now will prevent a run-time penalty later.
mLibOpenSlesLibraryHandle = dlopen(LIB_OPENSLES_NAME, RTLD_NOW);
if (mLibOpenSlesLibraryHandle == nullptr) {
LOGE("%s() could not dlopen(%s), %s", __func__, LIB_OPENSLES_NAME, getSafeDlerror());
return false;
} else {
mFunction_slCreateEngine = (prototype_slCreateEngine) dlsym(
mLibOpenSlesLibraryHandle,
"slCreateEngine");
LOGD("%s(): dlsym(%s) returned %p", __func__,
"slCreateEngine", mFunction_slCreateEngine);
if (mFunction_slCreateEngine == nullptr) {
LOGE("%s(): dlsym(slCreateEngine) returned null, %s", __func__, getSafeDlerror());
return false;
}
// Load IID interfaces.
LOCAL_SL_IID_ENGINE = getIidPointer("SL_IID_ENGINE");
if (LOCAL_SL_IID_ENGINE == nullptr) return false;
LOCAL_SL_IID_ANDROIDSIMPLEBUFFERQUEUE = getIidPointer(
"SL_IID_ANDROIDSIMPLEBUFFERQUEUE");
if (LOCAL_SL_IID_ANDROIDSIMPLEBUFFERQUEUE == nullptr) return false;
LOCAL_SL_IID_ANDROIDCONFIGURATION = getIidPointer(
"SL_IID_ANDROIDCONFIGURATION");
if (LOCAL_SL_IID_ANDROIDCONFIGURATION == nullptr) return false;
LOCAL_SL_IID_RECORD = getIidPointer("SL_IID_RECORD");
if (LOCAL_SL_IID_RECORD == nullptr) return false;
LOCAL_SL_IID_BUFFERQUEUE = getIidPointer("SL_IID_BUFFERQUEUE");
if (LOCAL_SL_IID_BUFFERQUEUE == nullptr) return false;
LOCAL_SL_IID_VOLUME = getIidPointer("SL_IID_VOLUME");
if (LOCAL_SL_IID_VOLUME == nullptr) return false;
LOCAL_SL_IID_PLAY = getIidPointer("SL_IID_PLAY");
if (LOCAL_SL_IID_PLAY == nullptr) return false;
mDynamicLinkState = kLinkStateGood;
}
}
return (mDynamicLinkState == kLinkStateGood);
}
// A symbol like SL_IID_PLAY is a pointer to a structure.
// The dlsym() function returns the address of the pointer, not the structure.
// To get the address of the structure we have to dereference the pointer.
SLInterfaceID EngineOpenSLES::getIidPointer(const char *symbolName) {
SLInterfaceID *iid_address = (SLInterfaceID *) dlsym(
mLibOpenSlesLibraryHandle,
symbolName);
if (iid_address == nullptr) {
LOGE("%s(): dlsym(%s) returned null, %s", __func__, symbolName, getSafeDlerror());
return (SLInterfaceID) nullptr;
}
return *iid_address; // Get address of the structure.
}
SLresult EngineOpenSLES::open() { SLresult EngineOpenSLES::open() {
std::lock_guard<std::mutex> lock(mLock); std::lock_guard<std::mutex> lock(mLock);
@ -72,7 +125,7 @@ SLresult EngineOpenSLES::open() {
}; };
// create engine // create engine
result = (*gFunction_slCreateEngine)(&mEngineObject, 0, NULL, 0, NULL, NULL); result = (*mFunction_slCreateEngine)(&mEngineObject, 0, NULL, 0, NULL, NULL);
if (SL_RESULT_SUCCESS != result) { if (SL_RESULT_SUCCESS != result) {
LOGE("EngineOpenSLES - slCreateEngine() result:%s", getSLErrStr(result)); LOGE("EngineOpenSLES - slCreateEngine() result:%s", getSLErrStr(result));
goto error; goto error;
@ -86,7 +139,9 @@ SLresult EngineOpenSLES::open() {
} }
// get the engine interface, which is needed in order to create other objects // get the engine interface, which is needed in order to create other objects
result = (*mEngineObject)->GetInterface(mEngineObject, SL_IID_ENGINE, &mEngineInterface); result = (*mEngineObject)->GetInterface(mEngineObject,
EngineOpenSLES::getInstance().getIidEngine(),
&mEngineInterface);
if (SL_RESULT_SUCCESS != result) { if (SL_RESULT_SUCCESS != result) {
LOGE("EngineOpenSLES - GetInterface() engine result:%s", getSLErrStr(result)); LOGE("EngineOpenSLES - GetInterface() engine result:%s", getSLErrStr(result));
goto error; goto error;
@ -96,12 +151,17 @@ SLresult EngineOpenSLES::open() {
return result; return result;
error: error:
close(); close_l();
return result; return result;
} }
void EngineOpenSLES::close() { void EngineOpenSLES::close() {
std::lock_guard<std::mutex> lock(mLock); std::lock_guard<std::mutex> lock(mLock);
close_l();
}
// This must be called under mLock
void EngineOpenSLES::close_l() {
if (--mOpenCount == 0) { if (--mOpenCount == 0) {
if (mEngineObject != nullptr) { if (mEngineObject != nullptr) {
(*mEngineObject)->Destroy(mEngineObject); (*mEngineObject)->Destroy(mEngineObject);
@ -119,8 +179,8 @@ SLresult EngineOpenSLES::createAudioPlayer(SLObjectItf *objectItf,
SLDataSource *audioSource, SLDataSource *audioSource,
SLDataSink *audioSink) { SLDataSink *audioSink) {
const SLInterfaceID ids[] = {SL_IID_BUFFERQUEUE, SL_IID_ANDROIDCONFIGURATION}; SLInterfaceID ids[] = {LOCAL_SL_IID_BUFFERQUEUE, LOCAL_SL_IID_ANDROIDCONFIGURATION};
const SLboolean reqs[] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE}; SLboolean reqs[] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE};
return (*mEngineInterface)->CreateAudioPlayer(mEngineInterface, objectItf, audioSource, return (*mEngineInterface)->CreateAudioPlayer(mEngineInterface, objectItf, audioSource,
audioSink, audioSink,
@ -131,8 +191,9 @@ SLresult EngineOpenSLES::createAudioRecorder(SLObjectItf *objectItf,
SLDataSource *audioSource, SLDataSource *audioSource,
SLDataSink *audioSink) { SLDataSink *audioSink) {
const SLInterfaceID ids[] = {SL_IID_ANDROIDSIMPLEBUFFERQUEUE, SL_IID_ANDROIDCONFIGURATION }; SLInterfaceID ids[] = {LOCAL_SL_IID_ANDROIDSIMPLEBUFFERQUEUE,
const SLboolean reqs[] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE}; LOCAL_SL_IID_ANDROIDCONFIGURATION };
SLboolean reqs[] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE};
return (*mEngineInterface)->CreateAudioRecorder(mEngineInterface, objectItf, audioSource, return (*mEngineInterface)->CreateAudioRecorder(mEngineInterface, objectItf, audioSource,
audioSink, audioSink,

View file

@ -25,6 +25,15 @@
namespace oboe { namespace oboe {
typedef SLresult (*prototype_slCreateEngine)(
SLObjectItf *pEngine,
SLuint32 numOptions,
const SLEngineOption *pEngineOptions,
SLuint32 numInterfaces,
const SLInterfaceID *pInterfaceIds,
const SLboolean *pInterfaceRequired
);
/** /**
* INTERNAL USE ONLY * INTERNAL USE ONLY
*/ */
@ -32,6 +41,8 @@ class EngineOpenSLES {
public: public:
static EngineOpenSLES &getInstance(); static EngineOpenSLES &getInstance();
bool linkOpenSLES();
SLresult open(); SLresult open();
void close(); void close();
@ -45,6 +56,14 @@ public:
SLDataSource *audioSource, SLDataSource *audioSource,
SLDataSink *audioSink); SLDataSink *audioSink);
SLInterfaceID getIidEngine() { return LOCAL_SL_IID_ENGINE; }
SLInterfaceID getIidAndroidSimpleBufferQueue() { return LOCAL_SL_IID_ANDROIDSIMPLEBUFFERQUEUE; }
SLInterfaceID getIidAndroidConfiguration() { return LOCAL_SL_IID_ANDROIDCONFIGURATION; }
SLInterfaceID getIidRecord() { return LOCAL_SL_IID_RECORD; }
SLInterfaceID getIidBufferQueue() { return LOCAL_SL_IID_BUFFERQUEUE; }
SLInterfaceID getIidVolume() { return LOCAL_SL_IID_VOLUME; }
SLInterfaceID getIidPlay() { return LOCAL_SL_IID_PLAY; }
private: private:
// Make this a safe Singleton // Make this a safe Singleton
EngineOpenSLES()= default; EngineOpenSLES()= default;
@ -52,11 +71,34 @@ private:
EngineOpenSLES(const EngineOpenSLES&)= delete; EngineOpenSLES(const EngineOpenSLES&)= delete;
EngineOpenSLES& operator=(const EngineOpenSLES&)= delete; EngineOpenSLES& operator=(const EngineOpenSLES&)= delete;
SLInterfaceID getIidPointer(const char *symbolName);
/**
* Close the OpenSL ES engine.
* This must be called under mLock
*/
void close_l();
std::mutex mLock; std::mutex mLock;
int32_t mOpenCount = 0; int32_t mOpenCount = 0;
static constexpr int32_t kLinkStateUninitialized = 0;
static constexpr int32_t kLinkStateGood = 1;
static constexpr int32_t kLinkStateBad = 2;
int32_t mDynamicLinkState = kLinkStateUninitialized;
SLObjectItf mEngineObject = nullptr; SLObjectItf mEngineObject = nullptr;
SLEngineItf mEngineInterface = nullptr; SLEngineItf mEngineInterface = nullptr;
// These symbols are loaded using dlsym().
prototype_slCreateEngine mFunction_slCreateEngine = nullptr;
void *mLibOpenSlesLibraryHandle = nullptr;
SLInterfaceID LOCAL_SL_IID_ENGINE = nullptr;
SLInterfaceID LOCAL_SL_IID_ANDROIDSIMPLEBUFFERQUEUE = nullptr;
SLInterfaceID LOCAL_SL_IID_ANDROIDCONFIGURATION = nullptr;
SLInterfaceID LOCAL_SL_IID_RECORD = nullptr;
SLInterfaceID LOCAL_SL_IID_BUFFERQUEUE = nullptr;
SLInterfaceID LOCAL_SL_IID_VOLUME = nullptr;
SLInterfaceID LOCAL_SL_IID_PLAY = nullptr;
}; };
} // namespace oboe } // namespace oboe

View file

@ -20,8 +20,7 @@
#include <atomic> #include <atomic>
#include <mutex> #include <mutex>
#include <SLES/OpenSLES.h> #include "EngineOpenSLES.h"
#include <SLES/OpenSLES_Android.h>
namespace oboe { namespace oboe {