| Commit message (Collapse) | Author | Files | Lines |
|
Added diversion functions to pcm_resample.c. These check which
resampler is enabled at compile time (libsamplerate or fallback).
This prepares the following patch.
|
|
sparse cannot deal with C++.
|
|
sparse complains that a lot of limit.h macros are missing. Define
them to keep sparse quiet.
|
|
This patch allows the output plugins to import only mixer_list.h,
instead of the full mixer_api.h (which would expose internal
structures).
|
|
mixer_control.h should provide the functions needed to manipulate a
mixer, without exposing the internal mixer API (which is provided by
mixer_api.h).
|
|
|
|
|
|
That linker flag got lost when AM_LDFLAGS was removed.
|
|
|
|
|
|
Passing libraries through LDFLAGS is a mistake that causes link to fail
when using --as-needed. Since the ld arguments are positional, so are
libtool's. Use the proper variable, thus, to pass the libraries.
|
|
The "run_output" program can be used to test an audio output plugin in
an isolated environment.
|
|
|
|
Memory poisoning is useful for marking memory regions as "undefined".
This poisoning only enabled in the debug build (!NDEBUG).
|
|
This patch introduces the mixer for the pulse output.
Technically speaking, the pulse index is needed to get or set
the volume. You must define callback fonctions to get this index since
the pulse output in mpd is done using the simpe api. The pulse simple api
does not provide the index of the newly defined output.
So callback fonctions are associated to the pulse context.
The list of all the sink input is then retreived.
Then we select the name of the mpd pulse output and control
its volume by its associated index number.
Signed-off-by: Patrice Linel <patnathanael@gmail.com>
Signed-off-by: David Guibert <david.guibert@gmail.com>
[mk: fixed whitespace errors and broke long lines; removed
daemonization changes from main.c]
|
|
Turn the music_pipe into a simple music_chunk queue. The music_chunk
allocation code is moved to music_buffer, and is now managed with a
linked list instead of a ring buffer. Two separate music_pipe objects
are used by the decoder for the "current" and the "next" song, which
greatly simplifies the cross-fading code.
|
|
Added music_pipe_allocate(), music_pipe_push() and
music_pipe_cancel(). Those functions allow the caller (decoder thread
in this case) to do its own chunk management. The functions
music_pipe_flush() and music_pipe_tag() can now be removed.
|
|
|
|
The lastfm input plugin enables MPD to play lastfm:// URLs. This
plugin is not complete yet: it plays only the first song in the
last.fm playlist, and the playlist parser isn't even implemented
properly.
|
|
Create a sub directory for input plugins.
|
|
Start to separate private from public input_stream API.
|
|
Added a small AIFF parser library, code copied from the RIFF parser
(big-endian integers). Look for an "ID3" chunk, and let libid3tag
parse it.
|
|
Added a small RIFF parser library. Look for an "id3" chunk, and let
libid3tag parse it.
|
|
Even when --enable-documentation is passed, don't abort if "xmlto" was
not found.
|
|
The output path must be ./doc/protocol/, not ./protocol/
|
|
|
|
|
|
[mk: adapted to new output plugin API]
|
|
Create the socket_util.c library, the first function is
sockaddr_to_string(): it converts a sockaddr struct to a string
containing the IP address in a human-readable form.
|
|
Use config_get_block_string("name") instead of audio_output_get_name().
|
|
Added a command line program which runs an encoder plugin.
|
|
Added a command line program which runs a decoder plugin.
|
|
Moved generic compiler options to AM_CFLAGS. MPD_CFLAGS/MPD_LIBS will
hopefully fade away one day, in favor of more fine-grained variables.
|
|
Renamed the old AM_CFLAGS to AM_CPPFLAGS, because it contained only
preprocessor options. Append it to src_mpd_CPPFLAGS. Removed
GLIB_LIBS from src_mpd_CPPFLAGS, because it is already part of
AM_LDFLAGS.
|
|
Added "make" variables for the sources and dependencies of each
subsystem (archive, input, output, decoder, encoder, mixer).
|
|
"ls" is a bad name for a library which parses URIs. We'll move the
rest of the "ls" library later.
|
|
Recursive Makefiles are inefficient and error prone (no proper way to
declare dependencies). Since there's no disadvantage in having one
single Makefile, let's do it.
|
|
This program is a simple utility for debugging and benchmarking the
software volume code.
|
|
The switch syntax is "--enable-test". There are no test programs yet.
|
|
Don't distribute the whole scripts/ directory, because this may
include editor backup files and other temporary files.
|
|
The m4 files are automatically included in the distribution.
|
|
Add separate files. This fixes "make distcheck".
|
|
|
|
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.
|
|
When building with the ancient automake 1.6 version, the following
errors occur:
Makefile.am:5: invalid variable `doc_DATA'
doc/Makefile.am:2: invalid variable `doc_DATA'
This patches renames some internal variables.
|
|
autotools are somewhat ugly, but that doesn't justify duplicating its
effort with another complex build system.
|
|
Makefile.am sets docdir = $(prefix)/share/doc/$(PACKAGE). This
overrides the setting specified in ./configure --docdir.
|
|
* Add missing headers in Makefile.am
* remove mp4ff.dsp (Win32 crap)
* Add scripts, m4, bs, autogen.sh to allow for hotfixes by the
SCM-challenged. (downloading the source via git is NOT a
lightweight operation for everybody).
|
|
Add information about the M4 macro dir ./m4/ to both configure.ac and
Makefile.am.
|
|
thread-safety work in preparation for rewrite to use pthreads
Expect no regressions against trunk (r7078), possibly minor
performance improvements in update (due to fewer heap
allocations), but increased stack usage.
Applied the following patches:
* maxpath_str for reentrancy (temporary fix, reverted)
* path: start working on thread-safe variants of these methods
* Re-entrancy work on path/character-set conversions
* directory.c: exploreDirectory() use reentrant functions here
* directory/update: more use of reentrant functions + cleanups
* string_toupper: a strdup-less version of strDupToUpper
* get_song_url: a static-variable-free version of getSongUrl()
* Use reentrant/thread-safe get_song_url everywhere
* replace rmp2amp with the reentrant version, rmp2amp_r
* Get rid of the non-reentrant/non-thread-safe rpp2app, too.
* buffer2array: assert strdup() returns a usable value in unit tests
* replace utf8ToFsCharset and fsCharsetToUtf8 with thread-safe variants
* fix storing playlists w/o absolute paths
* parent_path(), a reentrant version of parentPath()
* parentPath => parent_path for reentrancy and thread-safety
* allow "make test" to automatically run embedded unit tests
* remove convStrDup() and maxpath_str()
* use MPD_PATH_MAX everywhere instead of MAXPATHLEN
* path: get rid of appendSlash, pfx_path and just use pfx_dir
* get_song_url: fix the ability to play songs in the top-level music_directory
git-svn-id: https://svn.musicpd.org/mpd/trunk@7106 09075e82-0dd4-0310-85a5-a0d7c8717e4f
|