Browse Source

Build desktop radio panel and retain audio recovery coverage

master
evgeny 1 day ago
parent
commit
8820e9a3c9
  1. 3
      tools/chatgui/CMakeLists.txt
  2. 2
      tools/chatgui/tests/test_audio_recovery.cpp

3
tools/chatgui/CMakeLists.txt

@ -145,6 +145,7 @@ add_executable(vibechat
src/callwindow.cpp
src/call_audio_engine.cpp
src/radio_audio_engine.cpp
src/radiopanel.cpp
src/ptt_hotkey_manager.cpp
src/radiosettingspage.cpp
transport/utun_node.cpp
@ -305,7 +306,7 @@ add_test(NAME test_voice_file COMMAND test_voice_file)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
add_executable(test_audio_recovery tests/test_audio_recovery.cpp src/audio_device.cpp src/sound_manager.cpp src/voice_audio_io.cpp
src/audiorecorder.cpp src/call_audio_engine.cpp src/radio_audio_engine.cpp
transport/miniaudio_impl.c transport/audio_diagnostics.cpp)
transport/miniaudio_impl.c transport/audio_diagnostics.cpp transport/config_updater.cpp)
target_include_directories(test_audio_recovery PRIVATE ${UTUN_INCLUDE_DIRS})
target_link_libraries(test_audio_recovery PRIVATE ${QT_LIBS} utun_voice utun pthread dl)
target_link_options(test_audio_recovery PRIVATE "-Wl,--wrap=ma_context_init" "-Wl,--wrap=ma_context_uninit"

2
tools/chatgui/tests/test_audio_recovery.cpp

@ -29,6 +29,8 @@ static bool failStart, failContext, failDevice;
static bool pulseIntegration;
extern "C" UTUN_INSTANCE* gui_bridge_get_inst() { return &instance; }
extern "C" int gui_bridge_is_uasync_ready() { return instance.ua != nullptr; }
extern "C" void gui_bridge_post_uasync_fn(void (*fn)(void*), void* arg) { uasync_post(instance.ua, fn, arg); }
extern "C" ma_result __real_ma_context_init(const ma_backend*, ma_uint32, const ma_context_config*, ma_context*);
extern "C" void __real_ma_context_uninit(ma_context*);
extern "C" ma_result __real_ma_device_init(ma_context*, const ma_device_config*, ma_device*);

Loading…
Cancel
Save