#ifndef _ALSA_POOL_H
#define _ALSA_POOL_H 1
-#include <alsa/asoundlib.h>
#include <atomic>
-#include <functional>
+#include <memory>
#include <mutex>
#include <string>
#include <thread>
#include <unordered_map>
#include <vector>
-#include "alsa_input.h"
-#include "bmusb/bmusb.h"
-#include "timebase.h"
-
class ALSAInput;
class DeviceSpecProto;
// In particular, it deals with enumeration of cards, and hotplug of new ones.
class ALSAPool {
public:
+ ALSAPool();
~ALSAPool();
struct Device {
unsigned num_channels,
const std::string &address);
+ std::atomic<bool> should_quit{false};
+ int should_quit_fd;
+ std::thread inotify_thread;
+ std::atomic<int> retry_threads_running{0};
+
friend class ALSAInput;
};