[client] audio: allow building without any audio support

This commit is contained in:
Geoffrey McRae 2022-01-27 17:57:30 +11:00
parent a7db3d3a0f
commit a560a610d9
4 changed files with 26 additions and 4 deletions

View File

@ -26,7 +26,6 @@ include(UninstallTarget)
find_package(PkgConfig)
pkg_check_modules(FONTCONFIG REQUIRED IMPORTED_TARGET fontconfig)
pkg_check_modules(SAMPLERATE REQUIRED IMPORTED_TARGET samplerate)
option(ENABLE_OPENGL "Enable the OpenGL renderer" ON)
add_feature_info(ENABLE_OPENGL ENABLE_OPENGL "Legacy OpenGL renderer.")
@ -152,7 +151,6 @@ add_subdirectory("${PROJECT_TOP}/repos/cimgui" "${CMAKE_BINARY_DIR}/cimgui" E
add_subdirectory(displayservers)
add_subdirectory(renderers)
add_subdirectory(audiodevs)
add_executable(looking-glass-client ${SOURCES})
@ -161,16 +159,24 @@ target_compile_definitions(looking-glass-client PRIVATE CIMGUI_DEFINE_ENUMS_AND_
target_link_libraries(looking-glass-client
${EXE_FLAGS}
PkgConfig::FONTCONFIG
PkgConfig::SAMPLERATE
lg_common
displayservers
lgmp
purespice
renderers
cimgui
audiodevs
)
if (ENABLE_PIPEWIRE OR ENABLE_PULSEAUDIO)
add_definitions(-D ENABLE_AUDIO)
add_subdirectory(audiodevs)
pkg_check_modules(SAMPLERATE REQUIRED IMPORTED_TARGET samplerate)
target_link_libraries(looking-glass-client
PkgConfig::SAMPLERATE
audiodevs
)
endif()
install(TARGETS looking-glass-client
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT binary)

View File

@ -18,6 +18,8 @@
* Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#if ENABLE_AUDIO
#include "audio.h"
#include "main.h"
#include "common/array.h"
@ -691,3 +693,5 @@ void audio_tick(unsigned long long tickCount)
app_invalidateGraphs();
}
#endif

View File

@ -18,6 +18,8 @@
* Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#if ENABLE_AUDIO
#include <stdbool.h>
#include <purespice.h>
@ -39,3 +41,11 @@ void audio_recordVolume(int channels, const uint16_t volume[]);
void audio_recordMute(bool mute);
void audio_tick(unsigned long long tickCount);
#else
static inline void audio_init(void) {}
static inline void audio_free(void) {}
static inline void audio_tick(unsigned long long tickCount) {}
#endif

View File

@ -870,6 +870,7 @@ int spiceThread(void * arg)
.release = cb_spiceRelease,
.request = cb_spiceRequest
},
#if ENABLE_AUDIO
.playback =
{
.enable = audio_supportsPlayback(),
@ -887,6 +888,7 @@ int spiceThread(void * arg)
.mute = audio_recordMute,
.stop = audio_recordStop
}
#endif
};
if (!purespice_connect(&config))