mystuff/audio/chuck/patches/patch-src_host_RtAudio_RtAudio_h
2026-03-15 22:48:20 +01:00

51 lines
2.1 KiB
Plaintext

Index: src/host/RtAudio/RtAudio.h
--- src/host/RtAudio/RtAudio.h.orig
+++ src/host/RtAudio/RtAudio.h
@@ -255,6 +255,7 @@ class RTAUDIO_DLL_PUBLIC RtAudio
LINUX_ALSA, /*!< The Advanced Linux Sound Architecture API. */
LINUX_PULSE, /*!< The Linux PulseAudio API. */
LINUX_OSS, /*!< The Linux Open Sound System API. */
+ OPENBSD_SNDIO, /*!< The OpenBSD sndio API. */
UNIX_JACK, /*!< The Jack Low-Latency Audio Server API. */
MACOSX_CORE, /*!< Macintosh OS-X Core Audio API. */
WINDOWS_WASAPI, /*!< The Microsoft WASAPI API. */
@@ -1144,6 +1145,38 @@ class RtApiOss: public RtApi (public)
private:
bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels,
+ unsigned int firstChannel, unsigned int sampleRate,
+ RtAudioFormat format, unsigned int *bufferSize,
+ RtAudio::StreamOptions *options ) /* override */;
+};
+
+#endif
+
+#if defined(__OPENBSD_SNDIO__)
+
+class RtApiSndio: public RtApi
+{
+public:
+
+ RtApiSndio();
+ ~RtApiSndio();
+ RtAudio::Api getCurrentApi() /* override */ { return RtAudio::OPENBSD_SNDIO; }
+ unsigned int getDeviceCount( void ) /* override */;
+ RtAudio::DeviceInfo getDeviceInfo( unsigned int device ) /* override */;
+ void closeStream( void ) /* override */;
+ RtAudioErrorType startStream( void ) /* override */;
+ RtAudioErrorType stopStream( void ) /* override */;
+ RtAudioErrorType abortStream( void ) /* override */;
+
+ // This function is intended for internal use only. It must be
+ // public because it is called by the internal callback handler,
+ // which is not a member of RtAudio. External use of this function
+ // will most likely produce highly undesirable results!
+ void callbackEvent( void );
+
+ private:
+
+ bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels,
unsigned int firstChannel, unsigned int sampleRate,
RtAudioFormat format, unsigned int *bufferSize,
RtAudio::StreamOptions *options ) /* override */;