Max Kellermann
8f326a33ee
test/run_convert: use fifo_buffer to adapt to odd sample sizes
...
Ensure that the pcm_convert() length argument is aligned to the sample
size.
2010-01-16 23:25:58 +01:00
Max Kellermann
030e61115c
playlist: added a FLAC playlist plugin
...
This playlist plugin handles FLAC files with embedded CUE sheets.
2010-01-06 08:50:52 +01:00
Max Kellermann
2f8135ef8b
input/rewind: enable the "rewind" wrapper for all non-seekable streams
...
Don't limit the "rewind" input plugin to CURL streams.
2010-01-04 21:45:32 +01:00
Max Kellermann
9b9abff972
renamed decoder plugin sources
...
Make it X_decoder_plugin.c.
2010-01-04 21:45:32 +01:00
Max Kellermann
241e94936f
replay_gain: moved code to replay_gain_config.c
2010-01-04 21:02:47 +01:00
Max Kellermann
1330274ffc
replay_gain: moved code to replay_gain_info.c
2010-01-04 21:02:36 +01:00
Max Kellermann
0e183d3fa1
replay_gain: refactor API, move code to replay_gain_state.c
...
The replay_gain_state struct holds the precalculated scale factor,
which is removed from struct replay_gain_info.
2010-01-04 20:54:01 +01:00
Max Kellermann
3adfbfe36d
configure.ac: expose variables OPENAL_CFLAGS and OPENAL_LIBS
...
Don't add these to the global MPD_CFLAGS and MPD_LIBS. This allows
test programs to link without libopenal.
2010-01-01 17:10:10 +01:00
Max Kellermann
a0384aaead
Makefile.am: added unit tests for the archive plugins
2009-12-31 15:50:59 +01:00
Max Kellermann
efc885a9dc
Merge vorbis+icy fixes from branch 'v0.15.x'
...
Conflicts:
Makefile.am
NEWS
configure.ac
src/input/curl_input_plugin.c
src/input_stream.c
2009-12-30 23:24:11 +01:00
Max Kellermann
c88f95a2ea
input/rewind: new input_stream wrapper to allow stream rewinding
...
This replaces the rewinding buffer code from the CURL input plugin.
It is more generic, and allows rewinding even when the server sends
Icy-Metadata (which would have been too difficult to implement within
the CURL plugin).
This is a rather complex patch for the stable branch (v0.15.x), but it
fixes a serious problem: the "vorbis" decoder plugin was unable to
play streams with Icy-Metadata, because it couldn't rewind the stream
after detecting the codec (Vorbis vs. FLAC).
2009-12-29 23:55:40 +01:00
Max Kellermann
333e11d0eb
Merged release 0.15.7 from branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
src/decoder_api.c
2009-12-27 20:10:45 +01:00
Max Kellermann
a1939f3966
Makefile.am: create doxygen output directory
2009-12-26 02:58:30 +01:00
Max Kellermann
870436a592
output_init: use the normalize filter plugin
...
Use the plugin instead of the glue code in normalize.c. This is used
wrapped inside a "autoconv" filter, to enable normalization for all
input file formats.
2009-12-25 17:51:08 +01:00
Max Kellermann
6a17233f78
filter: added the "autoconvert" filter plugin
2009-12-25 17:51:05 +01:00
Max Kellermann
3679d5bd7a
playlist: added CUE playlist plugin
...
This plugin is the groundwork for MPD's future generic CUE sheet
support. That's not complete yet, e.g. there is no way for a playlist
plugin to address an arbitrary position within a music file.
2009-12-16 22:19:01 +01:00
Max Kellermann
0bc8c0c1da
archive_plugin: wrap method calls
...
Make archive_file a "real" struct, extended by all plugins. Add the
plugin pointer to it. Wrap all method calls in functions.
2009-12-16 17:09:58 +01:00
Max Kellermann
b04adde7ab
archive: added a C header for each plugin
...
Moved the archive plugin "extern" declarations into each plugin
header.
2009-12-16 15:57:16 +01:00
Max Kellermann
b009970af7
archive/bz2: renamed archive sources and plugin variables
2009-12-16 15:55:48 +01:00
Max Kellermann
bd97586cc4
archive/iso: renamed plugin to "iso9660"
...
Based on libiso9660.
2009-12-16 15:55:37 +01:00
Max Kellermann
971c9671f6
Makefile.am: link test/run_decoder with timer.c
...
For the fluidsynth plugin.
2009-12-15 23:11:57 +01:00
Max Kellermann
c959148ed1
archive/zip: renamed plugin to "zzip"
...
This plugin is based on libzzip.
2009-12-15 20:29:44 +01:00
Max Kellermann
aef6609f4f
archive_api.h: moved struct archive_plugin to archive_plugin.h
2009-12-15 19:02:24 +01:00
Max Kellermann
9715218d40
Makefile.am: distribute AudioCompress/config.h
...
This fixes "make distcheck".
2009-12-15 07:38:30 +01:00
Max Kellermann
c0b8c2c73b
Makefile.am: install glib_compat.h
2009-12-14 23:26:23 +01:00
Max Kellermann
f70d2f58a1
input_stream: moved input_stream_global_init() to input_init.c
2009-12-14 22:53:13 +01:00
Max Kellermann
67b0ab717e
input_stream: moved plugin list to input_registry.c
2009-12-14 22:49:46 +01:00
Max Kellermann
400600ffff
filter: added normalize filter plugin
...
Wrap the AudioCompress library in a filter plugin.
2009-12-14 22:24:00 +01:00
Albin Eldstål-Damlin
0ac0bd26e7
Split filter_config into its own module
2009-12-14 22:12:58 +01:00
Albin Eldstål-Damlin
e28c5a0beb
Initial (statically configured) route filter plugin
2009-12-14 17:41:28 +01:00
Max Kellermann
c412d6251e
audio_format: changed "bits" to "enum sample_format"
...
This patch prepares support for floating point samples (and probably
other formats). It changes the meaning of the "bits" attribute from a
bit count to a symbolic value.
2009-12-02 22:29:50 +01:00
Max Kellermann
68c2cfbb40
test: added normalize test program
2009-12-02 21:56:02 +01:00
J. Shagam
4076523198
compress: upgraded to AudioCompress 2.0
...
Copied sources from
http://beesbuzz.biz/code/audiocompress/AudioCompress-2.0.tar.gz
[mk: created this patch under fluffy's name and fixed some gcc
signed/unsigned comparison warnings]
2009-12-02 18:11:53 +01:00
Max Kellermann
5a480137d2
test: added program to test pcm_convert.c
2009-11-19 21:00:46 +01:00
Viliam Mateicka
5420f9ae76
encoder: introducing flac encoder plugin
2009-11-17 19:41:35 +01:00
Max Kellermann
cef5dcc0a1
audio_format: added function audio_format_to_string()
...
Unified function for converting an audio_format object to a string,
for log messages and for the "status" command.
2009-11-14 01:15:26 +01:00
Max Kellermann
719990b1c5
decoder: use audio_format_init_checked()
...
Let the audio_check library verify the audio format in all (relevant,
i.e. non-hardcoded) plugins.
2009-11-14 00:47:22 +01:00
Max Kellermann
f47bb8c1db
audio_check: checker functions for audio_format attributes
...
These functions are a wrapper for audio_valid_X(). On error, they
return a GError object.
2009-11-14 00:47:19 +01:00
Max Kellermann
5b82ffc291
include config.h in all sources
...
After we've been hit by Large File Support problems several times in
the past week (which only occur on 32 bit platforms, which I don't
have), this is yet another attempt to fix the issue.
2009-11-12 09:17:03 +01:00
Max Kellermann
5bbaf0c9f1
decoder/flac: moved code to flac_compat.h
2009-11-11 16:43:34 +01:00
Max Kellermann
d605329f83
decoder/flac: moved code to flac_pcm.c
2009-11-11 07:59:22 +01:00
Max Kellermann
f6e7dffada
decoder/flac: moved code to flac_metadata.c
2009-11-11 07:50:40 +01:00
Viliam Mateicka
79035d7ed9
wave_encoder: new encoder for streaming PCM wave files.
...
When using wave encoder with httpd audio output mpd can input this stream via http and audiofile decoder.
This for example opens simple way to configure lossless audio streaming port(like jack or pulseaudio does but without overhead).
Another possibility can be using it for gathering raw data for visualization plugins (If sync issue will be resolved)
2009-11-10 22:29:54 +00:00
Max Kellermann
e3af0032b2
set the close-on-exec flag on all file descriptors
...
Added the "fd_util" library, which attempts to use the new thread-safe
Linux system calls pipe2(), accept4() and the options O_CLOEXEC,
SOCK_CLOEXEC. Without these, it falls back to FD_CLOEXEC, which is
not thread safe.
This is particularly important for the "pipe" output plugin (and
others, such as JACK/PulseAudio), because we were heavily leaking file
descriptors to child processes.
2009-11-07 18:55:16 +01:00
Max Kellermann
2f1bd39be8
command: added command "decoders"
...
This command prints a list of decoder plugins and their suffixes /
MIME types.
2009-11-07 15:57:22 +01:00
Max Kellermann
e3da174fca
decoder_list: moved suffix/mime_type checks to decoder_plugin.c
2009-11-07 15:14:11 +01:00
Max Kellermann
f3203b5de5
playlist: added extm3u plugin
...
This new plugin parses extm3u files. Files without the "#EXTM3U"
header are still parsed by the plain old "m3u" plugin.
2009-11-06 00:41:42 +01:00
Max Kellermann
9bcfd3a47d
text_file: allocate line buffers dynamically
...
Use a single GString buffer object in all functions loading the
database. Enlarge it automatically for long lines. This eliminates
the maximum line length for tag values. There is still an upper limit
of 512 kB to prevent denial of service, but that's reasonable I guess.
2009-11-01 15:37:16 +01:00
Viliam Mateicka
a13e9832e7
encoder: renaming none_encoder to null_encoder
2009-10-26 20:02:34 +01:00
Viliam Mateicka
2bfddd4310
encoder: new encoder plugin which just pass data through
2009-10-24 19:01:15 +02:00