summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/invoker/audio/PCMConverter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/plugins/invoker/audio/PCMConverter.h')
-rw-r--r--src/uscxml/plugins/invoker/audio/PCMConverter.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/uscxml/plugins/invoker/audio/PCMConverter.h b/src/uscxml/plugins/invoker/audio/PCMConverter.h
new file mode 100644
index 0000000..6036af2
--- /dev/null
+++ b/src/uscxml/plugins/invoker/audio/PCMConverter.h
@@ -0,0 +1,30 @@
+#ifndef PCMCONVERTER_H_97Z8U7PA
+#define PCMCONVERTER_H_97Z8U7PA
+
+#include <string>
+#include <al.h>
+#include <alc.h>
+
+namespace uscxml {
+
+struct PCMFormat {
+ ALenum alFormat;
+ unsigned int sampleRate;
+};
+
+class PCMConverter {
+public:
+ PCMConverter(const std::string filename) {}
+ virtual ~PCMConverter() {}
+ virtual void seek(unsigned int pos) = 0;
+ virtual int read(char* buffer, unsigned int size) = 0;
+
+ virtual void setOutFormat(const PCMFormat& format) = 0;
+ virtual PCMFormat getInFormat() = 0;
+protected:
+ PCMConverter() {}
+};
+
+}
+
+#endif /* end of include guard: PCMCONVERTER_H_97Z8U7PA */