Skip to content

Commit

Permalink
Add Cubeb log callback
Browse files Browse the repository at this point in the history
  • Loading branch information
Vestrel committed Jan 5, 2025
1 parent c9d39ce commit 55117f5
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
15 changes: 15 additions & 0 deletions rpcs3/Emu/Audio/Cubeb/CubebBackend.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "Emu/Audio/Cubeb/CubebBackend.h"

#include <algorithm>
#include <cstdarg>
#include "util/logs.hpp"
#include "Emu/Audio/audio_device_enumerator.h"

Expand Down Expand Up @@ -38,6 +39,8 @@ CubebBackend::CubebBackend()
m_dev_collection_cb_enabled = true;
}

cubeb_set_log_callback(CUBEB_LOG_NORMAL, log_cb);

Cubeb.notice("Using backend %s", cubeb_get_backend_id(ctx));

std::lock_guard cb_lock{m_state_cb_mutex};
Expand Down Expand Up @@ -568,3 +571,15 @@ void CubebBackend::device_collection_changed_cb(cubeb* context, void* user_ptr)
cubeb->m_state_callback(AudioStateEvent::DEFAULT_DEVICE_MAYBE_CHANGED);
}
}

void CubebBackend::log_cb(const char* fmt, ...)
{
char buf[256] = "Cubeb log msg: ";
static constexpr size_t prefix_size = sizeof("Cubeb log msg: ") - 1;

va_list va;
va_start(va, fmt);
vsnprintf(buf + prefix_size, sizeof(buf) - prefix_size, fmt, va);
va_end(va);
Cubeb.notice(buf);
}
1 change: 1 addition & 0 deletions rpcs3/Emu/Audio/Cubeb/CubebBackend.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ class CubebBackend final : public AudioBackend
static long data_cb(cubeb_stream* stream, void* user_ptr, void const* input_buffer, void* output_buffer, long nframes);
static void state_cb(cubeb_stream* stream, void* user_ptr, cubeb_state state);
static void device_collection_changed_cb(cubeb* context, void* user_ptr);
static void log_cb(const char *fmt, ...);

struct device_handle
{
Expand Down

0 comments on commit 55117f5

Please sign in to comment.