add --disable-audio configure option
git-svn-id: https://svn.musicpd.org/mpd/trunk@679 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
parent
30d9589cb3
commit
7091235a68
11
configure.ac
11
configure.ac
|
@ -27,6 +27,7 @@ AM_CONFIG_HEADER(config.h)
|
|||
MPD_CFLAGS="-Wall"
|
||||
MPD_LIBS=""
|
||||
|
||||
AC_ARG_ENABLE(audio,[ --disable-audio disable support for playing],,enable_ao=yes)
|
||||
AC_ARG_ENABLE(iconv,[ --disable-iconv disable iconv support],,enable_iconv=yes)
|
||||
AC_ARG_ENABLE(ipv6,[ --disable-ipv6 disable IPv6 support],,enable_ipv6=yes)
|
||||
AC_ARG_ENABLE(alsa,[ --disable-alsa disable Alsa Mixer support],,enable_alsa=yes)
|
||||
|
@ -91,7 +92,11 @@ AP_maGiC_VALUE
|
|||
)
|
||||
fi
|
||||
|
||||
if test x$enable_ao = xyes; then
|
||||
XIPH_PATH_AO(MPD_LIBS="$MPD_LIBS $AO_LIBS" MPD_CFLAGS="$MPD_CFLAGS $AO_CFLAGS",AC_MSG_ERROR(Must have libao installed!!!))
|
||||
AC_DEFINE(HAVE_AUDIO, 1, [Define to play audio])
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADER(sys/soundcard.h,enable_oss=yes,[AC_MSG_WARN(Soundcard headers not found -- disabling OSS mixer);enable_oss=no;AC_DEFINE(NO_OSS_MIXER,1,[Define to disable OSS mixer support])])
|
||||
|
||||
if test x$enable_alsa = xyes; then
|
||||
|
@ -502,6 +507,12 @@ fi
|
|||
|
||||
echo ""
|
||||
echo "Audio Format Support:"
|
||||
if test x$enable_ao = xyes; then
|
||||
echo "Playing audio .................enabled"
|
||||
else
|
||||
echo "Playing audio .................disabled"
|
||||
fi
|
||||
|
||||
if test x$enable_id3 = xyes; then
|
||||
echo "ID3 tag support ...............enabled"
|
||||
if test x$use_mpd_id3tag = xyes; then
|
||||
|
|
20
src/audio.c
20
src/audio.c
|
@ -25,6 +25,9 @@
|
|||
#include <assert.h>
|
||||
#include <signal.h>
|
||||
|
||||
#ifdef HAVE_AUDIO
|
||||
#include <ao/ao.h>
|
||||
|
||||
int audio_write_size;
|
||||
|
||||
int audio_ao_driver_id;
|
||||
|
@ -32,8 +35,10 @@ ao_option * audio_ao_options;
|
|||
|
||||
AudioFormat audio_format;
|
||||
ao_device * audio_device = NULL;
|
||||
#endif
|
||||
|
||||
void initAudioDriver() {
|
||||
#ifdef HAVE_AUDIO
|
||||
ao_info * ai;
|
||||
char * dup;
|
||||
char * stk1;
|
||||
|
@ -107,15 +112,19 @@ void initAudioDriver() {
|
|||
}
|
||||
}
|
||||
free(dup);
|
||||
#endif
|
||||
}
|
||||
|
||||
void finishAudioDriver() {
|
||||
#ifdef HAVE_AUDIO
|
||||
ao_free_options(audio_ao_options);
|
||||
|
||||
ao_shutdown();
|
||||
#endif
|
||||
}
|
||||
|
||||
int isCurrentAudioFormat(AudioFormat * audioFormat) {
|
||||
#ifdef HAVE_AUDIO
|
||||
if(!audio_device || !audioFormat) return 0;
|
||||
|
||||
if(audio_format.bits!=audioFormat->bits ||
|
||||
|
@ -124,11 +133,12 @@ int isCurrentAudioFormat(AudioFormat * audioFormat) {
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
int initAudio(AudioFormat * audioFormat) {
|
||||
#ifdef HAVE_AUDIO
|
||||
ao_sample_format format;
|
||||
|
||||
if(audio_device && !isCurrentAudioFormat(audioFormat)) {
|
||||
|
@ -154,12 +164,13 @@ int initAudio(AudioFormat * audioFormat) {
|
|||
|
||||
if(audio_device==NULL) return -1;
|
||||
}
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int playAudio(char * playChunk, int size) {
|
||||
#ifdef HAVE_AUDIO
|
||||
int send;
|
||||
|
||||
if(audio_device==NULL) {
|
||||
|
@ -181,19 +192,23 @@ int playAudio(char * playChunk, int size) {
|
|||
size-=send;
|
||||
}
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
void finishAudio() {
|
||||
#ifdef HAVE_AUDIO
|
||||
if(audio_device) {
|
||||
blockSignals();
|
||||
ao_close(audio_device);
|
||||
audio_device = NULL;
|
||||
unblockSignals();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void audioError() {
|
||||
#ifdef HAVE_AUDIO
|
||||
if(errno==AO_ENOTLIVE) {
|
||||
ERROR("not a live ao device\n");
|
||||
}
|
||||
|
@ -203,4 +218,5 @@ void audioError() {
|
|||
else if(errno==AO_EBADOPTION) {
|
||||
ERROR("bad driver option\n");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include "mpd_types.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <ao/ao.h>
|
||||
|
||||
#define AUDIO_AO_DRIVER_DEFAULT "default"
|
||||
|
||||
|
@ -34,9 +33,6 @@ typedef struct _AudioFormat {
|
|||
mpd_sint8 bits;
|
||||
} AudioFormat;
|
||||
|
||||
extern int audio_ao_driver_id;
|
||||
extern ao_option * audio_ao_options;
|
||||
|
||||
void initAudioDriver();
|
||||
|
||||
void finishAudioDriver();
|
||||
|
|
|
@ -45,7 +45,6 @@ typedef struct {
|
|||
/* this code is based on flac123, from flac-tools */
|
||||
|
||||
int flacSendChunk(FlacData * data);
|
||||
void flacPlayfile(const char * file, Buffer * cb, ao_sample_format * format);
|
||||
void flacError(const FLAC__FileDecoder *, FLAC__StreamDecoderErrorStatus, void *);
|
||||
void flacPrintErroredState(FLAC__FileDecoderState state, char * file);
|
||||
void flacMetadata(const FLAC__FileDecoder *, const FLAC__StreamMetadata *, void *);
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
|
||||
#define FRAMES_CUSHION 2000
|
||||
|
||||
|
|
Loading…
Reference in New Issue