aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-02-10cue_parser: new line based CUE sheet parserMax Kellermann6-330/+413
To replace libcue, the unmaintained and crashy library.
2012-02-09command: add optional range parameter to "load"Max Kellermann1-4/+13
2012-02-09playlist_save: add start/end_index parametersMax Kellermann3-4/+12
2012-02-09playlist_queue: add start/end_index parametersMax Kellermann3-3/+21
2012-02-03decoder/ffmpeg: use AV_SAMPLE_FMT_* if availableMax Kellermann1-0/+8
Implements support for libavcodec 0.9, which removes the compatibility macros SAMPLE_FMT_*
2012-02-03decoder/ffmpeg: use sentinel for the ffmpeg_tag_maps tableMax Kellermann1-3/+6
Minor optimisation.
2012-02-03decoder/ffmpeg: support all MPD tagsMax Kellermann1-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.
2012-02-03decoder/ffmpeg: pass tag_type and name to _copy_metadata()Max Kellermann1-5/+6
Allow using this function without the ffmpeg_tag_map struct.
2012-02-03decoder/ffmpeg: merge code to _copy_dictionary()Max Kellermann1-6/+11
Eliminate some duplicate code.
2012-02-03decoder/ffmpeg: add macros emulating AVDictionaryMax Kellermann1-13/+7
Move the #ifdefs out of _copy_metadata().
2012-02-03decoder/ffmpeg: _copy_metadata() returns voidMax Kellermann1-3/+1
No interest in this return value.
2012-02-02directory: require the caller to lock the db_mutexMax Kellermann9-26/+127
Reduce the number of lock/unlock cycles, and make database handling safer.
2012-02-02db_lock: add assertionsMax Kellermann2-0/+33
2012-02-02update_walk: use directory_make_child()Max Kellermann1-5/+2
2012-02-02directory: add new objects to the end of the linked listMax Kellermann1-2/+2
This was the cause of the reversed ordering when loading a database file.
2012-01-29input/soup: use #pragma only with gcc 4.6+Max Kellermann1-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
2012-01-29directory: fix deep path lookupMax Kellermann1-16/+14
This commit fixes a major regression in directory_lookup_directory(), which broke the deep lookup of directories.
2012-01-24directory: mark unused parameterMax Kellermann1-1/+2
2012-01-24directory: replace songvec with doubly linked listMax Kellermann10-226/+98
2012-01-24directory: add function directory_get_song(), ...Max Kellermann4-14/+64
Wrap songvec_find() and other songvec methods.
2012-01-24directory: replace dirvec with doubly linked listMax Kellermann7-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.
2012-01-24util/list.h: import the Linux kernel's linked list libraryMax Kellermann3-0/+798
2012-01-24directory: simplify constructors and clarify API documentationMax Kellermann5-76/+111
Pass only the "name" to a directory, instead of the full (relative) path.
2012-01-24dirvec: unlock mutex in dirvec_find() in all branchesMax Kellermann1-1/+4
2012-01-24dirvec: don't call g_path_get_basename() on parameterMax Kellermann1-10/+3
This overhead is completely useless, because no caller expects this behaviour.
2012-01-24songvec: move code to songvec_find_pointer()Max Kellermann1-18/+28
2012-01-24songvec: _delete() returns voidMax Kellermann2-4/+4
The given song must exist, or MPD will abort. Calling it with an unknown song is illegal.
2012-01-24refcount: add missing stdbool.h includeMax Kellermann1-0/+1
2012-01-24decoder/ffmpeg: remove debug codeMax Kellermann1-5/+0
2012-01-21dirvec: remove unused functions _clear(), _for_each()Max Kellermann2-33/+0
2012-01-21db_lock: new unified lock for songvec and dirvecMax Kellermann6-70/+110
2012-01-12db/simple: pass the correct GError pointerMax Kellermann1-1/+1
2012-01-12decoder/ffmpeg: check libavutil version for AVDictionaryEntryMax Kellermann1-1/+5
Require libavutil 51.5.0.
2012-01-12decoder/ffmpeg: raise version dependency for avformat_find_stream_info()Max Kellermann1-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.
2012-01-05mixer/alsa: listen for external volume changesMax Kellermann1-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.
2012-01-05mixer/alsa: move code to alsa_mixer_setup()Max Kellermann1-25/+34
Better error handling.
2012-01-05mixer/alsa: move code to alsa_mixer_lookup_elem()Max Kellermann1-24/+27
2012-01-05decoder/ffmpeg: support libavformat 0.8Max Kellermann1-2/+46
2012-01-04decoder/ffmpeg: use avcodec_decode_audio4(), support libavcodec 0.8Max Kellermann1-1/+58
2012-01-04decoder/ffmpeg: include libavutil/mathematics.hMax Kellermann1-0/+1
Needed for av_rescale_q() in ffmpeg 0.8.
2012-01-04decoder/ffmpeg: use avcodec_open2() on newer ffmpeg versionsMax Kellermann1-1/+6
avcodec_open() has been deprecated.
2012-01-04decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7Max Kellermann1-0/+2
It's a no-op and deprecated.
2012-01-04decoder/ffmpeg: use AVIOContext instead of ByteIOContextMax Kellermann1-0/+8
2012-01-04input/ffmpeg: use the new AVIOContext APIMax Kellermann1-1/+37
URLContext is deprecated.
2012-01-04input/ffmpeg: define AV_VERSION_INT if not presentMax Kellermann1-0/+4
Support ancient ffmpeg versions.
2012-01-04output/osx: fix memory leak after AudioUnitSetProperty() failureMax Kellermann1-0/+1
2011-12-24output/osx: implement 32 bit playbackMax Kellermann1-2/+6
2011-12-24output/osx: allocate the device in enable()Max Kellermann1-102/+116
Keep the device open as long as the output is enabled, but initialize it only when playback starts.
2011-12-24output/osx: clear render buffer when there's not enough dataMax Kellermann1-2/+3
When we don't have enough data, generate some silence, hoping the input buffer will fill soon. Reducing the render buffer size is not legal.
2011-12-24output/osx: remove sleep call from render callbackMax Kellermann1-4/+0
Blocking inside the render callback is forbidden, and this sleep call didn't make any sense.