Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | PlayerThread: Only drop 0 length packets without tags | Ben Boeckel | 2013-10-19 | 1 | -1/+1 | |
| | | | | | | | | | | Fixes a regression from 752dfb3d95482c562e5d24c6ea839c4815de9a6d which caused the current chunk to be flushed as soon as new replaygain information was found. If this occurs on a tag chunk, it has no data (length 0) and is then skipped before pushing it to all of the outputs. This change allows 0-length chunks through if they contain a tag and they are now appearing in mplayer and mpv properly. | |||||
* | Util/CharUtil: new library replacing g_ascii_isX() | Max Kellermann | 2013-10-19 | 8 | -17/+134 | |
| | ||||||
* | playlist/(Ext)M3u: use strchug_fast() | Max Kellermann | 2013-10-19 | 2 | -7/+3 | |
| | ||||||
* | encoder/{opus,vorbis}: new serial generator replacing g_random_int() | Max Kellermann | 2013-10-19 | 4 | -3/+77 | |
| | ||||||
* | encoder/wave: include cleanup | Max Kellermann | 2013-10-19 | 1 | -2/+0 | |
| | ||||||
* | decoder/mikmod: Add loop configuration parameter | Sebastian Thorarensen | 2013-10-18 | 1 | -2/+3 | |
| | | | | | | | This patch allows the user to configure the mikmod decoder plugin to loop modules. It adds a configuration parameter to the mikmod decoder called "loop" which can be "no" (the old behaviour, default) or "yes" to allow modules to use backward loops. | |||||
* | filter/route: merge the two loops, one-pass parsing | Max Kellermann | 2013-10-18 | 1 | -61/+42 | |
| | ||||||
* | filter/route: allocate "sources" statically | Max Kellermann | 2013-10-18 | 1 | -14/+6 | |
| | | | | Worst-case allocation using MAX_CHANNELS. | |||||
* | filter/route: use int8_t instead of signed char | Max Kellermann | 2013-10-18 | 1 | -13/+11 | |
| | ||||||
* | util/StringUtil: rename strchug_fast_c() to strchug_fast() | Max Kellermann | 2013-10-18 | 5 | -9/+6 | |
| | | | | Overload the name. | |||||
* | ZeroconfAvahi: convert avahiRunning to a "bool" | Max Kellermann | 2013-10-18 | 1 | -6/+6 | |
| | ||||||
* | ZeroconfAvahi: integrate into the EventLoop | Max Kellermann | 2013-10-18 | 3 | -25/+202 | |
| | | | | Finally fixes the regression by commit c1f4f1fd. | |||||
* | SignalMonitor: add SignalMonitorGetEventLoop() | Max Kellermann | 2013-10-18 | 3 | -6/+16 | |
| | | | | Eliminate the global variable "shutdown_loop". | |||||
* | input/curl: use MultiSocketMonitor constants instead of GLib | Max Kellermann | 2013-10-18 | 1 | -3/+6 | |
| | ||||||
* | PlaylistEdit, QueueSave: free the Song object after Append() | Max Kellermann | 2013-10-18 | 2 | -1/+7 | |
| | | | | Fix for a major memory leak. | |||||
* | fs/Path: rename to AllocatedPath | Max Kellermann | 2013-10-17 | 50 | -394/+620 | |
| | | | | | | | The new class Path only holds a string pointer without being responsible for allocation/deallocation. The FileSystem.hxx library accepts Path arguments instead of AllocatedPath, to avoid forcing callers to allocate another string object. | |||||
* | fs/Path: move definitions to struct PathTraits | Max Kellermann | 2013-10-17 | 17 | -111/+159 | |
| | ||||||
* | fs/Path: include clenaup | Max Kellermann | 2013-10-17 | 1 | -1/+1 | |
| | ||||||
* | fs/Charset: GetFSCharset() returns "utf-8" by default | Max Kellermann | 2013-10-17 | 3 | -9/+8 | |
| | | | | | | If fs_charset is empty, i.e. we're using the default "utf-8", GetFSCharset() should return exactly that instead of an empty std::string. | |||||
* | fs/Charset: default filesystem charset is UTF-8 | Max Kellermann | 2013-10-17 | 2 | -6/+7 | |
| | | | | | Implement a fast path for UTF-8 which leaves fs_charset empty, and don't assign a value to fs_charset if there's no configuration. | |||||
* | fs/Charset: don't allow nullptr arguments | Max Kellermann | 2013-10-17 | 3 | -7/+8 | |
| | ||||||
* | fs/Path: move configuration code to Config.cxx | Max Kellermann | 2013-10-17 | 10 | -140/+282 | |
| | ||||||
* | fs/Path: move path_domain to Domain.hxx | Max Kellermann | 2013-10-17 | 5 | -5/+51 | |
| | ||||||
* | fs/Path: make fs_charset static | Max Kellermann | 2013-10-17 | 1 | -1/+1 | |
| | ||||||
* | fs/Path: include cleanup | Max Kellermann | 2013-10-17 | 3 | -1/+2 | |
| | ||||||
* | fs/Limits: convert macro to "constexpr" | Max Kellermann | 2013-10-17 | 4 | -13/+12 | |
| | ||||||
* | fs/Path: move MPD_PATH_MAX to Limits.hxx | Max Kellermann | 2013-10-17 | 7 | -14/+45 | |
| | ||||||
* | *: use std::numeric_limits | Max Kellermann | 2013-10-17 | 5 | -23/+22 | |
| | ||||||
* | UpdateGlue: handle update id management | Max Kellermann | 2013-10-17 | 3 | -21/+33 | |
| | | | | | Add UpdateQueueItem::id to keep track of the id in every item. Replaces thhe hack in update_queue_push(). | |||||
* | UpdateGlue: pass UpdateQueueItem around | Max Kellermann | 2013-10-17 | 1 | -20/+16 | |
| | | | | Fixes a few kludges and avoids GLib allocation. | |||||
* | UpdateGlue: never pass null to update_enqueue() | Max Kellermann | 2013-10-17 | 3 | -5/+8 | |
| | ||||||
* | UpdateQueue: use std::string and std::queue | Max Kellermann | 2013-10-17 | 3 | -40/+35 | |
| | ||||||
* | Mapper: use std::string | Max Kellermann | 2013-10-17 | 1 | -16/+11 | |
| | ||||||
* | StickerDatabase: return std::string | Max Kellermann | 2013-10-17 | 5 | -23/+26 | |
| | ||||||
* | StickerDatabase: add pure/const attributes | Max Kellermann | 2013-10-17 | 1 | -0/+4 | |
| | ||||||
* | PlayerControl: GetError() returns an Error, not a char* | Max Kellermann | 2013-10-17 | 3 | -25/+26 | |
| | ||||||
* | Thread/Thread: replacement library for GThread | Max Kellermann | 2013-10-17 | 20 | -98/+301 | |
| | ||||||
* | util/Error: add method SetLastError() | Max Kellermann | 2013-10-17 | 2 | -0/+25 | |
| | ||||||
* | Main: use ThreadId instead of GThread* | Max Kellermann | 2013-10-17 | 3 | -6/+8 | |
| | ||||||
* | InputStream: use int64_t instead of goffset | Max Kellermann | 2013-10-17 | 20 | -64/+78 | |
| | | | | Decouple some more from GLib. | |||||
* | input_plugin: rename struct to "InputPlugin" | Max Kellermann | 2013-10-17 | 23 | -32/+31 | |
| | ||||||
* | thread/{Cond,Mutex}: use "class" instead of "typedef" | Max Kellermann | 2013-10-17 | 14 | -21/+20 | |
| | | | | Allows forward-declaration. | |||||
* | CueParser: use std::string | Max Kellermann | 2013-10-17 | 2 | -6/+5 | |
| | ||||||
* | InotifyUpdate: use class Path | Max Kellermann | 2013-10-17 | 1 | -58/+37 | |
| | ||||||
* | PlaylistSave: eliminate the last g_warning() call | Max Kellermann | 2013-10-17 | 1 | -1/+2 | |
| | ||||||
* | Song: GetURI() returns std::string | Max Kellermann | 2013-10-17 | 10 | -86/+62 | |
| | ||||||
* | ArchiveLookup: in-place editing, avoid string copy | Max Kellermann | 2013-10-17 | 1 | -29/+24 | |
| | ||||||
* | ArchiveLookup: declare local variables later | Max Kellermann | 2013-10-17 | 1 | -5/+4 | |
| | ||||||
* | ArchiveLookup: don't reset out arguments | Max Kellermann | 2013-10-17 | 1 | -4/+0 | |
| | | | | If we return false, their values are undefined. | |||||
* | ArchiveLookup: move code to FindSlash() | Max Kellermann | 2013-10-17 | 1 | -7/+18 | |
| |