aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* PlayerControl: work around std::nanf() not being available on MacPortsMax Kellermann2013-01-271-0/+6
|
* string_util: add fallback for strnlen()Max Kellermann2013-01-272-0/+23
| | | | | Usually, when strndup() is not available, strndup() isn't either, because both are POSIX 2008.
* Path::FromUTF8() returns nulled instance on error, add error handling where ↵Denis Krjuchkov2013-01-288-23/+69
| | | | required
* Path: convert remaining funcs to methods, keep fs_charset as std::stringDenis Krjuchkov2013-01-284-30/+28
|
* Path: merge utf8_to_fs_charset() into Path::FromUTF8()Denis Krjuchkov2013-01-282-13/+4
|
* Path: convert fs_charset_to_utf8() to static method Path::ToUTF8()Denis Krjuchkov2013-01-287-53/+59
|
* Path: introduce MPD_PATH_MAX_UTF8Denis Krjuchkov2013-01-281-0/+10
|
* DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann2013-01-2741-205/+168
|
* playlist/*: convert to C++Max Kellermann2013-01-2723-240/+274
|
* Path: define MPD_PATH_MAX to 260 on WindowsDenis Krjuchkov2013-01-261-1/+3
|
* Path: ToUTF() returns std::stringDenis Krjuchkov2013-01-263-11/+20
|
* input_stream: forward-declare the structMax Kellermann2013-01-2636-141/+266
| | | | Hide the definition from C code, to prepare the transition to C++.
* tag_file: convert to C++Max Kellermann2013-01-263-6/+10
|
* playlist/*: convert to C++Max Kellermann2013-01-2615-56/+75
|
* decoder/ffmpeg: convert to C++Max Kellermann2013-01-265-25/+67
|
* Mapper: improve usage of Path classDenis Krjuchkov2013-01-266-46/+44
|
* PlayerControl: add second Cond objectMax Kellermann2013-01-253-2/+34
| | | | | | | | | | | | | This fixes a deadlock bug introduced by 18076ac9. After all, the second Cond was necessary. The problem: two threads can wait for a signal at the same time. The player thread waits for the output thread to finish playback. The main thread waits for the player thread to complete a command. The output thread finishes playback, and sends a signal, which unfortunately does not wake up the player thread, but the main thread. The main thread sees that the command is still not finished, and waits again. The signal is lost forever, and MPD is deadlocked.
* input_{internal,plugin}: convert to C++Max Kellermann2013-01-2518-43/+34
|
* archive/*: convert to C++Max Kellermann2013-01-2419-142/+185
|
* DecoderControl: fix typo in assertion checkMax Kellermann2013-01-231-3/+3
|
* Path: move to fs subdirectoryDenis Krjuchkov2013-01-2221-22/+22
|
* FileSystem: extract DirectoryReader, improve the restDenis Krjuchkov2013-01-223-100/+125
| | | | | | | | | | - DirectoryReader is extracted to separate header - FileSystem.cxx/FileSystem.hxx/DirectoryReader.hxx moved to fs/ subdir - Functions return true on success, instead of 0 (where applicable) - ReadLink return result instead of out parameter - UnlinkFile is renamed to RemoveFile - CheckExists/CheckIsRegular/CheckIsDirectory are renamed to PathExists/FileExists/DirectoryExists
* input/archive: fix memory leak in error handlerMax Kellermann2013-01-211-1/+3
|
* input,playlist/despotify: convert to C++Max Kellermann2013-01-218-45/+61
|
* despotify_utils: fix indentMax Kellermann2013-01-211-7/+7
|
* despotify_utils: include cleanupMax Kellermann2013-01-212-4/+6
|
* despotify_utils: add missing copyright headerMax Kellermann2013-01-211-0/+19
|
* input/cdio_paranoia: convert to C++Max Kellermann2013-01-213-53/+64
|
* input/ffmpeg: convert to C++Max Kellermann2013-01-213-20/+30
|
* input/rewind: convert to C++Max Kellermann2013-01-213-76/+80
|
* input/file,mms: convert to C++Max Kellermann2013-01-215-69/+88
|
* input_internal.h: add extern "C"Max Kellermann2013-01-213-8/+8
|
* UpdateRemove: Mutex/Cond instead of GMutex/GCondMax Kellermann2013-01-213-22/+10
|
* DecoderControl: move functions into the classMax Kellermann2013-01-216-360/+281
|
* PlayerControl: move functions into the classMax Kellermann2013-01-2014-400/+335
|
* FileSystem: new library for Path-friendly file system routinesDenis Krjuchkov2013-01-202-0/+258
|
* dummy.cxx: remove unused fileDenis Krjuchkov2013-01-191-30/+0
| | | | | This file was used previously to force C++ linkage. It's no longer required because most of the code is C++ anyway.
* Path: new class "Path" wraps filesystem path stringsMax Kellermann2013-01-1821-238/+380
|
* Playlist, Song: clarify parameter encodingMax Kellermann2013-01-186-15/+15
|
* path: convert to C++Max Kellermann2013-01-1715-33/+20
|
* output/roar: convert to C++Max Kellermann2013-01-164-137/+99
|
* Idle: don't wake up event loop on duplicate eventMax Kellermann2013-01-161-2/+3
|
* Idle: use std::atomic instead of GMutexMax Kellermann2013-01-164-44/+5
|
* Main: fix comment typoMax Kellermann2013-01-161-1/+1
|
* ClientList: convert to a classMax Kellermann2013-01-1612-152/+72
|
* ClientGlobal: move client_close_all() to ClientList.cxxMax Kellermann2013-01-163-32/+13
|
* Revert "ClientList: allow deleting clients in client_list_foreach() callback"Max Kellermann2013-01-161-2/+2
| | | | | | This reverts commit f56c6a18c13f4135fa9944cb7cb568115a018955. This fix is not necessary anymore because clients are now being deleted by the timer callback.
* Client: use TimeoutMonitor to track connection timeoutMax Kellermann2013-01-166-78/+22
| | | | Don't use a global loop over the whole client list.
* Client: move "idle" functions into the classMax Kellermann2013-01-165-49/+36
|
* Merge branch 'v0.17.x'Max Kellermann2013-01-161-0/+5
|\