aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* PlayerThread: Only drop 0 length packets without tagsBen Boeckel2013-10-191-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 Kellermann2013-10-198-17/+134
|
* playlist/(Ext)M3u: use strchug_fast()Max Kellermann2013-10-192-7/+3
|
* encoder/{opus,vorbis}: new serial generator replacing g_random_int()Max Kellermann2013-10-194-3/+77
|
* encoder/wave: include cleanupMax Kellermann2013-10-191-2/+0
|
* decoder/mikmod: Add loop configuration parameterSebastian Thorarensen2013-10-181-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 parsingMax Kellermann2013-10-181-61/+42
|
* filter/route: allocate "sources" staticallyMax Kellermann2013-10-181-14/+6
| | | | Worst-case allocation using MAX_CHANNELS.
* filter/route: use int8_t instead of signed charMax Kellermann2013-10-181-13/+11
|
* util/StringUtil: rename strchug_fast_c() to strchug_fast()Max Kellermann2013-10-185-9/+6
| | | | Overload the name.
* ZeroconfAvahi: convert avahiRunning to a "bool"Max Kellermann2013-10-181-6/+6
|
* ZeroconfAvahi: integrate into the EventLoopMax Kellermann2013-10-183-25/+202
| | | | Finally fixes the regression by commit c1f4f1fd.
* SignalMonitor: add SignalMonitorGetEventLoop()Max Kellermann2013-10-183-6/+16
| | | | Eliminate the global variable "shutdown_loop".
* input/curl: use MultiSocketMonitor constants instead of GLibMax Kellermann2013-10-181-3/+6
|
* PlaylistEdit, QueueSave: free the Song object after Append()Max Kellermann2013-10-182-1/+7
| | | | Fix for a major memory leak.
* fs/Path: rename to AllocatedPathMax Kellermann2013-10-1750-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 PathTraitsMax Kellermann2013-10-1717-111/+159
|
* fs/Path: include clenaupMax Kellermann2013-10-171-1/+1
|
* fs/Charset: GetFSCharset() returns "utf-8" by defaultMax Kellermann2013-10-173-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-8Max Kellermann2013-10-172-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 argumentsMax Kellermann2013-10-173-7/+8
|
* fs/Path: move configuration code to Config.cxxMax Kellermann2013-10-1710-140/+282
|
* fs/Path: move path_domain to Domain.hxxMax Kellermann2013-10-175-5/+51
|
* fs/Path: make fs_charset staticMax Kellermann2013-10-171-1/+1
|
* fs/Path: include cleanupMax Kellermann2013-10-173-1/+2
|
* fs/Limits: convert macro to "constexpr"Max Kellermann2013-10-174-13/+12
|
* fs/Path: move MPD_PATH_MAX to Limits.hxxMax Kellermann2013-10-177-14/+45
|
* *: use std::numeric_limitsMax Kellermann2013-10-175-23/+22
|
* UpdateGlue: handle update id managementMax Kellermann2013-10-173-21/+33
| | | | | Add UpdateQueueItem::id to keep track of the id in every item. Replaces thhe hack in update_queue_push().
* UpdateGlue: pass UpdateQueueItem aroundMax Kellermann2013-10-171-20/+16
| | | | Fixes a few kludges and avoids GLib allocation.
* UpdateGlue: never pass null to update_enqueue()Max Kellermann2013-10-173-5/+8
|
* UpdateQueue: use std::string and std::queueMax Kellermann2013-10-173-40/+35
|
* Mapper: use std::stringMax Kellermann2013-10-171-16/+11
|
* StickerDatabase: return std::stringMax Kellermann2013-10-175-23/+26
|
* StickerDatabase: add pure/const attributesMax Kellermann2013-10-171-0/+4
|
* PlayerControl: GetError() returns an Error, not a char*Max Kellermann2013-10-173-25/+26
|
* Thread/Thread: replacement library for GThreadMax Kellermann2013-10-1720-98/+301
|
* util/Error: add method SetLastError()Max Kellermann2013-10-172-0/+25
|
* Main: use ThreadId instead of GThread*Max Kellermann2013-10-173-6/+8
|
* InputStream: use int64_t instead of goffsetMax Kellermann2013-10-1720-64/+78
| | | | Decouple some more from GLib.
* input_plugin: rename struct to "InputPlugin"Max Kellermann2013-10-1723-32/+31
|
* thread/{Cond,Mutex}: use "class" instead of "typedef"Max Kellermann2013-10-1714-21/+20
| | | | Allows forward-declaration.
* CueParser: use std::stringMax Kellermann2013-10-172-6/+5
|
* InotifyUpdate: use class PathMax Kellermann2013-10-171-58/+37
|
* PlaylistSave: eliminate the last g_warning() callMax Kellermann2013-10-171-1/+2
|
* Song: GetURI() returns std::stringMax Kellermann2013-10-1710-86/+62
|
* ArchiveLookup: in-place editing, avoid string copyMax Kellermann2013-10-171-29/+24
|
* ArchiveLookup: declare local variables laterMax Kellermann2013-10-171-5/+4
|
* ArchiveLookup: don't reset out argumentsMax Kellermann2013-10-171-4/+0
| | | | If we return false, their values are undefined.
* ArchiveLookup: move code to FindSlash()Max Kellermann2013-10-171-7/+18
|