aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* gcc.h: require gcc 4.6Max Kellermann2012-09-251-2/+2
| | | | | We use range-based for and nullptr, which was not implemented prior to gcc 4.6.
* Merge branch 'v0.17.x'Max Kellermann2012-09-257-27/+21
|\ | | | | | | | | Conflicts: src/locate.c
| * decoder_control: remove MixRamp debug messagesMax Kellermann2012-09-254-10/+4
| | | | | | | | | | These are confusing, and since MixRamp development has ceased, not useful to anybody.
| * decoder/wavpack: support all APEv2 tagsMax Kellermann2012-09-253-17/+17
| | | | | | | | | | WavPack tags are always APEv2, by definition. Reuse the tag_table from tag_ape.c, instead of rolling our own.
| * locate: cast enum tag_type to int before comparing with integerMax Kellermann2012-09-221-4/+4
| | | | | | | | | | Avoids clang pickiness. This code is not correct, but we'll fix that another day.
* | src/decoder/opus: new decoder plugin for the Opus codecMax Kellermann2012-09-0512-0/+782
| | | | | | | | Using libopus and libogg.
* | decoder/{flac,vorbis}: move tag table to XiphTags.cMax Kellermann2012-09-054-16/+60
| | | | | | | | Merge duplicate data.
* | 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-044-19/+19
| |
* | 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-046-5/+5
| |
* | Merge branch 'v0.17.x'Max Kellermann2012-09-043-8/+25
|\|
| * 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
| |
| * 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-031-2/+10
| |
* | SongFilter: convert to a C++ classMax Kellermann2012-08-2919-239/+209
| |
* | playlist_print: rename to PlaylistPrint.cxxMax Kellermann2012-08-295-9/+12
| |
* | DatabaseSelection: add method Match()Max Kellermann2012-08-293-2/+32
| |
* | locate: rename to SongFilter.cxxMax Kellermann2012-08-298-13/+16
| |
* | queue_print: rename to QueuePrint.cxxMax Kellermann2012-08-291-1/+4
| |
* | dbUtils.h: eliminate this headerMax Kellermann2012-08-295-60/+5
| |
* | command: move code to *Commands.cxxMax Kellermann2012-08-2913-1289/+1848
| |
* | Stats: stats_print() returns voidMax Kellermann2012-08-293-5/+6
| |
* | decoder/mad, output_thread: add gcc_unlikely()Max Kellermann2012-08-292-3/+3
| |
* | Merge branch 'v0.17.x'Max Kellermann2012-08-2510-16/+84
|\| | | | | | | | | Conflicts: src/queue_save.c
| * playlist/cue: map "PERFORMER" to "artist" or "album artist"Max Kellermann2012-08-251-1/+11
| | | | | | | | Implements Mantis ticket 0003549.
| * player_thread: disable cross-fading in "single" modeMax Kellermann2012-08-254-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.
| * command: make "single" a boolMax Kellermann2012-08-211-1/+1
| |
| * queue_save: save song prioritiesMax Kellermann2012-08-214-6/+25
| |
* | Database*: fix nullptr dereference when no database is configuredMax Kellermann2012-08-225-8/+48
| |
* | fd_util: make C++ safeMax Kellermann2012-08-221-0/+8
| |
* | 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-162-2/+7
|\|
| * playlist_print: fix memory leakMax Kellermann2012-08-161-0/+3
| |
| * playlist_song: pass const song to _check_load_song()Max Kellermann2012-08-161-1/+1
| |
| * playlist_song: fix user-after-free bugMax Kellermann2012-08-161-1/+3
| |
* | 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-151-5/+6
| | | | | | | | | | 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
| |
* | DatabasePlugin: add method GetStats()Max Kellermann2012-08-157-63/+148
| | | | | | | | | | Optimize the ProxyDatabase by invoking "stats" on the peer, instead of visiting all songs.