Coverity: CID 400829: Uninit
[sxemacs] / src / media / media-sox.h
1 /* media-sox.h - analyse audio files or streams via sox
2
3    Copyright (C) 2006 Sebastian Freundt
4
5 This file is part of SXEmacs
6
7 SXEmacs is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 SXEmacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
19
20
21 /* Synched up with: Not in FSF. */
22
23 #ifndef INCLUDED_media_sox_h_
24 #define INCLUDED_media_sox_h_
25
26 #if defined HAVE_SOX_H
27 # include <sox.h>
28 #elif defined HAVE_ST_H
29 # include <st.h>
30 #else
31 # error "How on earth did you get here?"
32 #endif
33
34 #if defined HAVE_SOX_FORMAT_T
35 # define sxe_sox_t      sox_format_t*
36 #elif defined HAVE_FT_T
37 # define sxe_sox_t      ft_t
38 #else
39 # error "How could you ever reach this?"
40 #endif
41
42 #if defined HAVE_SOX_SIGNALINFO_T
43 # define sxe_sox_signalinfo_t   sox_signalinfo_t
44 #elif defined HAVE_ST_SIGNALINFO_T
45 # define sxe_sox_signalinfo_t   st_signalinfo_t
46 #else
47 # error "Congrats! Y0u won 6 packs of V|AGRA! Go and have fun!"
48 #endif
49
50 #if defined HAVE_SOX_SSIZE_T
51 # define sxe_sox_ssize_t        sox_ssize_t
52 #elif defined HAVE_ST_SSIZE_T
53 # define sxe_sox_ssize_t        st_ssize_t
54 #else
55 # define sxe_sox_ssize_t        ssize_t
56 #endif
57
58 #if defined HAVE_SOX_SAMPLE_T
59 # define sxe_sox_sample_t       sox_sample_t
60 #elif defined HAVE_ST_SAMPLE_T
61 # define sxe_sox_sample_t       st_sample_t
62 #else
63 # error "Thou nutter!  Serves thee right!"
64 #endif
65
66 #if defined HAVE_SOX_H
67 # define sxe_sox_open_read      sox_open_read
68 # define sxe_sox_close          sox_close
69 # define sxe_sox_read           sox_read
70 # define sxe_sox_seek           sox_seek
71 #elif defined HAVE_ST_H
72 # define sxe_sox_open_read      st_open_read
73 # define sxe_sox_close          st_close
74 # define sxe_sox_read           st_read
75 # define sxe_sox_seek           st_seek
76 #else
77 # error "Nope! I'm upset now.  Gimme a pint or another to cheer me up!"
78 #endif
79
80 #include "media.h"
81
82 #if defined SOX_SIZE_BYTE &&                    \
83         defined SOX_SIZE_8BIT &&                \
84         defined SOX_SIZE_16BIT &&               \
85         defined SOX_SIZE_24BIT &&               \
86         defined SOX_SIZE_32BIT &&               \
87         defined SOX_SIZE_64BIT
88 # define SXE_SIZE_BYTE          SOX_SIZE_BYTE
89 # define SXE_SIZE_8BIT          SOX_SIZE_8BIT
90 # define SXE_SIZE_16BIT         SOX_SIZE_16BIT
91 # define SXE_SIZE_24BIT         SOX_SIZE_24BIT
92 # define SXE_SIZE_32BIT         SOX_SIZE_32BIT
93 # define SXE_SIZE_64BIT         SOX_SIZE_64BIT
94 #elif defined ST_SIZE_BYTE &&                   \
95         defined ST_SIZE_8BIT &&         \
96         defined ST_SIZE_16BIT &&                \
97         defined ST_SIZE_32BIT &&                \
98         defined ST_SIZE_64BIT
99 # define SXE_SIZE_BYTE          ST_SIZE_BYTE
100 # define SXE_SIZE_8BIT          ST_SIZE_8BIT
101 # define SXE_SIZE_16BIT         ST_SIZE_16BIT
102 # define SXE_SIZE_24BIT         ST_SIZE_24BIT
103 # define SXE_SIZE_32BIT         ST_SIZE_32BIT
104 # define SXE_SIZE_64BIT         ST_SIZE_64BIT
105 #elif defined HAVE_SOX_SIGNALINFO_T_PRECISION
106 /* we don't need this bugger at all */
107 #else
108 # error "Guess what, I will compile myself as rootkit! It's too boring with you"
109 #endif
110
111 void cleanup(void);
112
113 extern Lisp_Object Qsox;
114
115 DECLARE_MEDIA_DRIVER(media_sox);
116
117 #endif  /* INCLUDED_media_sox_h_ */