aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/base.h
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/backends/base.h')
-rw-r--r--Alc/backends/base.h78
1 files changed, 0 insertions, 78 deletions
diff --git a/Alc/backends/base.h b/Alc/backends/base.h
deleted file mode 100644
index 437e31d9..00000000
--- a/Alc/backends/base.h
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef ALC_BACKENDS_BASE_H
-#define ALC_BACKENDS_BASE_H
-
-#include <memory>
-#include <chrono>
-#include <string>
-#include <mutex>
-
-#include "alcmain.h"
-
-
-struct ClockLatency {
- std::chrono::nanoseconds ClockTime;
- std::chrono::nanoseconds Latency;
-};
-
-/* Helper to get the current clock time from the device's ClockBase, and
- * SamplesDone converted from the sample rate.
- */
-inline std::chrono::nanoseconds GetDeviceClockTime(ALCdevice *device)
-{
- using std::chrono::seconds;
- using std::chrono::nanoseconds;
-
- auto ns = nanoseconds{seconds{device->SamplesDone}} / device->Frequency;
- return device->ClockBase + ns;
-}
-
-ClockLatency GetClockLatency(ALCdevice *device);
-
-struct BackendBase {
- virtual ALCenum open(const ALCchar *name) = 0;
-
- virtual ALCboolean reset();
- virtual ALCboolean start() = 0;
- virtual void stop() = 0;
-
- virtual ALCenum captureSamples(void *buffer, ALCuint samples);
- virtual ALCuint availableSamples();
-
- virtual ClockLatency getClockLatency();
-
- virtual void lock() { mMutex.lock(); }
- virtual void unlock() { mMutex.unlock(); }
-
- ALCdevice *mDevice;
-
- std::recursive_mutex mMutex;
-
- BackendBase(ALCdevice *device) noexcept;
- virtual ~BackendBase();
-};
-using BackendPtr = std::unique_ptr<BackendBase>;
-using BackendUniqueLock = std::unique_lock<BackendBase>;
-using BackendLockGuard = std::lock_guard<BackendBase>;
-
-enum class BackendType {
- Playback,
- Capture
-};
-
-enum class DevProbe {
- Playback,
- Capture
-};
-
-
-struct BackendFactory {
- virtual bool init() = 0;
-
- virtual bool querySupport(BackendType type) = 0;
-
- virtual void probe(DevProbe type, std::string *outnames) = 0;
-
- virtual BackendPtr createBackend(ALCdevice *device, BackendType type) = 0;
-};
-
-#endif /* ALC_BACKENDS_BASE_H */