aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
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.
2011-12-24command: new command "seekcur"Max Kellermann4-0/+57
For simpler seeking within current song.
2011-12-21Playlist: fix bug in moving after current songMaarten Sebregts1-1/+1
Moving songs using either 'move' or 'moveid' to position -1 (after the current song) would fail for a song which is just before the current song. This patch corrects the check to see if the current song is in the range to be moved. Since the range is from `start` up to `end` (exclusive) the check was incorrect, but is now fixed.
2011-12-13output/openal: improve synchronizationMax Kellermann1-13/+16
This plugin's use of the "Timer" library was wrong; it added the same amount of virtual data in every iteration in _play(), but did not actually play something. This created an artificial, but useless, delay. This patch implements the method _cancel(), and implements hard-coded sleep values. This is only slightly better, but does not attempt to look sane.
2011-12-13output/openal: move code to inline functionsMax Kellermann1-9/+25