summaryrefslogtreecommitdiff
path: root/libs/backends/alsa/alsa_audiobackend.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-05 02:08:56 +0200
committerRobin Gareus <robin@gareus.org>2014-06-05 02:22:13 +0200
commit822c460d15f9dfe5edcfd5a3fad6f2a0d0835552 (patch)
tree05476507312a668338fa73bdef7e02056949754f /libs/backends/alsa/alsa_audiobackend.h
parent742282b7e96560ecbade6c8a113adac2c3ee1e3a (diff)
DBus ALSA device reservation
Diffstat (limited to 'libs/backends/alsa/alsa_audiobackend.h')
-rw-r--r--libs/backends/alsa/alsa_audiobackend.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/libs/backends/alsa/alsa_audiobackend.h b/libs/backends/alsa/alsa_audiobackend.h
index 6ad58161f3..386a83a33f 100644
--- a/libs/backends/alsa/alsa_audiobackend.h
+++ b/libs/backends/alsa/alsa_audiobackend.h
@@ -30,8 +30,9 @@
#include <boost/shared_ptr.hpp>
-#include "ardour/types.h"
#include "ardour/audio_backend.h"
+#include "ardour/system_exec.h"
+#include "ardour/types.h"
#include "zita-alsa-pcmi.h"
#include "alsa_rawmidi.h"
@@ -288,6 +289,14 @@ class AlsaAudioBackend : public AudioBackend {
std::string _audio_device;
std::string _midi_device;
+ /* audio device reservation */
+ ARDOUR::SystemExec *_device_reservation;
+ PBD::ScopedConnectionList _reservation_connection;
+ void reservation_stdout (std::string, size_t);
+ bool acquire_device(const char* device_name);
+ void release_device();
+ bool _reservation_succeeded;
+
float _samplerate;
size_t _samples_per_period;
size_t _periods_per_cycle;