aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* src/decoder/opus: new decoder plugin for the Opus codecMax Kellermann2012-09-0516-1/+818
| | | | Using libopus and libogg.
* decoder/{flac,vorbis}: move tag table to XiphTags.cMax Kellermann2012-09-055-16/+61
| | | | Merge duplicate data.
* Makefile.am: rename HAVE_OGG_COMMON to HAVE_XIPHMax Kellermann2012-09-052-2/+2
|
* db/SimpleDatabasePlugin: fix memory leak in Visit()Max Kellermann2012-09-051-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.
* db_lock: add C++ helper class ScopeDatabaseLockMax Kellermann2012-09-052-11/+21
|
* decoder/ogg_codec: return UNKNOWN on errorMax Kellermann2012-09-042-1/+2
|
* decoder/ogg_common: rename to ogg_codec.cMax Kellermann2012-09-045-20/+20
|
* decoder/ogg_common: pass decoder to _type_detect()Max Kellermann2012-09-044-5/+5
| | | | Allow the function to be cancelled.
* decoder/ogg_common: apply coding styleMax Kellermann2012-09-042-6/+9
|
* decoder/_ogg_common: rename to ogg_common.cMax Kellermann2012-09-047-9/+8
|
* Merge branch 'v0.17.x'Max Kellermann2012-09-045-9/+27
|\
| * decoder/_ogg_common: fix buffer size checkMax Kellermann2012-09-041-1/+1
| | | | | | | | Fixes potential access to uninitialised memory.
| * decoder/_ogg_common: simplify the large "if" expressionMax Kellermann2012-09-041-6/+8
| |
| * mpd.conf(5): Use the correct default value for max_playlist_lengthWieland Hoffmann2012-09-031-1/+1
| |
| * AudioCompress: abort on out-of-memoryMax Kellermann2012-09-031-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.
| * update_walk: fix unsafe readlink() usageMax Kellermann2012-09-032-2/+11
| |
* | SongFilter: convert to a C++ classMax Kellermann2012-08-2920-241/+210
| |
* | playlist_print: rename to PlaylistPrint.cxxMax Kellermann2012-08-296-11/+13
| |
* | DatabaseSelection: add method Match()Max Kellermann2012-08-294-3/+34
| |
* | locate: rename to SongFilter.cxxMax Kellermann2012-08-299-16/+18
| |
* | queue_print: rename to QueuePrint.cxxMax Kellermann2012-08-292-2/+5
| |
* | dbUtils.h: eliminate this headerMax Kellermann2012-08-296-61/+5
| |
* | command: move code to *Commands.cxxMax Kellermann2012-08-2914-1289/+1854
| |
* | Stats: stats_print() returns voidMax Kellermann2012-08-293-5/+6
| |
* | decoder/mad, output_thread: add gcc_unlikely()Max Kellermann2012-08-292-3/+3
| |
* | Makefile.am: distribute DatabaseCommands.hxxMax Kellermann2012-08-291-1/+1
| |
* | Merge branch 'v0.17.x'Max Kellermann2012-08-2512-17/+89
|\| | | | | | | | | Conflicts: src/queue_save.c
| * playlist/cue: map "PERFORMER" to "artist" or "album artist"Max Kellermann2012-08-252-1/+13
| | | | | | | | Implements Mantis ticket 0003549.
| * player_thread: disable cross-fading in "single" modeMax Kellermann2012-08-255-8/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * command: make "single" a boolMax Kellermann2012-08-211-1/+1
| |
| * queue_save: save song prioritiesMax Kellermann2012-08-216-7/+27
| |
* | test/test_queue_priority: fix SIGABRTMax Kellermann2012-08-252-1/+15
| |
* | Database*: fix nullptr dereference when no database is configuredMax Kellermann2012-08-225-8/+48
| |
* | fd_util: make C++ safeMax Kellermann2012-08-221-0/+8
| |
* | Makefile.am: swap libdb_plugins.a and -lmpdclient orderMax Kellermann2012-08-221-2/+2
| | | | | | | | | | With some linkers, it is important to specify the static library first, and then libmpdclient. Fixes linker failures.
* | configure.ac: set VERSION_MINOR to 18Max Kellermann2012-08-211-1/+1
| | | | | | | | Updates the WIN32 version number for the upcoming 0.18 release.
* | ProxyDatabase: implement GetSong()Max Kellermann2012-08-161-3/+26
| |
* | ProxyDatabase: clear libmpdclient errors in CheckError()Max Kellermann2012-08-161-1/+2
| | | | | | | | Auto-recover from soft errors.
* | DatabasePlugin: add method ReturnSong()Max Kellermann2012-08-1613-14/+85
| | | | | | | | Allow the plugin to allocate the GetSong() return value.
* | Merge branch 'v0.17.x'Max Kellermann2012-08-163-2/+9
|\|
| * playlist_print: fix memory leakMax Kellermann2012-08-162-0/+4
| |
| * playlist_song: pass const song to _check_load_song()Max Kellermann2012-08-161-1/+1
| |
| * playlist_song: fix user-after-free bugMax Kellermann2012-08-162-1/+4
| |
* | ProxyDatabase: pass "detached" objects to visitorsMax Kellermann2012-08-153-40/+49
| | | | | | | | Fixes wrong object URIs with duplicate base names.
* | queue: duplicate all song objectsMax Kellermann2012-08-153-5/+40
| | | | | | | | | | Make sure the queue "owns" all song objects, so nobody else can free them.
* | player_control: duplicate the song objectMax Kellermann2012-08-155-7/+58
| | | | | | | | | | Make sure the player "owns" the next_song object, so nobody else can free it.
* | decoder_control: duplicate the song objectMax Kellermann2012-08-153-3/+15
| | | | | | | | | | Make sure the decoder "owns" the song object, so nobody else can free it.
* | Song: add function song_dup_detached()Max Kellermann2012-08-153-1/+81
| | | | | | | | | | Initial support for "detached" songs that come from the database, but are private copies.
* | Song: add function song_equals()Max Kellermann2012-08-153-1/+37
| | | | | | | | | | decoder_is_current_song() now recognizes different instances of the same physical song.
* | Song: move trivial inline functions upMax Kellermann2012-08-151-12/+12
| |