summaryrefslogtreecommitdiff
path: root/thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-01-23 16:47:43 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-01-23 16:47:43 +0100
commite6bd9c10fcc3acb8fe47b1c5c4b3e189143f4d33 (patch)
tree20154f900ce9ea317923c763fefc889d212a9f8b /thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h
parentbebac4a08840ba6728e5974195a80205a3e7f529 (diff)
parent5c4fe6339bcb4d5539e39cc84f075461b9156ddc (diff)
Merge pull request #71263 from bruvzg/linux_sys_headers
[Linux/BSD] Include headers for dynamically loaded libraries to simplify build dependencies.
Diffstat (limited to 'thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h')
-rw-r--r--thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h b/thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h
new file mode 100644
index 0000000000..85f2850972
--- /dev/null
+++ b/thirdparty/linuxbsd_headers/speechd/spd_audio_plugin.h
@@ -0,0 +1,75 @@
+/*
+ * spd_audio_plugin.h -- The SPD Audio Plugin Header
+ *
+ * Copyright (C) 2004 Brailcom, o.p.s.
+ *
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1, or (at your option) any later
+ * version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this package; see the file COPYING. If not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ *
+ */
+
+#ifndef __SPD_AUDIO_PLUGIN_H
+#define __SPD_AUDIO_PLUGIN_H
+
+#define SPD_AUDIO_PLUGIN_ENTRY_STR "spd_audio_plugin_get"
+
+/* *INDENT-OFF* */
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* *INDENT-ON* */
+
+typedef enum { SPD_AUDIO_LE, SPD_AUDIO_BE } AudioFormat;
+
+typedef struct {
+ int bits;
+ int num_channels;
+ int sample_rate;
+
+ int num_samples;
+ signed short *samples;
+} AudioTrack;
+
+struct spd_audio_plugin;
+
+typedef struct {
+
+ int volume;
+ AudioFormat format;
+
+ struct spd_audio_plugin const *function;
+ void *private_data;
+
+ int working;
+} AudioID;
+
+typedef struct spd_audio_plugin {
+ const char *name;
+ AudioID *(*open) (void **pars);
+ int (*play) (AudioID * id, AudioTrack track);
+ int (*stop) (AudioID * id);
+ int (*close) (AudioID * id);
+ int (*set_volume) (AudioID * id, int);
+ void (*set_loglevel) (int level);
+ char const *(*get_playcmd) (void);
+} spd_audio_plugin_t;
+
+/* *INDENT-OFF* */
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+/* *INDENT-ON* */
+
+#endif /* ifndef #__SPD_AUDIO_PLUGIN_H */