| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
neaacdec.h declares all arguments as "unsigned long", but internally
expects uint32_t pointers. This triggers gcc warnings on 64 bit
architectures. To avoid that, make configure.ac detect whether we're
using Debian's corrected headers or the original libfaad headers. In
any case, pass a pointer to an uint32_t, conditionally casted to
"unsigned long*".
|
| |
|
| |
|
|
|
|
|
|
| |
The build failed when the oggvorbis and oggflac decoders were
disabled, because the flac decoder references a symbol from
_ogg_common.c.
|
| |
|
|
|
|
| |
First alpha version for the upcoming version 0.14.
|
|
|
|
|
| |
Call g_thread_init() from main() to enable the GLib features which
make it thread safe.
|
|
|
|
|
| |
Disable the ffmpeg decoder plugin if avcodec_decode_audio2() is not
available.
|
|
|
|
|
| |
Although there is no AC_SUBST when $enable_mp4=no, autoconf
substitutes its value in Makefile.am. Clear it in this case.
|
|
|
|
| |
The configure flag "--disable-oggflac" disabled only liboggflac.
|
|
|
|
| |
The AC_SUBST() call was missing in the previous patch.
|
|
|
|
|
|
|
| |
MPD used to have a copy of the mp4ff library. Since that has been
removed, AAC suport was disabled when there was no libmp4ff. Separate
the libmp4ff test, and enable AAC support no matter if libmp4ff is
available.
|
|
|
|
|
| |
Due to a missing "test", the "xyes" token was interpreted as a
command.
|
|
|
|
| |
Don't compile the sources of disabled output plugins at all.
|
|
|
|
|
|
|
| |
MPD's HTTP client code has always been broken, no matter how effort
was put into fixing it. Replace it with libcurl, which is known to be
quite stable. This adds a fat library dependency, but only for people
who need streaming.
|
|
|
|
|
|
|
| |
Several clients refuse to accept the protocol version "0.14~git",
because they think it is malformed. This is clearly a client bug, but
we cannot wait for all clients to fix this bug right now. For now,
change the version back to "0.14.0".
|
|
|
|
|
|
|
| |
For testers, it should be clear that they're not using version 0.14.0
final, but an inofficial intermediate version from the git repository.
The protocol version is set to the same string, since the protocol is
subject to change during MPD development.
|
|
|
|
|
| |
Since we're not building the local mp4ff library anymore, we can
remove AC_PROG_LIBTOOL.
|
|
|
|
|
|
| |
MPD shouldn't integrate sources of other libraries. Since libmp4ff is
part of libfaad, we should remove the old copy from src/mp4ff and link
with the current version from libfaad instead.
|
|
|
|
|
| |
libsamplerate 0.1.2 didn't have the 32 bit <-> float conversion
routines. Emulate them in case they aren't supported.
|
|
|
|
|
|
| |
Separate the resampling code from the rest of pcm_utils.c. Create two
sub-libraries: pcm_resample_libsamplerate.c and
pcm_resample_fallback.c.
|
|
|
|
| |
Since ffmpeg svn r13528, you have to link with libavutil manually.
|
|
|
|
|
|
|
|
|
| |
Since ffmpeg svn r12865, you have to include libavcodec/avcodec.h
instead of avcodec.h. This cannot be checked at compile time, instead
we have to add a check to configure.ac. Viliam's original ffmpeg
plugin was based on the newer ffmpeg library, while my Debian
installation had the older version. My attempt to correct his include
statements wasn't correct after all.
|
|
|
|
| |
[mk: use AC_SUBST instead of appending to MPD_CFLAGS / MPD_LIBS]
|
|
|
|
|
|
|
|
| |
With heavy use of conditionals, I broke Makefile.am for the ancient
automake version 1.6. Instead of supporting this automake version
forever, I'm removing support for it now. Since automake isn't
required on the build machine, nobody should have a serious problem
with that.
|
|
|
|
|
| |
Since mpd-mk has become the "official" MPD, the rename from commit
ba892cbc can be reverted.
|
|
|
|
|
|
| |
Patch 25b5d90e broke zeroconf compilation, because it assumed that
$with_zeroconf was set to "yes", although it can be either "bonjour"
or "avahi".
|
|
|
|
|
|
| |
[mk: fixed indent, changed copyright statement, added autoconf test,
fixed includes paths, fixed 2 gcc warnings, don't close input stream
twice]
|
|
|
|
|
| |
Don't compile the sources of disabled decoder plugins at all, and
don't attempt to register these.
|
|
|
|
|
| |
If a feature is disabled, don't compile the source file at all,
disable it completely in Makefile.am instead.
|
|
|
|
|
|
|
|
|
|
|
| |
By default, glibc 2.8 hides struct ucred behind the _GNU_SOURCE
macro. I don't want to enable that globally, because it may encourage
the use of non-portable functions. Test if "struct ucred" is
available, and enable _GNU_SOURCE if required.
For details about that issue, see glib's bug database:
http://sources.redhat.com/bugzilla/show_bug.cgi?id=6545
|
|
|
|
|
| |
Make the configure.ac script more readable by wrapping lines and using
proper indentation.
|
|
|
|
|
| |
Detect the following libraries with pkg-config: libshout, libid3tag,
libmad.
|
|
|
|
|
| |
We're using GLib's character set conversion functions instead of iconv
now.
|
|
|
|
|
| |
The switch from ogg.m4 to pkg-config intentionally disabled
libvorbisenc. Enable it when shout_ogg is used.
|
|
|
|
|
| |
This patch fixes several imports to use pkg-config instead of certain
esoteric tests.
|
|
|
|
|
|
| |
GLib is a nice and portable utility library. We are going to use it
from now on, and eliminate a lot of duplicated code from MPD. Why
invent the wheel again and again?
|
| |
|
|
|
|
|
| |
Removed some configure checks which aren't used anymore since we use
C99.
|
|
|
|
|
| |
Why check for C++ and fortran compilers? This hack was borrowed from
Qball's gmpc git repository.
|
|
|
|
|
| |
Add more configure options which control how MPD is compiled.
--enable-debug is always enabled, until there is a stable release.
|
|
|
|
| |
Yet another gcc flag which gives us lots of interesting warnings.
|
|
|
|
|
| |
Some warning flags may cause errors during library detection code. Do
the CFLAGS checks at the end.
|
|
|
|
|
|
| |
This git branch has become a real MPD fork now. Time to change the
package name to the code name "mpd-mk". Set the version number to
"0.14~git" to mark this as a non-released version.
|
|
|
|
|
| |
This is needed for people that don't use any of the following:
JACK, ALSA, libmikmod, Shout.
|
|
|
|
|
|
|
| |
C99 will soon have its 10th birthday. Let's not beat the dead C89
horse, and raise the compiler requirements. From now on, we need a
C99 compiler. This adds "-std=gnu99" to the GCC compiler options, in
case GCC is used.
|
|
|
|
|
| |
Add information about the M4 macro dir ./m4/ to both configure.ac and
Makefile.am.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[mk: moved this patch after "Refactor and cleanup of shout Ogg and MP3
audio outputs". The original commit message follows, although it is
outdated:]
Creation of shout_mp3 audio output plugin. Basically I just copied the
existing shout plugin and replaced ogg with lame. Uses lame for mp3
encoding. Next step is to pull common functionality out of each shout
plugin and share it between them.
Configuration options for "shout_mp3" are the same as for "shout".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I've perhaps gone a bit overboard, but here's the current rundown:
Both Ogg and MP3 use the "shout" audio output plugin. The shout audio
output plugin itself has two new plugins, one for the Ogg encoder,
and another for the MP3 (LAME) encoder.
Configuration for an Ogg stream doesn't change. For an MP3 stream,
configuration is the same as Ogg, with two exceptions. First, you must
specify the optional "encoding" parameter, which should be set to "mp3".
See mpd.conf(5) for more details. Second, the "quality" parameter is
reversed for LAME, such that 1 is high quality for LAME, whereas 10 is
high quality for Ogg.
I've decomposed the code so that all libshout related operations
are done in audioOutput_shout.c, all Ogg specific functions are in
audioOutput_shout_ogg.c, and of course then all LAME specific functions
are handled in audioOutput_shout_mp3.c.
To develop encoder plugins for the shout audio output plugin, I basically
just mimicked the plugin system used for audio outputs. This might be
overkill, but hopefully if anyone ever wants to support some other sort
of stream, like maybe AAC, FLAC, or WMA (hey it could happen), they will
hopefully be all set.
The Ogg encoder is slightly less optimal under this configuration.
It used to send shout data directly out of its ogg_page structures. Now,
in the interest of encapsulation, it copies the data from its ogg_page
structures into a buffer provided by the shout audio output plugin (see
audioOutput_shout_ogg.c, line 77.) I suspect the performance impact
is negligible.
As for metadata, I'm pretty sure they'll both work. I wrote up a test
scaffold that would create a fake tag, and tell the plugin to send it
out to the stream every few seconds. It seemed to work fine. Of course,
if something does break, I'll be glad to fix it.
Lastly, I've renamed lots of things into snake_case, in keeping with
normalperson's wishes in that regard.
[mk: moved the MP3 patch after this one. Splitted this patch into
several parts; the others were already applied before this one. Fixed
a bunch GCC warnings and wrong whitespace modifications. Made it
compile with mpd-mk by adapting to its prototypes]
|
|
|
|
|
| |
We're pretty careful about using const these days, so
enable these warnings to keep us that way.
|