Restrict OpenSLES to Android via CMake

This commit is contained in:
Zopolis4 2022-08-08 09:17:41 +10:00
parent e638bb658f
commit e2aefe13a6
No known key found for this signature in database
GPG Key ID: C1117D56FBC82774
3 changed files with 15 additions and 12 deletions

View File

@ -18,6 +18,7 @@ add_library(audiocommon
WaveFile.h
)
if(ANDROID)
find_package(OpenSLES)
if(OPENSLES_FOUND)
message(STATUS "OpenSLES found, enabling OpenSLES sound backend")
@ -26,6 +27,8 @@ if(OPENSLES_FOUND)
OpenSLESStream.h
)
target_link_libraries(audiocommon PRIVATE OpenSLES::OpenSLES)
target_compile_definitions(audiocommon PRIVATE HAVE_OPENSL_ES=1)
endif()
endif()
if(ENABLE_ALSA)

View File

@ -1,7 +1,7 @@
// Copyright 2013 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#ifdef ANDROID
#ifdef HAVE_OPENSL_ES
#include "AudioCommon/OpenSLESStream.h"
#include <cmath>
@ -143,4 +143,4 @@ void OpenSLESStream::SetVolume(int volume)
volume <= 0 ? SL_MILLIBEL_MIN : static_cast<SLmillibel>(2000 * std::log10(volume / 100.0f));
(*bqPlayerVolume)->SetVolumeLevel(bqPlayerVolume, attenuation);
}
#endif
#endif // HAVE_OPENSL_ES

View File

@ -10,7 +10,7 @@
class OpenSLESStream final : public SoundStream
{
#ifdef ANDROID
#ifdef HAVE_OPENSL_ES
public:
~OpenSLESStream() override;
bool Init() override;
@ -21,5 +21,5 @@ public:
private:
std::thread thread;
Common::Event soundSyncEvent;
#endif // HAVE_OPENSL
#endif // HAVE_OPENSL_ES
};