aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-09-25decoder/vorbis: skip 16 bit quantisation, provide float samplesSimon Hosie1-0/+44
Internally the vorbis (non-Tremor) decoder is working in floating point, and it's not really necessary to cut the output back to 16-bit if the soundcard or OS supports higher resolution. The decoder can be trivially modified to bypass its internal quantisation and produce floating-point output, and a separate quantisation can be used as appropriate to the platform.
2012-09-25decoder/vorbis: rename local variablesMax Kellermann1-14/+13
2012-09-25decoder/vorbis: improved support for initial seekMax Kellermann1-1/+1
Call decoder_get_command() before doing anything else.
2012-09-25decoder/vorbis: make variables more localMax Kellermann1-26/+20
2012-09-25command.h: move function prototypes to AllCommands.hMax Kellermann6-18/+43
2012-09-25command.h: remove obsolete command_success() prototypeMax Kellermann2-2/+1
This lives in protocol/result.h now.
2012-09-25playlist: include cleanupMax Kellermann1-4/+0
2012-09-25rename CommandError.h to CommandError.hxxMax Kellermann8-13/+8
2012-09-25*Commands: remove extern"C" from C++ headersMax Kellermann8-32/+0
2012-09-25command: add COMMAND_RETURN_IDLEMax Kellermann3-2/+8
Eliminate the hack in handle_idle().
2012-09-25command: add documentation for "enum command_return"Max Kellermann1-1/+18
2012-09-25command: remove enum integer valuesMax Kellermann1-4/+4
Just use the values assigned by the compiler.
2012-09-25command: rename to AllCommands.cxxMax Kellermann1-3/+5
2012-09-25command: move remaining handlers to OtherCommands.cxxMax Kellermann3-277/+387
2012-09-25gcc.h: require gcc 4.6Max Kellermann1-2/+2
We use range-based for and nullptr, which was not implemented prior to gcc 4.6.
2012-09-25decoder_control: remove MixRamp debug messagesMax Kellermann4-10/+4
These are confusing, and since MixRamp development has ceased, not useful to anybody.
2012-09-25decoder/wavpack: support all APEv2 tagsMax Kellermann3-17/+17
WavPack tags are always APEv2, by definition. Reuse the tag_table from tag_ape.c, instead of rolling our own.
2012-09-22locate: cast enum tag_type to int before comparing with integerMax Kellermann1-4/+4
Avoids clang pickiness. This code is not correct, but we'll fix that another day.
2012-09-05src/decoder/opus: new decoder plugin for the Opus codecMax Kellermann12-0/+782
Using libopus and libogg.
2012-09-05decoder/{flac,vorbis}: move tag table to XiphTags.cMax Kellermann4-16/+60
Merge duplicate data.
2012-09-05db/SimpleDatabasePlugin: fix memory leak in Visit()Max Kellermann1-7/+11
When visiting a song, GetSong() was called, but this object was never returned by calling ReturnSong(). This patch locks the database only once in Visit() and passes the original song object to the visitor, avoiding the copy.
2012-09-05db_lock: add C++ helper class ScopeDatabaseLockMax Kellermann2-11/+21
2012-09-04decoder/ogg_codec: return UNKNOWN on errorMax Kellermann2-1/+2
2012-09-04decoder/ogg_common: rename to ogg_codec.cMax Kellermann4-19/+19
2012-09-04decoder/ogg_common: pass decoder to _type_detect()Max Kellermann4-5/+5
Allow the function to be cancelled.
2012-09-04decoder/ogg_common: apply coding styleMax Kellermann2-6/+9
2012-09-04decoder/_ogg_common: rename to ogg_common.cMax Kellermann6-5/+5
2012-09-04decoder/_ogg_common: fix buffer size checkMax Kellermann1-1/+1
Fixes potential access to uninitialised memory.
2012-09-04decoder/_ogg_common: simplify the large "if" expressionMax Kellermann1-6/+8
2012-09-03AudioCompress: abort on out-of-memoryMax Kellermann1-0/+7
This library crashes on out-of-memory (NULL pointer dereference). There's not much useful MPD can do in such a situation, so let's explicitly abort instead, just like GLib does.
2012-09-03update_walk: fix unsafe readlink() usageMax Kellermann1-2/+10
2012-08-29SongFilter: convert to a C++ classMax Kellermann19-239/+209
2012-08-29playlist_print: rename to PlaylistPrint.cxxMax Kellermann5-9/+12
2012-08-29DatabaseSelection: add method Match()Max Kellermann3-2/+32
2012-08-29locate: rename to SongFilter.cxxMax Kellermann8-13/+16
2012-08-29queue_print: rename to QueuePrint.cxxMax Kellermann1-1/+4
2012-08-29dbUtils.h: eliminate this headerMax Kellermann5-60/+5
2012-08-29command: move code to *Commands.cxxMax Kellermann13-1289/+1848
2012-08-29Stats: stats_print() returns voidMax Kellermann3-5/+6
2012-08-29decoder/mad, output_thread: add gcc_unlikely()Max Kellermann2-3/+3
2012-08-25playlist/cue: map "PERFORMER" to "artist" or "album artist"Max Kellermann1-1/+11
Implements Mantis ticket 0003549.
2012-08-25player_thread: disable cross-fading in "single" modeMax Kellermann4-8/+47
This commit reimplements the core of the "single" mode. Instead of doing the detection in the playlist code from the outside, it is moved to the player thread, which gets a new option called "border_pause". It will now pause playback exactly at the beginning of the new song, making the feature more reliable. Now that the player thread knows what will happen, it can suppress cross-fading. Fixes mantis tickets 0003055 and 0003166.
2012-08-22Database*: fix nullptr dereference when no database is configuredMax Kellermann5-8/+48
2012-08-22fd_util: make C++ safeMax Kellermann1-0/+8
2012-08-21command: make "single" a boolMax Kellermann1-1/+1
2012-08-21queue_save: save song prioritiesMax Kellermann4-6/+25
2012-08-16ProxyDatabase: implement GetSong()Max Kellermann1-3/+26
2012-08-16ProxyDatabase: clear libmpdclient errors in CheckError()Max Kellermann1-1/+2
Auto-recover from soft errors.
2012-08-16DatabasePlugin: add method ReturnSong()Max Kellermann13-14/+85
Allow the plugin to allocate the GetSong() return value.
2012-08-16playlist_print: fix memory leakMax Kellermann1-0/+3