diff --git a/examples/audio.cpp b/examples/audio.cpp index 04eda68f..97891ff8 100644 --- a/examples/audio.cpp +++ b/examples/audio.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include @@ -121,6 +122,11 @@ struct audio_app painter_.render(geom::window_camera{width(), height()}.transform()); } + void on_scene_exit() override + { + prof::dump(); + } + private: audio::engine engine_; audio::mixer_ptr mixer_; diff --git a/libs/audio/CMakeLists.txt b/libs/audio/CMakeLists.txt index d9d09945..66ce978b 100644 --- a/libs/audio/CMakeLists.txt +++ b/libs/audio/CMakeLists.txt @@ -5,4 +5,4 @@ file(GLOB_RECURSE PSEMEK_AUDIO_SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "s psemek_add_library(psemek-audio ${PSEMEK_AUDIO_HEADERS} ${PSEMEK_AUDIO_SOURCES}) target_include_directories(psemek-audio PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(psemek-audio PUBLIC psemek-sdl2 psemek-geom psemek-util psemek-log SDL2_mixer) +target_link_libraries(psemek-audio PUBLIC psemek-sdl2 psemek-geom psemek-util psemek-log psemek-prof SDL2_mixer) diff --git a/libs/audio/source/engine.cpp b/libs/audio/source/engine.cpp index 251f62b9..923dff72 100644 --- a/libs/audio/source/engine.cpp +++ b/libs/audio/source/engine.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include @@ -60,6 +61,9 @@ namespace psemek::audio void engine::impl::callback(void * userdata, std::uint8_t * dst_u8, int len) { + static std::string const profiler_str = "audio"; + prof::profiler prof(profiler_str); + auto self = static_cast(userdata); stream_ptr output = self->output->stream(); std::int16_t * dst = reinterpret_cast(dst_u8);