diff --git a/configure.in b/configure.in index d44825f8aeaf9..eabf0528c5631 100755 --- a/configure.in +++ b/configure.in @@ -1197,6 +1197,8 @@ if test "x$use_airtunes" != "xno"; then if test "x$use_airtunes" != "xno"; then XB_FIND_SONAME([SHAIRPORT], [shairport], [use_airtunes]) USE_AIRTUNES=1 + AC_CHECK_MEMBERS([struct AudioOutput.ao_set_metadata],,, + [[#include ]]) fi fi diff --git a/xbmc/network/AirTunesServer.cpp b/xbmc/network/AirTunesServer.cpp index 2ad097e8e5473..11dd67c5fe3f2 100644 --- a/xbmc/network/AirTunesServer.cpp +++ b/xbmc/network/AirTunesServer.cpp @@ -667,8 +667,10 @@ bool CAirTunesServer::Initialize(const CStdString &password) ao.ao_append_option = AudioOutputFunctions::ao_append_option; ao.ao_free_options = AudioOutputFunctions::ao_free_options; ao.ao_get_option = AudioOutputFunctions::ao_get_option; +#ifdef HAVE_STRUCT_AUDIOOUTPUT_AO_SET_METADATA ao.ao_set_metadata = AudioOutputFunctions::ao_set_metadata; ao.ao_set_metadata_coverart = AudioOutputFunctions::ao_set_metadata_coverart; +#endif struct printfPtr funcPtr; funcPtr.extprintf = shairport_log;