De/Initialize MMCSS on windows in PBD::init/cleanup instead of in PA Backend

This commit is contained in:
Tim Mayberry 2015-09-14 13:47:38 +10:00
parent 091c4ed3a7
commit d007fc05b1
2 changed files with 9 additions and 7 deletions

View File

@ -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);
}

View File

@ -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