diff options
author | Max Kellermann <max@duempel.org> | 2010-07-20 18:26:13 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2010-07-20 18:23:56 +0200 |
commit | 898a13f196eb005c969794bf16d8afa858a48f33 (patch) | |
tree | 86512c8f902cb9984f2e2a11bb1befc32613ffef | |
parent | b97e92468fa137780fe980eaf3d999bdc83d800a (diff) | |
download | mpd-898a13f196eb005c969794bf16d8afa858a48f33.tar.gz mpd-898a13f196eb005c969794bf16d8afa858a48f33.tar.xz mpd-898a13f196eb005c969794bf16d8afa858a48f33.zip |
decoder/wildmidi: support version 0.2.3
In libwildmidi 0.2.3, the function WildMidi_SampledSeek() was removed,
without changing the SO name. This patch adds an autoconf check for
that function. Fall back to WildMidi_FastSeek() if
WildMidi_SampledSeek() is not available anymore.
Diffstat (limited to '')
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | src/decoder/wildmidi_plugin.c | 4 |
3 files changed, 10 insertions, 0 deletions
@@ -1,4 +1,6 @@ ver 0.15.12 (2010/??/??) +* decoders: + - wildmidi: support version 0.2.3 ver 0.15.11 (2010/06/14) diff --git a/configure.ac b/configure.ac index 791f41f05..aa529ca45 100644 --- a/configure.ac +++ b/configure.ac @@ -950,6 +950,10 @@ if test x$enable_wildmidi = xyes; then AC_CHECK_LIB(WildMidi, WildMidi_Init,, AC_MSG_ERROR([libwildmidi not found])) + AC_CHECK_LIB(WildMidi, WildMidi_SampledSeek, + [AC_DEFINE(HAVE_WILDMIDI_SAMPLED_SEEK, 1, + [Defined if WildMidi_SampledSeek() is available (libwildmidi <= 0.2.2)])]) + CFLAGS=$oldcflags LIBS=$oldlibs CPPFLAGS=$oldcppflags diff --git a/src/decoder/wildmidi_plugin.c b/src/decoder/wildmidi_plugin.c index 8bad6943a..b5e9810f9 100644 --- a/src/decoder/wildmidi_plugin.c +++ b/src/decoder/wildmidi_plugin.c @@ -99,7 +99,11 @@ wildmidi_file_decode(struct decoder *decoder, const char *path_fs) unsigned long seek_where = WILDMIDI_SAMPLE_RATE * decoder_seek_where(decoder); +#ifdef HAVE_WILDMIDI_SAMPLED_SEEK WildMidi_SampledSeek(wm, &seek_where); +#else + WildMidi_FastSeek(wm, &seek_where); +#endif decoder_command_finished(decoder); cmd = DECODE_COMMAND_NONE; } |