diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2015-09-14 13:47:38 +1000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2015-09-16 11:22:16 +1000 |
commit | d007fc05b18c7767cc72c13ac89882bd9ae36f63 (patch) | |
tree | d95156a38b0a8f00b2419d07345b14c2c244a212 /libs | |
parent | 091c4ed3a718c22ebcf205abdb3f2e2bad786459 (diff) |
De/Initialize MMCSS on windows in PBD::init/cleanup instead of in PA Backend
Diffstat (limited to 'libs')
-rw-r--r-- | libs/backends/portaudio/portaudio_backend.cc | 4 | ||||
-rw-r--r-- | libs/pbd/pbd.cc | 12 |
2 files changed, 9 insertions, 7 deletions
diff --git a/libs/backends/portaudio/portaudio_backend.cc b/libs/backends/portaudio/portaudio_backend.cc index f55d9c3131..eef2869ae5 100644 --- a/libs/backends/portaudio/portaudio_backend.cc +++ b/libs/backends/portaudio/portaudio_backend.cc @@ -83,8 +83,6 @@ PortAudioBackend::PortAudioBackend (AudioEngine& e, AudioBackendInfo& info) _instance_name = s_instance_name; pthread_mutex_init (&_port_callback_mutex, 0); - PBD::MMCSS::initialize (); - _pcmio = new PortAudioIO (); _midiio = new WinMMEMidiIO (); } @@ -94,8 +92,6 @@ PortAudioBackend::~PortAudioBackend () delete _pcmio; _pcmio = 0; delete _midiio; _midiio = 0; - PBD::MMCSS::deinitialize (); - pthread_mutex_destroy (&_port_callback_mutex); } diff --git a/libs/pbd/pbd.cc b/libs/pbd/pbd.cc index b0da66b138..86d04c45bc 100644 --- a/libs/pbd/pbd.cc +++ b/libs/pbd/pbd.cc @@ -35,12 +35,11 @@ #include "pbd/id.h" #include "pbd/enumwriter.h" #include "pbd/fpu.h" -#ifdef PLATFORM_WINDOWS -#include "pbd/windows_timer_utils.h" -#endif #ifdef PLATFORM_WINDOWS #include <winsock2.h> +#include "pbd/windows_timer_utils.h" +#include "pbd/windows_mmcss.h" #endif #include "i18n.h" @@ -109,6 +108,12 @@ PBD::init () } test_timers_from_env (); + + if (!PBD::MMCSS::initialize()) { + PBD::info << "Unable to initialize MMCSS" << endmsg; + } else { + PBD::info << "MMCSS Initialized" << endmsg; + } #endif if (!Glib::thread_supported()) { @@ -131,6 +136,7 @@ void PBD::cleanup () { #ifdef PLATFORM_WINDOWS + PBD::MMCSS::deinitialize (); WSACleanup(); #endif |