Max Kellermann
d86ee93801
filter/Route: don't access PcmBuffer attributes directly
...
Return the pointer given by PcmBuffer::Get() instead of reaching into
the PcmBuffer object.
2013-08-07 18:23:34 +02:00
Alexander Gehrke
87b7328463
CommandLine.cxx: look for config file in XDG_CONFIG_HOME too
...
Look for "$XDG_CONFIG_HOME/mpd/mpd.conf", similar to where mpd looks
for the file under Windows.
2013-08-07 18:22:27 +02:00
Alexis Ballier
3f846cf6b8
FfmpegDecoderPlugin: Allocate the interleaved buffer as needed instead of using an arbitrary big constant.
...
Also, save a memcpy when FFmpeg outputs interleaved audio.
Fixes build with FFmpeg 2.0.
2013-08-07 15:07:41 +02:00
Max Kellermann
f2ce8c3b62
event/EventFD: move to libsystem
2013-08-07 11:52:26 +02:00
Max Kellermann
4223657ab8
event/SignalMonitor: use signalfd() if available
2013-08-07 11:03:47 +02:00
Max Kellermann
930128a7ea
SignalHandlers: move code to new class SignalMonitor
2013-08-07 10:56:33 +02:00
Max Kellermann
db447440ff
event/Event{Pipe,FD}: auto-create in constructor
...
Errors are fatal now. This makes the class a lot easier to use.
2013-08-07 10:53:22 +02:00
Max Kellermann
b70d38dc10
Makefile.am: move sources to libsystem.a
2013-08-07 10:31:31 +02:00
Max Kellermann
a27d105dcd
FatalError: new library to replace mpd_error.h
2013-08-07 10:08:36 +02:00
Max Kellermann
67e44b0f2c
daemon: convert to C++
2013-08-07 09:53:33 +02:00
Max Kellermann
bf840700e4
test/signals: remove obsolete library
2013-08-07 09:51:43 +02:00
Max Kellermann
47e16dbee3
configure.ac: add option --enable-eventfd
...
Remove the runtime check for eventfd(), hard-code the feature once
it's been selected at compile time. The class WakeFD is splitted into
EventFD and EventPipe, using WakeFD as a macro diversion.
2013-08-06 23:32:21 +02:00
Max Kellermann
66f678023f
util/Manual: add missing include <utility>
2013-08-06 22:34:20 +02:00
Max Kellermann
132971f8eb
playlist/pls: use std::string instead of GString
2013-08-06 09:32:08 +02:00
Max Kellermann
3f04a4d635
encoder/lame: dynamic output buffer
2013-08-06 09:13:28 +02:00
Max Kellermann
17c8e839b6
encoder/lame: use delete instead of g_free()
2013-08-06 09:13:07 +02:00
Max Kellermann
348bdcd7b7
encoder/lame: use lame_encode_buffer_interleaved()
...
Don't deinterleave manually, don't allocate memory.
2013-08-06 09:10:30 +02:00
Max Kellermann
a32443c63b
encoder/lame: use offset variable instead of memmove()
2013-08-06 09:02:48 +02:00
Max Kellermann
7e53934ce3
encoder/lame: rename "buffer" to "output_buffer"
2013-08-06 09:02:48 +02:00
Max Kellermann
7c2b553364
playlist/EmbbeddedCue: convert to class
2013-08-05 22:23:33 +02:00
Max Kellermann
409fc837ab
playlist/lastfm: convert to class
2013-08-05 21:44:34 +02:00
Max Kellermann
6d0ada7f45
playlist/lastfm: allocate the lastfm_playlist object at the end
...
Simplify the error path, because the other allocations may fail.
2013-08-05 21:31:54 +02:00
Max Kellermann
af63372d2b
playlist/m3u: allocate ExtM3uPlaylist with new/delete
2013-08-05 21:28:19 +02:00
Max Kellermann
3e91f757a9
playlist/extm3u: allocate ExtM3uPlaylist with new/delete
2013-08-05 21:25:25 +02:00
Max Kellermann
498491ec05
decoder/ffmpeg: convert struct mpd_ffmpeg_stream to a class
2013-08-05 00:15:25 +02:00
Max Kellermann
85b77b81ca
*: use gcc.h macros instead of GLib
2013-08-04 23:48:01 +02:00
Andrzej Rybczak
5bf2ec5a74
DatabasePrint: print Last-Modified attribute for directories
2013-08-04 23:29:24 +02:00
Max Kellermann
9e715089a4
Commands: new command "toggleoutput"
2013-08-04 23:21:23 +02:00
Max Kellermann
1a852bc365
configure.ac: increase protocol version to 0.18
2013-08-04 23:21:23 +02:00
Max Kellermann
9326ce53ec
Merge tag 'release-0.17.5'
2013-08-04 14:36:22 +02:00
Max Kellermann
d8217c364a
release 0.17.5
2013-08-04 14:21:45 +02:00
Justin Riley
3a34fd181d
FfmpegDecoderPlugin: add application/flv to mime types list
2013-08-04 14:20:16 +02:00
Max Kellermann
fcb7233b25
ConfigData: remove obsolete functions
2013-08-04 14:07:50 +02:00
Max Kellermann
fe53a376a3
PlaylistPlugin: pass config_param reference
2013-08-04 14:07:50 +02:00
Max Kellermann
65842cd99e
DatabasePlugin: pass config_param reference
2013-08-04 14:07:50 +02:00
Max Kellermann
bf6ed643e0
InputPlugin: pass config_param reference
2013-08-04 14:07:50 +02:00
Max Kellermann
a0beb5fa26
MixerPlugin: pass config_param reference
2013-08-04 14:07:50 +02:00
Max Kellermann
f54bcc1f16
FilterPlugin: pass config_param reference
2013-08-04 14:07:50 +02:00
Max Kellermann
ca0d09c50f
EncoderPlugin: pass config_param reference
2013-08-04 14:07:50 +02:00
Max Kellermann
81c3224076
OutputPlugin: pass config_param reference
2013-08-04 14:07:49 +02:00
Max Kellermann
7a1d466fb2
DecoderPlugin: pass config_param reference
2013-08-04 13:30:47 +02:00
Max Kellermann
83f4c48c8a
ConfigData: move code to block_param, config_param methods
2013-08-04 12:03:56 +02:00
Max Kellermann
acd742d225
ConfigData: remove C++ checks
2013-08-03 23:47:31 +02:00
Max Kellermann
d1e7b4e381
audio_format: convert to C++
2013-08-03 21:37:56 +02:00
Max Kellermann
67f591a9ce
gcc.h: add macro gcc_unreachable()
2013-08-03 21:34:17 +02:00
Christoph Mende
7ff988275f
decoder/mikmod: use MikMod_free() to free the title on libmikmod-3.2
...
Player_LoadTitle() returns an aligned pointer in libmikmod-3.2 that
cannot be freed with free(). The correct way to do this now is
MikMod_free() which extracts the original pointer from the buffer and
frees that.
Signed-off-by: Christoph Mende <mende.christoph@gmail.com>
2013-08-01 09:30:20 +02:00
Max Kellermann
363050f44c
playlist_edit: fix "move" relative to current when there is no current song
...
Fixes Mantis #3770 .
2013-08-01 09:28:03 +02:00
Michael Mair-Keimberger
dbe04c4207
configure.ac: detect system "ar"
2013-08-01 09:13:41 +02:00
tsufeki
d59a332ef9
commmand: fix URI argument in playlistadd
2013-08-01 08:42:22 +02:00
Max Kellermann
105b431e4c
PcmBuffer: reset size in Clear()
...
Fix for Mantis #3806 .
"PcmBuffer::Clear clears the buffer but does not reset the size. If
Get is called on the same PcmBuffer later on with a size that is the
same as (or less than) it was before the call to Clear, the "else"
branch is taken and the memory of buffer (at the address of nullptr)
is poisoned instead of the necessary allocation being performed. A
memset or memcpy on the returned pointer (nullptr) causes a
segmentation fault."
2013-08-01 08:33:53 +02:00