From aa8599e808008a14ac0f7d40f91dc2e05bd3bd0a Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sat, 12 Apr 2014 19:59:17 +0200 Subject: Make engine ask output module for buffer size. Use this new feature to adapt internal buffers to buffer size reported by jack. --- drumgizmo/audiooutputenginedl.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'drumgizmo/audiooutputenginedl.cc') diff --git a/drumgizmo/audiooutputenginedl.cc b/drumgizmo/audiooutputenginedl.cc index ad8d815..513d21b 100644 --- a/drumgizmo/audiooutputenginedl.cc +++ b/drumgizmo/audiooutputenginedl.cc @@ -105,6 +105,12 @@ AudioOutputEngineDL::AudioOutputEngineDL(std::string name) return; } + o_bufsize = (output_bufsize_func_t) dlsym(lib, "bufsize"); + dlsym_error = dlerror(); + if(dlsym_error) { + o_bufsize = NULL; + } + ptr = o_create(); if(is_jack_plugin) { @@ -169,6 +175,12 @@ void AudioOutputEngineDL::post(size_t size) return o_post(ptr, size); } +size_t AudioOutputEngineDL::getBufferSize() +{ + if(o_bufsize) return o_bufsize(ptr); + return 1024; +} + #ifdef TEST_AUDIOOUTPUTENGINEDL //Additional dependency files //deps: -- cgit v1.2.3