aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* cue_parser: new line based CUE sheet parserMax Kellermann2012-02-106-330/+413
| | | | To replace libcue, the unmaintained and crashy library.
* command: add optional range parameter to "load"Max Kellermann2012-02-091-4/+13
|
* playlist_save: add start/end_index parametersMax Kellermann2012-02-093-4/+12
|
* playlist_queue: add start/end_index parametersMax Kellermann2012-02-093-3/+21
|
* Merge branch 'v0.16.x'Max Kellermann2012-02-041-34/+36
|\ | | | | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c test/read_tags.c test/run_decoder.c
| * decoder/ffmpeg: use AV_SAMPLE_FMT_* if availableMax Kellermann2012-02-031-0/+8
| | | | | | | | | | Implements support for libavcodec 0.9, which removes the compatibility macros SAMPLE_FMT_*
| * decoder/ffmpeg: use sentinel for the ffmpeg_tag_maps tableMax Kellermann2012-02-031-3/+6
| | | | | | | | Minor optimisation.
| * decoder/ffmpeg: support all MPD tagsMax Kellermann2012-02-031-12/+5
| | | | | | | | | | Use the tag_item_names table to look up the names of all MPD tags, and remove the duplicate entries from ffmpeg_tag_maps.
| * decoder/ffmpeg: pass tag_type and name to _copy_metadata()Max Kellermann2012-02-031-5/+6
| | | | | | | | Allow using this function without the ffmpeg_tag_map struct.
| * decoder/ffmpeg: merge code to _copy_dictionary()Max Kellermann2012-02-031-6/+11
| | | | | | | | Eliminate some duplicate code.
| * decoder/ffmpeg: add macros emulating AVDictionaryMax Kellermann2012-02-031-13/+7
| | | | | | | | Move the #ifdefs out of _copy_metadata().
| * decoder/ffmpeg: _copy_metadata() returns voidMax Kellermann2012-02-031-3/+1
| | | | | | | | No interest in this return value.
* | directory: require the caller to lock the db_mutexMax Kellermann2012-02-029-26/+127
| | | | | | | | | | Reduce the number of lock/unlock cycles, and make database handling safer.
* | db_lock: add assertionsMax Kellermann2012-02-022-0/+33
| |
* | update_walk: use directory_make_child()Max Kellermann2012-02-021-5/+2
| |
* | directory: add new objects to the end of the linked listMax Kellermann2012-02-021-2/+2
| | | | | | | | | | This was the cause of the reversed ordering when loading a database file.
* | input/soup: use #pragma only with gcc 4.6+Max Kellermann2012-01-291-2/+2
| | | | | | | | | | | | It seems gcc 4.5 does not allow #pragma within function: src/input/soup_input_plugin.c:284:9: error: #pragma GCC diagnostic not allowed inside functions
* | directory: fix deep path lookupMax Kellermann2012-01-291-16/+14
| | | | | | | | | | This commit fixes a major regression in directory_lookup_directory(), which broke the deep lookup of directories.
* | directory: mark unused parameterMax Kellermann2012-01-241-1/+2
| |
* | directory: replace songvec with doubly linked listMax Kellermann2012-01-2410-226/+98
| |
* | directory: add function directory_get_song(), ...Max Kellermann2012-01-244-14/+64
| | | | | | | | Wrap songvec_find() and other songvec methods.
* | directory: replace dirvec with doubly linked listMax Kellermann2012-01-247-205/+99
| | | | | | | | | | Random access is not needed, and a linked list is easier to manage: we don't need to (re-)allocate the pointer array.
* | util/list.h: import the Linux kernel's linked list libraryMax Kellermann2012-01-243-0/+798
| |
* | directory: simplify constructors and clarify API documentationMax Kellermann2012-01-245-76/+111
| | | | | | | | | | Pass only the "name" to a directory, instead of the full (relative) path.
* | dirvec: unlock mutex in dirvec_find() in all branchesMax Kellermann2012-01-241-1/+4
| |
* | dirvec: don't call g_path_get_basename() on parameterMax Kellermann2012-01-241-10/+3
| | | | | | | | | | This overhead is completely useless, because no caller expects this behaviour.
* | songvec: move code to songvec_find_pointer()Max Kellermann2012-01-241-18/+28
| |
* | songvec: _delete() returns voidMax Kellermann2012-01-242-4/+4
| | | | | | | | | | The given song must exist, or MPD will abort. Calling it with an unknown song is illegal.
* | refcount: add missing stdbool.h includeMax Kellermann2012-01-241-0/+1
| |
* | decoder/ffmpeg: remove debug codeMax Kellermann2012-01-241-5/+0
| |
* | dirvec: remove unused functions _clear(), _for_each()Max Kellermann2012-01-212-33/+0
| |
* | db_lock: new unified lock for songvec and dirvecMax Kellermann2012-01-216-70/+110
| |
* | db/simple: pass the correct GError pointerMax Kellermann2012-01-121-1/+1
| |
* | Merge branch 'v0.16.x'Max Kellermann2012-01-121-3/+7
|\| | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c
| * decoder/ffmpeg: check libavutil version for AVDictionaryEntryMax Kellermann2012-01-121-1/+5
| | | | | | | | Require libavutil 51.5.0.
| * decoder/ffmpeg: raise version dependency for avformat_find_stream_info()Max Kellermann2012-01-121-2/+2
| | | | | | | | | | This function was added when the libavformat version was 53.2.0, but the actual release 53.2.0 did not have it.
* | mixer/alsa: listen for external volume changesMax Kellermann2012-01-051-1/+180
| | | | | | | | | | | | Use libasound's polling functions, implement a bridge to GSource / GPollFD and send idle events to clients when an external program changes the ALSA mixer volume.
* | mixer/alsa: move code to alsa_mixer_setup()Max Kellermann2012-01-051-25/+34
| | | | | | | | Better error handling.
* | mixer/alsa: move code to alsa_mixer_lookup_elem()Max Kellermann2012-01-051-24/+27
| |
* | Merge branch 'v0.16.x'Max Kellermann2012-01-052-4/+115
|\| | | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c src/input/ffmpeg_input_plugin.c
| * decoder/ffmpeg: support libavformat 0.8Max Kellermann2012-01-051-2/+46
| |
| * decoder/ffmpeg: use avcodec_decode_audio4(), support libavcodec 0.8Max Kellermann2012-01-041-1/+58
| |
| * decoder/ffmpeg: include libavutil/mathematics.hMax Kellermann2012-01-041-0/+1
| | | | | | | | Needed for av_rescale_q() in ffmpeg 0.8.
| * decoder/ffmpeg: use avcodec_open2() on newer ffmpeg versionsMax Kellermann2012-01-041-1/+6
| | | | | | | | avcodec_open() has been deprecated.
| * decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7Max Kellermann2012-01-041-0/+2
| | | | | | | | It's a no-op and deprecated.
| * decoder/ffmpeg: use AVIOContext instead of ByteIOContextMax Kellermann2012-01-041-0/+8
| |
| * input/ffmpeg: use the new AVIOContext APIMax Kellermann2012-01-041-1/+37
| | | | | | | | URLContext is deprecated.
| * input/ffmpeg: define AV_VERSION_INT if not presentMax Kellermann2012-01-041-0/+4
| | | | | | | | Support ancient ffmpeg versions.
* | output/osx: fix memory leak after AudioUnitSetProperty() failureMax Kellermann2012-01-041-0/+1
| |
* | output/osx: implement 32 bit playbackMax Kellermann2011-12-241-2/+6
| |