aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* db_plugin: introducing a plugin API for the song databaseMax Kellermann2011-09-107-189/+527
| | | | | | | | | | | First draft, not really pluggable currently - hard-coded to use the "simple" plugin, and calls several of its internal functions. The API is very simple currently, all searches are still performed over the root "directory" object. Future changes to the API will move those search implementations into the plugin, to allow more efficient implementations, or implementations that don't have the whole tree in memory all the time.
* database: move code to db_save.cMax Kellermann2011-09-103-128/+214
|
* directory_save: pass const pointer to _save()Max Kellermann2011-09-102-4/+4
|
* tag_internal: add missing tag.h includeMax Kellermann2011-09-101-0/+2
| | | | For TAG_NUM_OF_ITEM_TYPES.
* conf: export config_param_free()Max Kellermann2011-09-092-1/+4
|
* conf: _get_next_param() returns a const pointerMax Kellermann2011-09-092-3/+3
| | | | No writers.
* database: return GError on failureMax Kellermann2011-09-094-23/+41
|
* conf: add config_dup_block_path()Max Kellermann2011-09-093-14/+38
|
* utils: parsePath() returns GError on failureMax Kellermann2011-09-094-14/+30
| | | | Better error messages.
* utils: pass a const string to parsePath()Max Kellermann2011-09-092-15/+14
| | | | Remove the slash hack, allocate memory for the user name.
* utils: eliminate local variable "pos"Max Kellermann2011-09-091-3/+4
| | | | Just advance the "path" pointer.
* conf: turn config_get_path() into config_dup_path()Max Kellermann2011-09-094-47/+109
| | | | | | | | | config_get_path() was somewhat flawed, because it pretended to be a function, when it really had a side effect. The second flaw was that it did not return the parser error, instead it aborted the whole process, which is bad style. The new function returns a duplicated (modified) string that must be freed by the caller, and returns a GError on failure.
* glib_compat.h: emulate g_prefix_error()Max Kellermann2011-09-091-0/+6
|
* log: print detailed errno message on open() failureMax Kellermann2011-09-091-2/+2
|
* log: return GError on initialization failureMax Kellermann2011-09-093-11/+34
|
* conf: get_block_param() returns a const pointerMax Kellermann2011-09-093-6/+6
| | | | No caller needs to write.
* conf: move duplicate check to _read_name_value()Max Kellermann2011-09-092-16/+15
| | | | config_add_block_param() cannot fail, which makes it easier to use.
* conf: move code to config_read_name_value()Max Kellermann2011-09-091-32/+34
| | | | Reduce indent.
* conf: add gcc optimization attributesMax Kellermann2011-09-091-0/+3
|
* dbUtils: move code to db_print.cMax Kellermann2011-09-065-269/+317
|
* dbUtils: pass player_control to findAddIn()Max Kellermann2011-09-053-9/+14
| | | | Allow calling findAddIn() without a client object.
* decoder/oggflac: delete this obsolete pluginMax Kellermann2011-09-012-355/+1
| | | | | libOggFLAC has been deprecated for 5 years now, and we havn't been testing it for a long time. Let's delete it.
* Merge branch 'v0.16.x'Max Kellermann2011-09-019-56/+95
|\ | | | | | | | | | | Conflicts: configure.ac src/output_control.c
| * output/osx: don't drain the buffer when closingMax Kellermann2011-09-011-6/+0
| | | | | | | | Eliminate an unnecessary source of deadlocks.
| * output/osx: signal the GCond while mutex is lockedMax Kellermann2011-09-011-1/+1
| |
| * output_all: move _lock_signal() to output_control.cMax Kellermann2011-09-013-21/+23
| | | | | | | | Better name, better documentation.
| * output_thread: reimplement CANCEL synchronizationMax Kellermann2011-09-016-14/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The output thread could hang indefinitely after finishing CANCEL, because it could have missed the signal while the output was not unlocked in ao_command_finished(). This patch removes the wait() call after CANCEL, and adds the flag "allow_play" instead. While this flag is set, playback is skipped. With this flag, there will not be any excess wait() call after the pipe has been cleared. This patch fixes a bug that causes mpd to discontinue playback after seeking, due to the race condition described above.
| * output/pulse: reset callbacks before closing stream/contextMax Kellermann2011-08-311-0/+10
| | | | | | | | | | Fixes assertion failure when a stream callback is invoked too late after a format change.
| * output/pulse: add function _delete_stream()Max Kellermann2011-08-311-5/+16
| | | | | | | | Merge common code.
| * output/pulse: use _delete_context()Max Kellermann2011-08-311-16/+15
| | | | | | | | Eliminate duplicate code.
| * input/curl: implement a hard-coded timeout of 10 secondsMax Kellermann2011-08-261-0/+3
| | | | | | | | | | Be sure to stop the operation at some point when the server isn't responding.
* | output/raop: remove Audio-Jack-Status checkMax Kellermann2011-08-312-27/+7
| | | | | | | | | | The value of this is not used, the code is commented out - let's get rid of it.
* | output/raop: remove empty function raopcl_stream_connect()Max Kellermann2011-08-311-8/+0
| |
* | rtsp_client: use the I/O threadMax Kellermann2011-08-314-56/+615
| | | | | | | | Make the code portable.
* | udp_server: don't use MSG_DONTWAIT on WIN32Max Kellermann2011-08-311-0/+4
| | | | | | | | Doesn't exist on mingw32.
* | mixer/raop: include cleanupMax Kellermann2011-08-311-12/+2
| |
* | output/raop: cast sendto() parameter to void pointerMax Kellermann2011-08-311-2/+4
| | | | | | | | Fix compilation on mingw32.
* | rtsp_client: use g_usleep()Max Kellermann2011-08-311-3/+1
| | | | | | | | usleep() is not portable.
* | rtsp_client: allow parameter "kd" to be NULLMax Kellermann2011-08-313-8/+17
| | | | | | | | When the caller isn't interested in the values.
* | rtsp_client: don't wait if packet is over dueMax Kellermann2011-08-311-2/+3
| | | | | | | | | | Check if the time difference is negative. That would have caused sleeping forever.
* | io_thread: allow _call() from inside the threadMax Kellermann2011-08-312-0/+20
| |
* | rtsp_client: free attribute "kd" in _close()Max Kellermann2011-08-311-0/+1
| | | | | | | | Fix yet another memory leak.
* | output/raop: move code to raop_session_new()Max Kellermann2011-08-301-40/+74
| | | | | | | | .. and fix a few memory leaks.
* | output_control: move code to audio_output_destruct()Max Kellermann2011-08-303-17/+57
| | | | | | | | .. and destruct the output object properly in test/run_output.
* | output/raop: merge raopcl_close() into _finish()Max Kellermann2011-08-301-10/+4
| | | | | | | | .. and fix a double free bug.
* | output/raop: free the raop_data object in finish()Max Kellermann2011-08-301-0/+1
| |
* | output/raop: remove from the session when opening failsMax Kellermann2011-08-301-2/+6
| |
* | output/raop: move code to raop_output_remove()Max Kellermann2011-08-301-3/+14
| |
* | rtsp_client: increment "dp" after terminating the stringMax Kellermann2011-08-301-2/+3
| | | | | | | | This fixes a bug that caused all values to be an empty string.
* | rtsp_client: simplify whitespace eliminationMax Kellermann2011-08-301-4/+6
| | | | | | | | Just move a pointer, don't call strlen() in every iteration.