Dustin Puckett
79e0db4ca0
output/raop: new output plugin
...
Remote Audio Output Protocol (RAOP), for Apple devices.
2011-01-28 21:17:09 +01:00
Yuriy Kaminskiy
9ae3acf2e7
mpg123 decoder: implement seeking
2011-01-21 15:37:08 +01:00
Yuriy Kaminskiy
731ea9b489
mpg123 decoder: report bitrate
2011-01-21 15:37:08 +01:00
Max Kellermann
18b30b5019
decoder_thread: fix assertion failure at song end
...
Don't finish the current command twice.
This bug was never noticed, but was revealed by a new assertion check.
2011-01-16 17:52:03 +01:00
Max Kellermann
24d51b9d14
doc: add a list of encoder plugins
2011-01-10 23:13:01 +01:00
Max Kellermann
a1edc199df
output_control: document internal functions
2011-01-10 22:16:44 +01:00
Max Kellermann
db4aa81528
output_control: move code to ao_lock_command()
2011-01-10 21:54:43 +01:00
Max Kellermann
319ba94a52
output_control: ao_command() calls ao_command_async()
...
Merge some code.
2011-01-10 21:52:38 +01:00
Max Kellermann
1025f0be91
update_remove: use plain GCond instead of notify
...
GMutex/GCond guarantee that the access to removed_song is protected.
2011-01-10 21:40:15 +01:00
Max Kellermann
77d3b5e8f1
include cleanup
2011-01-10 21:38:11 +01:00
Max Kellermann
a0ad96a787
decoder_control: store GCond object, not a player_control
...
Remove the decoder dependency on player_control. All player_control
was needed for is to signal the player thread, and we can do that with
a simple GCond as well.
2011-01-10 21:27:43 +01:00
Max Kellermann
39c5af5dbc
decoder_thread: move code to decoder_command_finished_locked()
2011-01-10 21:08:16 +01:00
Max Kellermann
acca6a799b
decoder_control: remove unused function dc_command_wait()
...
Only dc_command_wait_locked() is really being used.
2011-01-10 21:08:16 +01:00
Max Kellermann
b77e62260a
decoder_control: replace dc_init() with dc_new()
...
dc_new() allocates the object and returns it. dc_free() frees it
(replaces dc_deinit()).
2011-01-10 20:46:04 +01:00
Max Kellermann
b6995ca011
player_control: removed the global variable "pc"
...
Allocate a player_control object where needed, and pass it around.
Each "client" object is associated with a "player_control" instance.
This prepares multi-player support.
2011-01-10 19:46:23 +01:00
Max Kellermann
715844fd08
dbUtils: don't use directoryAddSongToPlaylist() twice
...
In findAddInDirectory(), call playlist_append_song() directly, to have
some more type checking.
2011-01-10 19:46:14 +01:00
Max Kellermann
2b29ca796e
Merge commit 'release-0.16.1'
...
Conflicts:
NEWS
2011-01-10 11:47:14 +01:00
Avuton Olrich
9ad862d3a6
mpd version 0.16.1
2011-01-09 18:00:12 -08:00
Yuriy Kaminskiy
77d71c4ee6
Makefile.am: resolve modplug vs. libsndfile cflags/headers conflict
...
A bit of automake magic (see info automake "Per-Object Flags").
Compile-tested.
2011-01-09 18:21:27 +01:00
Max Kellermann
5184008812
input_init: add assertions on completeness of plugins
2011-01-08 18:27:57 +01:00
Max Kellermann
cf696ce443
input/cdio_paranoia: add module name
...
Seems like we forgot to give this module a name... this can crash MPD
on startup.
2011-01-08 18:27:57 +01:00
Max Kellermann
1a2ea4c06c
Merge branch 'v0.16.x'
...
Conflicts:
NEWS
configure.ac
2011-01-07 23:52:23 +01:00
Max Kellermann
8c0afd8557
Merge branch 'v0.15.x' into v0.16.x
...
Conflicts:
NEWS
configure.ac
src/directory.h
2011-01-07 23:50:23 +01:00
Max Kellermann
2a56300f7b
player_thread: discard empty chunks while cross-fading
...
When a music_chunk to be crossfaded consists only of a tag,
cross-fading is not possible, and led to an assertion failure. This
patch just discards those, as if cross-fading was not enabled.
2011-01-07 23:45:51 +01:00
Max Kellermann
5f06999686
output_thread: fix double lock
...
During the whole output thread, the audio_output object is locked, and
it is only unlocked while waiting for the GCond and while running a
plugin method. The error handler in ao_play_chunk() attempted to lock
the object again, which was code from MPD 0.15.x which should have
been removed a long time ago.
2011-01-07 23:08:18 +01:00
Max Kellermann
4c09aeb5a1
player_thread: fix assertion failure due to early seek
...
Until the decoder plugin has called decoder_initialized(), the player
may not submit seek commands. This however could occur with a slow
decoder and a CUE file with a virtual song offset. This patch adds
another check.
2011-01-07 22:52:50 +01:00
Max Kellermann
af892e7e80
player_thread: make variables more local
2011-01-07 22:33:10 +01:00
Max Kellermann
0022fb100b
encoder/lame: explicitly configure the output sample rate
...
When you don't explicitly set an output sample rate, liblame tries to
guess an output sample rate from the input sample rate. You would
think that this "guessing" consists of just setting both equal, but
that is not the case. For 44.1kHz at 96kbit/s, liblame chooses
32kHz. This patch explicitly configures the output sample rate, to
stop the bad guessing.
2011-01-07 19:37:39 +01:00
Max Kellermann
4f2d67dfb0
output/httpd: define G_LOG_DOMAIN in httpd_client.c
2011-01-07 18:00:12 +01:00
Max Kellermann
b5645ab29f
output/osx: fix up audio format first, then apply it to device
...
This is a MPD 0.16 regression: when playing a 24 bit file, the switch
to 16 bit was made only partially, after mBytesPerPacket and
mBytesPerFrame had already been applied.
That means mBytesPerFrame referred to 24 bit, and mBitsPerChannel
referred to 16 bits. Of course, that cannot work.
2011-01-07 17:31:36 +01:00
Max Kellermann
3149d1abf9
configure.ac: eliminate bashism "echo -n"
...
Use "printf" instead.
2011-01-07 17:31:30 +01:00
Max Kellermann
59a417fc84
configure.ac: avoid GNU extension in "expr match" call
2011-01-07 17:29:19 +01:00
Max Kellermann
b75d53413d
configure.ac: use AC_LANG_SOURCE
...
Fixes autotools warnings.
2011-01-07 17:25:52 +01:00
Max Kellermann
c44a744c0b
fix version number in NEWS
2011-01-07 17:25:25 +01:00
Anton Khirnov
a800afcbf8
docs: mention 'sticker' idle event
2011-01-05 13:03:17 +01:00
Ben Kibbey
ff4534613a
Build fix for Linux. Define _GNU_SOURCE in src/server_socket.c.
2010-12-27 04:36:23 +01:00
Max Kellermann
b8fe2c74bc
Makefile.am: generate doxygen.conf
...
Don't create a modified copy for out-of-tree builds.
2010-12-24 00:25:31 +01:00
Max Kellermann
be3b5199b0
stored_playlist: remove database lookups from spl_load()
...
Don't look up songs in the database, no caller needs this.
2010-12-23 16:25:37 +01:00
Max Kellermann
d849a40af6
stored_playlist: ignore empty lines
2010-12-23 16:25:22 +01:00
Max Kellermann
4f48c10312
stored_playlist: use the text_file library to read lines
2010-12-23 16:25:05 +01:00
Max Kellermann
5274fee8a7
playlist_song: add flag "secure"
...
Optionally allow all local files.
"Insecure" mode is used for printing playlists.
2010-12-23 16:24:00 +01:00
Max Kellermann
5462f34ed0
string_util: add function strchug_fast()
...
Replace g_strchug() calls with a cheaper implementation.
2010-12-23 16:23:20 +01:00
Max Kellermann
0958ed5844
utils: move string_array_contains() to string_util.c
2010-12-23 16:23:04 +01:00
Max Kellermann
e3cba18532
decoder: new "pcm" decoder plugin
...
Just there to support the "cdio_paranoia" input plugin.
2010-12-22 09:48:48 +01:00
Max Kellermann
9bf7fde49f
configure.ac: hook the cdio_paranoia input plugin
2010-12-22 09:44:02 +01:00
Max Kellermann
4783ebc918
input/cdda: rename plugin to "cdio_paranoia"
2010-12-22 09:43:57 +01:00
Max Kellermann
8bda52783b
input/cdda: support reading the whole disc
2010-12-22 09:43:53 +01:00
Max Kellermann
07feec7ea6
input/cdda: remove unused function input_cdda_archive_extract_trackno()
2010-12-22 09:43:49 +01:00
Max Kellermann
e7471f589a
input/cdda: import missing pcm16_to_wave() from the wave encoder
2010-12-22 09:43:47 +01:00
Max Kellermann
24208be5cf
input/cdda: implement parse_cdda_uri()
...
Was missing.
2010-12-22 09:43:41 +01:00