Commit Graph

760 Commits

Author SHA1 Message Date
Denis Krjuchkov cfdd5edc49 event: implement PollGroup based on Windows select 2013-11-29 15:05:01 +06:00
Denis Krjuchkov b9035d3e0a configure.ac: code style improvements
Rename HAVE_WINDOWS to host_is_windows for consistency.
Use 'yes' as true value instead of '1' for this variable.
Use test on this variable instead of case where applicable.
2013-11-29 12:30:29 +06:00
Max Kellermann e504913b0f pcm: drop compatibility with libsamplerate older than 0.1.3
Remove compatibility code.
2013-11-28 20:48:02 +01:00
Denis Krjuchkov 46bab7e4b9 Add infrastructure for using multiple event loops
This change adds two configuration options:

  --with-eventloop=[glib|internal|auto]
  --with-pollmethod=[epoll|auto]

First allows switching between GLib event loop and internal one.
Second chooses backend to use for internal event loop.
Conditional compilation symbols are changed accordingly.
Additional helper macro MPD_OPTIONAL_FUNC_NODEF is added as well.
2013-11-27 17:28:36 +06:00
Gaetan Bisson 3b0fea5fae input/cdio_paranoia: support libcdio-paranoia 0.90 2013-11-27 08:25:17 +01:00
Max Kellermann 443516cdda configure.ac: prepare for 0.18.6 2013-11-27 08:25:17 +01:00
Denis Krjuchkov b88ea6735b configure.ac: set VERSION_MINOR to 19 2013-11-26 18:07:59 +06:00
Max Kellermann 99527051b5 Merge branch 'v0.18.x' 2013-11-23 18:45:02 +01:00
Max Kellermann 57e0cc5442 release v0.18.5 2013-11-23 18:30:12 +01:00
Max Kellermann 727c622659 configure.ac: auto-detect fluidsynth by default
The option "--enable-fluidsynth" was documented to be "auto" by
default, when it was really "no".
2013-11-21 22:50:58 +01:00
Max Kellermann 74a778e65f configure.ac: prepare for 0.18.5 2013-11-18 20:03:30 +01:00
Max Kellermann a40d7ae4dd configure.ac: prepare version 0.19 2013-11-13 18:39:10 +01:00
Max Kellermann 32fcc22cb3 configure.ac: prepare for 0.18.4 2013-11-09 09:52:51 +01:00
Max Kellermann 993eca9327 Makefile.am: disable dist-bzip2
bzip2-compressed tarballs are obsolete, xz is better and widely
understood.
2013-11-08 12:29:56 +01:00
Max Kellermann 834715ea2f configure.ac: prepare for 0.18.3 2013-11-08 11:57:37 +01:00
Max Kellermann c4b1251d0a configure.ac: require libaudiofile 0.3 due to API breakage
Prior to version 0.3, the "length" callback returned a "long" instead
of AFfileoffset.  Now that this API bug fix is a few years old, let's
drop 0.2 support for good.
2013-11-06 20:04:21 +01:00
Max Kellermann bb62ecf157 configure.ac: prepare for 0.18.2 2013-11-05 11:08:17 +01:00
Max Kellermann a268ab35ea release v0.18.1 2013-11-04 23:46:14 +01:00
Max Kellermann bf2c1f3e9e configure.ac: prepare for 0.18.1 2013-11-04 08:00:00 +01:00
Max Kellermann 8ccd8a008d release v0.18 2013-10-31 00:23:41 +01:00
Max Kellermann c8b2591ac2 configure.ac: move -Werror before all other CFLAGS
Without -Werror, clang will not fail on -ftree-vectorize.
2013-10-30 19:17:07 +01:00
Max Kellermann ee1d8e1091 configure.ac: default to enable_openal=auto 2013-10-30 19:02:59 +01:00
Max Kellermann 672fc8d79b configure.ac: enable -ffast-math and -ftree-vectorize
Allows advanced compiler optimization.
2013-10-30 18:30:04 +01:00
Max Kellermann 84ff1a680a configure.ac: enable some gcc options even in debug mode
Most importantly: always disable C++ exceptions.  It was surprising to
see MPD terminate due to an unexpected exception.
2013-10-30 18:22:35 +01:00
Max Kellermann c37edfd3e9 configure.ac: disable the OS X output plugin by default
There hasn't been a maintainer for this plugin for years.  It may even
fail to build.
2013-10-28 22:25:58 +01:00
Max Kellermann 4a99b1df4b configure.ac: add variable host_is_darwin
Fixes the OpenAL detection which was broken because enable_osx was
uesd which was set later.
2013-10-28 22:18:56 +01:00
Max Kellermann 8e063829c4 encoder/{opus,vorbis}: new serial generator replacing g_random_int() 2013-10-19 14:43:24 +02:00
Max Kellermann d1c401fe7a ZeroconfAvahi: integrate into the EventLoop
Finally fixes the regression by commit c1f4f1fd.
2013-10-18 09:16:55 +02:00
Max Kellermann a0105b45ae configure.ac: add function MPD_AUTO_LIB and use it 2013-10-17 00:09:08 +02:00
Max Kellermann 551b7768fc configure.ac: define HAVE_MPCDEC
Restore the "mpcdec" decoder plugin that was accidently broken since
commit 8ead8f7e.
2013-10-17 00:07:04 +02:00
Max Kellermann d6967db761 decoder/wildmidi: remove suport for libwildmidi 0.2.2 or older 2013-10-16 23:57:26 +02:00
Max Kellermann b0967cae69 configure.ac: don't leak -lsidutils -lmp3lame into
Make the third argument to AC_CHECK_LIB() non-empty to disable its
default handler.
2013-10-16 23:46:11 +02:00
Max Kellermann 401a799a1b test: use the CPPUNIT framework for unit tests 2013-10-16 23:36:36 +02:00
Max Kellermann b97b7a7493 require GLib 2.28
The header glib_compat.h is now obsolete and can be removed.
2013-10-15 09:35:25 +02:00
Max Kellermann a446775d80 playlist/lastfm: remove defunct Last.fm support
This plugin has been defunct ever since Last.fm changed their
protocol.  Since there is no volunteer willing to fix the plugin, I'm
removing it now.
2013-09-28 14:01:51 +02:00
Max Kellermann d1f4a31b5e output/pulse: require libpulse 0.9.16
Remove all #ifdefs.  Old versions of libpulse are not being tested,
and thus I'm removing support.
2013-09-04 16:55:03 +02:00
Max Kellermann dff05c71e6 event/EPollFD: basic support for Linux epoll 2013-08-07 19:44:43 +02:00
Max Kellermann fdc7d13ad1 configure.ac: pass option name to MPD_OPTIONAL_FUNC() 2013-08-07 19:23:00 +02:00
Max Kellermann 4223657ab8 event/SignalMonitor: use signalfd() if available 2013-08-07 11:03:47 +02:00
Max Kellermann 47e16dbee3 configure.ac: add option --enable-eventfd
Remove the runtime check for eventfd(), hard-code the feature once
it's been selected at compile time.  The class WakeFD is splitted into
EventFD and EventPipe, using WakeFD as a macro diversion.
2013-08-06 23:32:21 +02:00
Max Kellermann 1a852bc365 configure.ac: increase protocol version to 0.18 2013-08-04 23:21:23 +02:00
Max Kellermann 9326ce53ec Merge tag 'release-0.17.5' 2013-08-04 14:36:22 +02:00
Max Kellermann d8217c364a release 0.17.5 2013-08-04 14:21:45 +02:00
Michael Mair-Keimberger dbe04c4207 configure.ac: detect system "ar" 2013-08-01 09:13:41 +02:00
Max Kellermann 8b2dcf7018 decoder/ffmpeg: require ffmpeg/libav 0.8
Now that even Debian stable has picked up version 0.8, we can safely
make this a requirement, and remove a lot of old cruft.
2013-07-31 01:01:21 +02:00
Max Kellermann 8ead8f7ea6 decoder/mpcdec: remove support for the "old" API
This old version has been obsolete for many years - time to remove it.
2013-07-31 00:43:21 +02:00
Max Kellermann 2df2a989af input/soup: plugin removed
This plugin is cumbersome to support, now that MPD is migrating away
from GLib and the GLib event loop.  It has no practical advantages
over the CURL plugin.  Soup requires the bloated GType library.
2013-04-17 21:46:16 +02:00
Max Kellermann e903d00968 output/ffado: remove broken plugin
This plugin has been in MPD for three years, and it has never worked.
Enough!
2013-04-17 00:44:02 +02:00
Max Kellermann 7d5d95ad53 configure.ac: fix hidden syntax error 2013-04-17 00:40:27 +02:00
Max Kellermann cc6c452854 output/mvp: remove obsolete plugin
The hardware is obsolete, and the product does not exist anymore on
the Hauppauge web site.  Let's see if anybody complains about the
removal.
2013-04-17 00:37:30 +02:00
Max Kellermann 0b9e52bd5f configure.ac: fix libmpdclient variable name 2013-04-16 23:44:32 +02:00
Max Kellermann 9a4c049675 prepare 0.17.5 2013-04-16 23:17:38 +02:00
Max Kellermann 14df240f5b OpusReader: don't use strndup()
Eliminate the fallback strndup() and strnlen() implementations.
2013-04-09 01:03:44 +02:00
Max Kellermann 2c4b998170 Merge tag 'release-0.17.4' 2013-04-08 22:11:42 +02:00
Max Kellermann 0a9c7ff6cf release 0.17.4 2013-04-08 22:00:43 +02:00
Max Kellermann 1894aed261 Makefile.am: enable "dist-xz" 2013-04-08 21:35:45 +02:00
Max Kellermann 20f85745e7 require GLib 2.24 2013-01-29 18:33:37 +01:00
Max Kellermann 0dd4b52b63 decoder/ffmpeg: require ffmpeg/libav 0.7.6
This is the version present in Ubuntu Oneiric, the oldest distribution
with gcc 4.6.  Debian Squeeze is off target, because it has gcc 4.4,
which is unable to compile MPD anyway.

This commit drops all API compatibility hacks for older versions.
2013-01-28 21:32:14 +01:00
Max Kellermann 88c17926e4 decoder/mp4ff: delete obsolete plugin
The underlying library has been obsolete for many years.
2013-01-28 21:32:14 +01:00
Max Kellermann 8155784990 string_util: add fallback for strnlen()
Usually, when strndup() is not available, strndup() isn't either,
because both are POSIX 2008.
2013-01-27 21:43:27 +01:00
Max Kellermann 44725e485d configure.ac: disable libwrap if not compatible with C++
The libwrap version on Mac OS X is broken, it will not work with C++
due to broken function prototypes.
2013-01-27 21:43:04 +01:00
Max Kellermann 74500eacca Merge branch 'v0.17.x' 2013-01-16 20:05:26 +01:00
Denis Krjuchkov eef4f33a29 configure.ac: use correct variable for checking libmpdclient presence 2013-01-11 16:47:56 +06:00
Max Kellermann 7f0297dc44 configure.ac: require Windows Vista or newer
We're going to use Vista features soon.  Sorry for those poor people
still on XP (or Windows, anyway).
2013-01-11 11:09:27 +01:00
Max Kellermann 49f3855407 configure.ac: enable WIN32_LEAN_AND_MEAN on Windows 2013-01-11 11:06:16 +01:00
Denis Krjuchkov a98aa66620 string_util.c: provide fallback strndup() implementation
This patch also adds extern "C" { } wrapper around string_util.h
to allow its usage in C++ code
2013-01-11 13:51:39 +06:00
Max Kellermann 3bb711837e input/Curl: require libcurl 7.18 2013-01-10 20:46:47 +01:00
Denis Krjuchkov ea25e0ee55 configure.ac: change newline position to fit into 80 chars 2013-01-10 14:47:15 +06:00
Denis Krjuchkov e6fdae431f configure.ac: print results of libmpdclient detection 2013-01-10 14:42:10 +06:00
Denis Krjuchkov 34afc272fd configure.ac: print results of AdPlug detection 2013-01-10 14:33:10 +06:00
Denis Krjuchkov a5673fcb28 configure.ac: consistently use Opus name 2013-01-10 14:32:18 +06:00
Max Kellermann 3be57dc4a3 fd_util: support eventfd() 2013-01-10 00:10:01 +01:00
Denis Krjuchkov 78f4171a7a configure.ac: improve detection of libgme
At least in my configuration libgme lacks .pc file
thus could not be detected with pkg-config.
2013-01-09 14:35:25 +06:00
Avuton Olrich 227da2377a Modify version string to post-release version 0.17.4~git 2013-01-06 16:47:09 -08:00
Avuton Olrich ffb3a9f526 mpd version 0.17.3 2013-01-06 16:47:09 -08:00
Max Kellermann 83c7e1e129 configure.ac: disable C++ RTTI
RTTI adds overhead to the binary, and we don't need that.
2013-01-02 19:19:58 +01:00
Max Kellermann a6371e2e66 configure.ac: disable C++ exceptions
We don't use exceptions currently.  Since allowing exceptions means a
lot of overhead, this commit disables the feature.
2013-01-02 19:12:27 +01:00
Max Kellermann 7768baa4d1 configure.ac: hide internal symbols
Allows eliminating more dead code.  Adds two more C++ options that may
reduce the binary size.
2013-01-02 19:04:23 +01:00
Max Kellermann a9419da09c Makefile.am: eliminate FLAC_COMMON 2012-10-02 10:58:53 +02:00
Max Kellermann ccd7104cdc {decoder,encoder}/flac: drop support for libFLAC 1.1 2012-10-02 10:04:44 +02:00
Max Kellermann d793b7c03f encoder/opus: new encoder plugin for the Opus codec 2012-10-02 00:45:24 +02:00
Max Kellermann aa171dcc18 configure.ac: fix AC_CONFIG_SRCDIR call
main.c has been renamed to Main.cxx.
2012-10-01 13:37:02 +02:00
Avuton Olrich f672e4016f Modify version string to post-release version 0.17.3~git 2012-09-30 03:27:38 -07:00
Avuton Olrich 76e3dec723 mpd version 0.17.2 2012-09-30 03:27:38 -07:00
Max Kellermann 33364edfb3 decoder/adplug: new decoder plugin 2012-09-25 22:03:44 +02:00
Max Kellermann e2a574e2a0 Merge branch 'v0.17.x'
Conflicts:
	src/locate.c
2012-09-25 11:39:01 +02:00
Max Kellermann c93a28c641 configure.ac: don't auto-detect the Vorbis encoder when Tremor is enabled
libvorbisidec and libvorbis export the same symbols, which is a
dangerous thing.  Since libvorbisenc depends on libvorbis, this can
get nasty, so let's disable the Vorbis encoder unless the user
explicitly wants it.
2012-09-25 10:41:39 +02:00
Max Kellermann 1536b5a9d6 src/decoder/opus: new decoder plugin for the Opus codec
Using libopus and libogg.
2012-09-05 23:01:17 +02:00
Max Kellermann 8c763fe458 Makefile.am: rename HAVE_OGG_COMMON to HAVE_XIPH 2012-09-05 22:56:17 +02:00
Max Kellermann 1c3e03837c configure.ac: set VERSION_MINOR to 18
Updates the WIN32 version number for the upcoming 0.18 release.
2012-08-21 18:42:48 +02:00
Max Kellermann efccb6ac82 Merge branch 'v0.17.x' 2012-08-15 01:04:34 +02:00
Max Kellermann 9c83464b95 configure.ac: auto-detect libfluidsynth
Now that the libfluidsynth API was sanitized, we can enable the plugin
automatically if libfluidsynth is installed.
2012-08-15 00:48:52 +02:00
Max Kellermann e291f3d257 decoder/fluidsynth: remove throttle (requires libfluidsynth 1.1)
The libfluidsynth API is now sane, and does not require real-time
decoding.
2012-08-15 00:29:38 +02:00
Max Kellermann 63a2ac21e1 ProxyDatabasePlugin: new database plugin using libmpdclient
Implementation incomplete, but sort-of-works.  DumpDatabase works, but
MPD is still hard-coded on the "simple" plugin.
2012-08-08 01:20:45 +02:00
Max Kellermann b25b7693ba configure.ac: enable --gc-sections
Produce a smaller binary by removing all unused functions.
2012-08-02 19:09:29 +02:00
Max Kellermann 768504e956 configure.ac: enable C++ warnings 2012-08-01 09:59:12 +02:00
Max Kellermann 2571accfc3 configure.ac: require C++11 compiler
We'll add some C++11 code soon.
2012-08-01 09:59:12 +02:00
Max Kellermann 659d1c7cf7 Modify version string to post-release version 0.18~git 2012-08-01 09:58:42 +02:00
Avuton Olrich 281cd7c057 Modify version string to post-release version 0.17.2~git 2012-07-31 19:05:52 -07:00
Max Kellermann 18da582c87 configure.ac: replace MPD_CHECK_FLAG with autoconf-archive scripts
Use standard scripts instead of MPD's custom implementation.
2012-07-30 11:10:04 +02:00