comparison audioio/AudioTargetFactory.cpp @ 117:2bc8bf6d016c

* Provisional PulseAudio output driver. No latency handling yet, and some other things missing. The very basic basics work.
author Chris Cannam
date Wed, 21 May 2008 16:54:24 +0000
parents ccdc5b30e54c
children d615d0220828
comparison
equal deleted inserted replaced
116:9554c19c42fd 117:2bc8bf6d016c
16 #include "AudioTargetFactory.h" 16 #include "AudioTargetFactory.h"
17 17
18 #include "AudioJACKTarget.h" 18 #include "AudioJACKTarget.h"
19 #include "AudioCoreAudioTarget.h" 19 #include "AudioCoreAudioTarget.h"
20 #include "AudioPortAudioTarget.h" 20 #include "AudioPortAudioTarget.h"
21 #include "AudioPulseAudioTarget.h"
21 22
22 #include <iostream> 23 #include <iostream>
23 24
24 AudioCallbackPlayTarget * 25 AudioCallbackPlayTarget *
25 AudioTargetFactory::createCallbackTarget(AudioCallbackPlaySource *source) 26 AudioTargetFactory::createCallbackTarget(AudioCallbackPlaySource *source)
29 #ifdef HAVE_JACK 30 #ifdef HAVE_JACK
30 target = new AudioJACKTarget(source); 31 target = new AudioJACKTarget(source);
31 if (target->isOK()) return target; 32 if (target->isOK()) return target;
32 else { 33 else {
33 std::cerr << "WARNING: AudioTargetFactory::createCallbackTarget: Failed to open JACK target" << std::endl; 34 std::cerr << "WARNING: AudioTargetFactory::createCallbackTarget: Failed to open JACK target" << std::endl;
35 delete target;
36 }
37 #endif
38
39 #ifdef HAVE_LIBPULSE
40 target = new AudioPulseAudioTarget(source);
41 if (target->isOK()) return target;
42 else {
43 std::cerr << "WARNING: AudioTargetFactory::createCallbackTarget: Failed to open PulseAudio target" << std::endl;
34 delete target; 44 delete target;
35 } 45 }
36 #endif 46 #endif
37 47
38 #ifdef HAVE_COREAUDIO 48 #ifdef HAVE_COREAUDIO