aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* input/curl: fix EventLoop stall after curl_easy_pauseArtem Savkov2013-09-261-0/+1
| | | | | | | | When playing finite http streams, e.g. something from soundcloud, eventloop stalls after pausing writefunc. TimeoutMonitor is cancelled by the time resume happens, so when enough data is consumed writefunc is called only once. Calling InvalidateSockets() from input_curl_resume() seems to fix the issue.
* ConfigPath: return early on "~"Max Kellermann2013-09-121-3/+6
| | | | Previously, the pointer was moved to undefined memory.
* ConfigPath: skip the slash of "~/"Max Kellermann2013-09-121-3/+3
| | | | Increment the "path" earlier.
* ConfigPath: remove the "~/" from the constructed pathMax Kellermann2013-09-121-6/+9
| | | | | This was building broken paths like "/home/foo/~/bar". Bug found by Maarten de Vries.
* ConfigPath: simplify the duplicate tilde checkMax Kellermann2013-09-121-5/+5
|
* ConfigPath: convert "home" variable to Path objectMax Kellermann2013-09-121-9/+11
| | | | | Use Path::FromUTF8() for the g_get_home_dir() return value instead of assuming it's already FS charset.
* ConfigPath: move code to GetHome()Max Kellermann2013-09-121-28/+48
|
* ConfigPath: include cleanupMax Kellermann2013-09-121-16/+0
|
* Path: add FromUTF8() overload that returns an ErrorMax Kellermann2013-09-124-8/+26
|
* ConfigPath: move path_domain to system/Path.cxxMax Kellermann2013-09-123-3/+5
|
* Listen: Allow tilde paths for socket.Maarten de Vries2013-09-125-4/+23
|
* test/dump_rva2: remove fake Tag symbolsMax Kellermann2013-09-051-9/+0
|
* TagBuilder: add method Commit(Tag&)Max Kellermann2013-09-052-8/+21
| | | | For callers that already have a Tag instance.
* TagBuilder: add method IsEmpty()Max Kellermann2013-09-051-1/+9
|
* Tag: remove the obsolete "bulk" modeMax Kellermann2013-09-052-88/+3
| | | | | Methods BeginAdd() and EndAdd() have been replaced by class TagBuilder.
* db/proxy: use class TagBuilderMax Kellermann2013-09-051-8/+6
|
* SongSave: use class TagBuilderMax Kellermann2013-09-051-24/+8
|
* TagBuilder: new class for constructing Tag objectsMax Kellermann2013-09-053-0/+230
| | | | Obsoletes Tag::BeginAdd() and the complicated "bulk add" code.
* TagItem: disable the copy constructor/operatorMax Kellermann2013-09-051-0/+4
| | | | This is not a C++ class and must not be copied.
* Tag: compile-time initialisation of ignore_tag_itemsMax Kellermann2013-09-0510-25/+34
| | | | Move to TagSettings.c and use C99 initializers.
* Tag: move struct TagItem to TagItem.hxxMax Kellermann2013-09-054-16/+44
|
* Tag: move fix_tag_value() to TagString.cxxMax Kellermann2013-09-054-102/+161
|
* Tag: remove unused methodsMax Kellermann2013-09-052-70/+0
|
* TagNames: make tag_item_names constMax Kellermann2013-09-052-2/+2
|
* Tag: move configuration code to TagConfig.cxxMax Kellermann2013-09-056-50/+106
| | | | Allow using the Tag.cxx library without the Config library.
* Tag, ...: move to libtag.aMax Kellermann2013-09-0583-105/+98
|
* mpd_error.h: remove obsolete headerMax Kellermann2013-09-0519-96/+69
| | | | Migrate the remaining callers to FatalError().
* input/curl: enable httpsAles Guzik2013-09-053-1/+4
|
* PlaylistPlugin: add interface SongEnumeratorMax Kellermann2013-09-0526-317/+206
| | | | Replaces struct playlist_provider.
* PlaylistPlugin, ConfigGlobal: use nullptr instead of NULLMax Kellermann2013-09-053-15/+11
|
* use standard snprintf() instead of GLib g_snprintf()Max Kellermann2013-09-054-26/+28
|
* conf.h: remove obsolete headerMax Kellermann2013-09-0557-86/+80
| | | | | Use only ConfigData.hxx in plugin sources to reduce header dependencies.
* conf.h: move constants to ConfigDefaults.hxxMax Kellermann2013-09-056-9/+29
|
* InputLegacy: move functions to the input_stream classMax Kellermann2013-09-0547-605/+458
|
* test/read_tags: use input_stream_wait_ready()Max Kellermann2013-09-051-4/+1
|
* TagTable: un-inline the two functionsMax Kellermann2013-09-046-25/+65
| | | | Reduce header dependencies.
* Tag*: move TagTable.hxx to libtag.aMax Kellermann2013-09-046-5/+5
|
* Tag*: move libtag.a sources to src/tag/Max Kellermann2013-09-0423-26/+22
|
* system/SocketError: un-inline constructorMax Kellermann2013-09-043-13/+26
| | | | Reduces header dependencies.
* util/Error: new error passing libraryMax Kellermann2013-09-04256-3373/+3271
| | | | Replaces GLib's GError.
* system/resolver: convert to C++Max Kellermann2013-09-047-27/+17
|
* output/pulse: require libpulse 0.9.16Max Kellermann2013-09-042-52/+4
| | | | | Remove all #ifdefs. Old versions of libpulse are not being tested, and thus I'm removing support.
* IOThread: pass GError to FatalError()Max Kellermann2013-09-041-2/+4
| | | | Fixes build failure on GLib < 2.32.
* DatabaseSave: eliminate redundant db_quark() implementationMax Kellermann2013-09-031-7/+1
|
* IOThread: use FatalError() on g_thread_create() errorMax Kellermann2013-09-0310-49/+15
| | | | New GLib versions don't fail.
* input/{mms,despotify}: remove "seek" implementationMax Kellermann2013-09-032-19/+3
| | | | Omitting it has the same effect as returning false unconditionally.
* input_stream.h: rename to InputLegacy.hxxMax Kellermann2013-09-0322-38/+26
|
* db_error: convert to C++Max Kellermann2013-08-106-11/+8
|
* playlist_error: convert to C++Max Kellermann2013-08-106-8/+8
|
* ack.h: move to protocol/Max Kellermann2013-08-104-3/+3
|