Max Kellermann
530e480748
Merge branch 'v0.15.x'
...
Conflicts:
src/archive/bz2_plugin.c
src/archive_api.h
src/input/file_input_plugin.c
test/run_input.c
2009-12-15 20:26:38 +01:00
Max Kellermann
81aa58efa8
test/run_input: deinitialize everything after open() error
...
This enables valgrind debugging after an error occurred.
2009-12-15 19:40:47 +01:00
Max Kellermann
83aac2a057
test/run_input: initialize archive plugins
...
Enable archive plugin debugging.
2009-12-15 19:40:14 +01:00
Max Kellermann
786c1f035f
input_plugin: method init() returns errors with GError
...
Not used by any plugin currently, but this eliminates the g_error()
call in input_plugin_config(), so it's worth it.
2009-12-14 23:16:18 +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
bf6258f582
test/run_{decoder,filter}: implemented GLib log callback
...
Log to stderr, not to stdout (which broke PCM output).
2009-12-14 21:26:57 +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
Max Kellermann
5a480137d2
test: added program to test pcm_convert.c
2009-11-19 21:00:46 +01:00
Max Kellermann
943bafbbc8
test/software_volume: check for errors
2009-11-19 21:00:39 +01:00
Max Kellermann
b772f26213
test/software_volume: fixed audio_format parser
...
Assign default value only if none was given on the command line.
2009-11-19 20:36:04 +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
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
6a5f4651a1
test: fixed the read_mixer program on !HAVE_PULSE
2009-11-10 21:38:20 +01:00
Max Kellermann
8bfe3497b0
replay_gain: trigger OPTIONS idle event on mode change
2009-11-01 15:44:56 +01:00
Max Kellermann
bde3d14339
output: consistently lock audio output objects
...
Always keep the audio_output object locked within the output thread,
unless a plugin method is called. This fixes several race conditions.
2009-10-29 17:06:40 +01:00
Max Kellermann
c426a0bc5c
output/pulse: call mixer on state changes
...
Don't let the mixer plugin "override" the libpulse callbacks.
Instead, add a "mixer" attribute to the pulse_output struct, and call
the mixer on all interesting events.
2009-10-23 10:33:26 +02:00
Max Kellermann
9526fdbe73
audio_format: wildcards allowed in audio_format configuration
...
An asterisk means that this attribute should not be enforced, and
stays whatever it used to be. This way, some configuration values
work like masks.
2009-10-21 23:01:04 +02:00
Max Kellermann
b479a264b6
pulse: code rewrite using the asynchronous libpulse API
...
This is a complete rewrite of the PulseAudio output plugin. It uses
the asynchronous API, which gives us more control over everything.
Additionally, it connects to the PulseAudio server on startup, and
keeps this connection up while MPD runs. During pause, instead of
closing the stream, it enables "cork".
2009-10-21 10:30:42 +02:00
Max Kellermann
ac32f36e4e
mixer_plugin: pass audio_output pointer to mixer_plugin.init()
...
This allows the mixer object to access its associated audio output
object.
2009-10-21 09:48:41 +02:00
Max Kellermann
4e2fb3fb89
mixer_plugin: use GError for error handling
2009-10-20 22:10:56 +02:00
Max Kellermann
097e200a97
mixer/{oss,alsa}: renamed the mixer source files
2009-10-20 21:23:05 +02:00
Max Kellermann
f7ce4f6239
song: renamed attribute "url" to "uri"
2009-10-13 18:01:06 +02:00
Max Kellermann
898d885ae2
test/dump_playlist: try playlist_list_open_uri() first
2009-10-13 16:25:37 +02:00
Max Kellermann
eea4edd92c
test/dump_playlist: parse a configuration file
2009-10-13 16:20:21 +02:00
Max Kellermann
2bf740fc71
playlist_plugin: new plugin API for playlist parsers
...
Based on this API, we will add parsers for EXTM3U, PLS, ASX, last.fm
radio and others.
There is no integration into the MPD core yet. Right now, we have a
command line test program. This is work in progress.
2009-10-12 22:34:04 +02:00
Max Kellermann
06d5d4b03e
conf: handle fatal errors with GError
...
Don't call g_error(), which will abort the process and dump core.
This patch does not affect all the config_get_X() functions. These
need some more refactoring.
2009-09-24 21:40:07 +02:00
Max Kellermann
c3e02bec3b
test: initialize locale in read_tags.c
2009-08-04 00:41:06 +02:00
Max Kellermann
54889c72e3
pcm_convert: use GError for error handling
...
Don't abort the whole MPD process when the conversion fails. This has
been a denial-of-service attack vector for years.
2009-07-23 12:01:03 +02:00
David Woodhouse
37754559b8
Add audio_format_init() function
...
It makes no difference right now, but we're about to add an endianness
flag and will want to make sure it's correctly initialised every time.
2009-07-19 16:54:11 +01:00
Max Kellermann
5d74b1efef
mixer/software: new mixer which controls filter/volume
...
This mixer plugin may be used instead of the traditional global
software mixer. It integrates with the "volume" filter plugin, and
can control the software volume of an audio output which has no
hardware mixer.
2009-07-06 21:52:15 +02:00
Max Kellermann
e47bdfe8e6
output: attach a filter chain to each audio_output
...
This patch adds initial filter support for audio outputs. Each audio
output gets a "filter" attribute, which is used by ao_play_chunk().
The PCM conversion is now performed by convert_filter_plugin.
audio_output.convert_state has been removed.
2009-07-06 10:01:47 +02:00
Max Kellermann
86e279f886
filter/volume: don't use volume_level_get()
...
Added public methods to get and set the current volume.
2009-07-05 16:31:47 +02:00
Max Kellermann
12e82b9e33
test: added program "run_filter"
...
This program runs filter plugins in an isolated environment.
2009-07-05 06:54:48 +02:00
Max Kellermann
ddc2694419
conf: eliminated CamelCase
...
Renamed all remaining CamelCase functions.
2009-06-03 06:55:04 +02:00
Max Kellermann
feae8b8f68
test/run_encoder: flush the encoder before exiting
2009-05-05 22:51:22 +02:00
Max Kellermann
63710ff5a6
test: added program "read_mixer"
...
This little program is used to test mixer plugins in an isolated
environment. This is ALSA-only currently, because we don't have a
real "plugin list" yet, and I'm too lazy to implement a switch.
2009-04-21 22:46:41 +02:00
Max Kellermann
99a88988d5
test: added run_input test program
2009-04-13 19:18:10 +02:00
Max Kellermann
e823e78d0f
test: added configuration file reader
2009-04-10 09:14:12 +02:00
Avuton Olrich
0aee49bdf8
all: Update copyright header.
...
This updates the copyright header to all be the same, which is
pretty much an update of where to mail request for a copy of the GPL
and the years of the MPD project. This also puts all committers under
'The Music Player Project' umbrella. These entries should go
individually in the AUTHORS file, for consistancy.
2009-03-13 11:51:55 -07:00
Max Kellermann
79ef9166df
test: added program "run_output"
...
The "run_output" program can be used to test an audio output plugin in
an isolated environment.
2009-03-10 15:46:55 +01:00
Viliam Mateicka
39fb8bebc2
test: init input streams cause decoders are using it
2009-03-03 21:30:26 +01:00
Max Kellermann
9cd5b0af74
test/run_decoder: initialize decoder.initialized
...
Keep valgrind happy.
2009-03-02 23:09:58 +01:00
Max Kellermann
a2e47d55eb
test/run_decoder: initialize the input plugins
2009-03-02 23:08:24 +01:00
Max Kellermann
b7bfa24f22
pcm_volume: return bool
...
Don't abort MPD when a sample format is not supported by pcm_volume().
2009-03-02 09:42:16 +01:00
Max Kellermann
362cc22558
test: added test program which reads tags from a file
2009-02-28 17:04:37 +01:00
Max Kellermann
4726c7f709
test: added encoder test program
...
Added a command line program which runs an encoder plugin.
2009-02-25 17:12:14 +01:00
Max Kellermann
e0e92e050e
test: added decoder test program
...
Added a command line program which runs a decoder plugin.
2009-02-25 17:09:09 +01:00
Max Kellermann
7957fefc91
test/software_volume: pass error->message to g_printerr()
...
Fix a gcc warning.
2009-02-25 16:44:05 +01:00
Max Kellermann
76dc9ac5f9
test: added command line test program for pcm_volume.c
...
This program is a simple utility for debugging and benchmarking the
software volume code.
2009-02-18 22:27:55 +01:00