From: Richard Kettlewell Date: Tue, 3 Mar 2009 19:37:37 +0000 (+0000) Subject: Restore uaudio_apis[], but in a separate executable to avoid everything X-Git-Tag: 5.0~168^2~5 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/commitdiff_plain/efd23a800d05515c519fdd7f00e7d0015ba73f5a?hp=8e93ddd109ce3cc88ffaa80e8f5e578808adb1a2 Restore uaudio_apis[], but in a separate executable to avoid everything having to be linked against audio libraries. --- diff --git a/lib/Makefile.am b/lib/Makefile.am index 7ef6039..e244c25 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -82,7 +82,7 @@ libdisorder_a_SOURCES=charset.c charset.h \ $(TRACKDB) trackdb.h trackdb-int.h \ trackname.c trackorder.c trackname.h \ tracksort.c \ - uaudio.c uaudio-thread.c uaudio.h \ + uaudio.c uaudio-thread.c uaudio.h uaudio-apis.c \ uaudio-oss.c uaudio-alsa.c \ uaudio-coreaudio.c \ uaudio-rtp.c uaudio-command.c uaudio-schedule.c \ diff --git a/lib/uaudio-apis.c b/lib/uaudio-apis.c new file mode 100644 index 0000000..7ac176b --- /dev/null +++ b/lib/uaudio-apis.c @@ -0,0 +1,55 @@ +/* + * This file is part of DisOrder. + * Copyright (C) 2009 Richard Kettlewell + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License + * along with this program. If not, see . + */ + +/** @file lib/uaudio-apis.c + * @brief Audio API list + */ + +#include "common.h" +#include "uaudio.h" + +/** @brief List of known APIs + * + * Terminated by a null pointer. + * + * The first one will be used as a default, so putting ALSA before OSS + * constitutes a policy decision. + */ +const struct uaudio *uaudio_apis[] = { +#if HAVE_COREAUDIO_AUDIOHARDWARE_H + &uaudio_coreaudio, +#endif +#if HAVE_ALSA_ASOUNDLIB_H + &uaudio_alsa, +#endif +#if HAVE_SYS_SOUNDCARD_H || EMPEG_HOST + &uaudio_oss, +#endif + &uaudio_rtp, + &uaudio_command, + NULL, +}; + +/* +Local Variables: +c-basic-offset:2 +comment-column:40 +fill-column:79 +indent-tabs-mode:nil +End: +*/ diff --git a/lib/uaudio.h b/lib/uaudio.h index be396df..92bf90f 100644 --- a/lib/uaudio.h +++ b/lib/uaudio.h @@ -138,6 +138,8 @@ extern const struct uaudio uaudio_rtp; extern const struct uaudio uaudio_command; +extern const struct uaudio *uaudio_apis[]; + #endif /* UAUDIO_H */ /*