diff options
Diffstat (limited to 'mpg123_artsplugin/mpg123/audio.h')
-rw-r--r-- | mpg123_artsplugin/mpg123/audio.h | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/mpg123_artsplugin/mpg123/audio.h b/mpg123_artsplugin/mpg123/audio.h new file mode 100644 index 00000000..78a6e0b3 --- /dev/null +++ b/mpg123_artsplugin/mpg123/audio.h @@ -0,0 +1,106 @@ +/* + * Audio 'LIB' defines + */ + +#define AUDIO_OUT_HEADPHONES 0x01 +#define AUDIO_OUT_INTERNAL_SPEAKER 0x02 +#define AUDIO_OUT_LINE_OUT 0x04 + +enum { DECODE_TEST, DECODE_AUDIO, DECODE_FILE, DECODE_BUFFER, DECODE_WAV, + DECODE_AU,DECODE_CDR,DECODE_AUDIOFILE }; + +#define AUDIO_FORMAT_MASK 0x100 +#define AUDIO_FORMAT_16 0x100 +#define AUDIO_FORMAT_8 0x000 + +#define AUDIO_FORMAT_SIGNED_16 0x110 +#define AUDIO_FORMAT_UNSIGNED_16 0x120 +#define AUDIO_FORMAT_UNSIGNED_8 0x1 +#define AUDIO_FORMAT_SIGNED_8 0x2 +#define AUDIO_FORMAT_ULAW_8 0x4 +#define AUDIO_FORMAT_ALAW_8 0x8 + +/* 3% rate tolerance */ +#define AUDIO_RATE_TOLERANCE 3 + +#if 0 +#if defined(HPUX) || defined(SUNOS) || defined(SOLARIS) || defined(OSS) || defined(__NetBSD__) || defined(SPARCLINUX) || defined(__FreeBSD__) +#endif +#endif + +#ifndef AIX_UMS +#define AUDIO_USES_FD +#endif +#ifdef AIX_UMS +#include <UMSAudioDevice.h> +#endif + +#ifdef SGI +/* #include <audio.h> */ +#include <dmedia/audio.h> +#endif + + +#ifdef HAVE_ALSA_ASOUNDLIB_H +#include <alsa/asoundlib.h> +#elif defined(HAVE_SYS_ASOUNDLIB_H) +#include <sys/asoundlib.h> +#endif + +struct audio_info_struct +{ +#ifdef AUDIO_USES_FD + int fn; /* filenumber */ +#endif +#ifdef SGI + ALconfig config; + ALport port; +#endif + long rate; + long gain; + int output; +#ifdef ALSA + snd_pcm_t *handle; + snd_pcm_format_t alsa_format; +#endif +#ifdef AIX_UMS + UMSAudioDevice dev; + UMSAudioDeviceMClass class; + Environment *ev; + UMSAudioDeviceMClass_ErrorCode err; + char *errstr; + char *fmtal; + char *inp; + char *out; +#endif + char *device; + int channels; + int format; + int private1; + void *private2; +}; + +struct audio_name { + int val; + char *name; + char *sname; +}; + +extern void audio_capabilities(struct audio_info_struct *); +extern void audio_fit_capabilities(struct audio_info_struct *ai,int c,int r); + +extern char *audio_encoding_name(int format); + +extern int audio_play_samples(struct audio_info_struct *,unsigned char *,int); +extern int audio_open(struct audio_info_struct *); +extern int audio_reset_parameters(struct audio_info_struct *); +extern int audio_rate_best_match(struct audio_info_struct *ai); +extern int audio_set_rate(struct audio_info_struct *); +extern int audio_set_format(struct audio_info_struct *); +extern int audio_get_formats(struct audio_info_struct *); +extern int audio_set_channels(struct audio_info_struct *); +extern int audio_write_sample(struct audio_info_struct *,short *,int); +extern int audio_close(struct audio_info_struct *); +extern void audio_info_struct_init(struct audio_info_struct *); +extern void audio_queueflush(struct audio_info_struct *ai); + |