aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
* | output/osx: allocate the device in enable()Max Kellermann2011-12-241-102/+116
| | | | | | | | | | Keep the device open as long as the output is enabled, but initialize it only when playback starts.
* | Merge branch 'v0.16.x'Max Kellermann2011-12-242-7/+4
|\|
| * output/osx: clear render buffer when there's not enough dataMax Kellermann2011-12-241-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.
| * output/osx: remove sleep call from render callbackMax Kellermann2011-12-241-4/+0
| | | | | | | | | | Blocking inside the render callback is forbidden, and this sleep call didn't make any sense.
| * Playlist: fix bug in moving after current songMaarten Sebregts2011-12-211-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.
* | command: new command "seekcur"Max Kellermann2011-12-244-0/+57
| | | | | | | | For simpler seeking within current song.
* | output/openal: improve synchronizationMax Kellermann2011-12-131-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.
* | output/openal: move code to inline functionsMax Kellermann2011-12-131-9/+25
| |
* | output/openal: use alGetSourcei(AL_BUFFER) to force-unqueue buffersMax Kellermann2011-12-131-14/+4
| | | | | | | | | | | | | | | | The implementation of cancel() did not work well: you cannot use alSourceUnqueueBuffers() to unqueue queued buffers, and our function openal_unqueue_buffers() left the OpenAL library in a rather undefined state; nothing was supposed to be queued, but the "filled" variable was not reset.
* | output/openal: make attribute "filled" unsignedMax Kellermann2011-12-131-1/+1
| |
* | output/openal: remove bogus format check from _open()Max Kellermann2011-12-131-8/+0
| | | | | | | | The expression "!format" does not make sense, and cannot occur.
* | output/fifo: implement output_plugin method delay()Max Kellermann2011-12-131-3/+11
| |
* | output/null: implement output_plugin method delay()Max Kellermann2011-12-131-3/+11
| |
* | output/null: don't initialize the "timer" attribute in _init()Max Kellermann2011-12-131-6/+1
| | | | | | | | Unnecessary overhead.
* | Merge branch 'v0.16.x'Max Kellermann2011-12-136-14/+18
|\| | | | | | | | | | | Conflicts: NEWS configure.ac
| * output/openal: force 16 bit playback, as 8 bit doesn't workMax Kellermann2011-12-131-10/+4
| | | | | | | | | | | | The OpenAL specification says that AL_FORMAT_MONO8 and AL_FORMAT_STEREO8 expect unsigned 8 bit samples, but MPD uses unsigned samples.
| * timer: fix time unit mixup in timer_delay()Max Kellermann2011-12-131-1/+1
| | | | | | | | | | | | | | The local variable was already divided by 1000, and the return value was being divided by 1000 again - doh! This caused delays in the httpd output plugin that were too small by three orders of magnitude, and the buffer was filled too quickly.
| * update_walk: print debug message for song_file_load()Max Kellermann2011-12-131-0/+2
| |
| * decoder/mp4ff: work around assertion failure in read() callbackMax Kellermann2011-12-131-0/+6
| | | | | | | | | | This workaround leads to an infinite loop instead of an assertion failure, but hey, now it's libmp4ff's fault.
| * cmdline: Remove duplicate g_free()sAvuton Olrich2011-12-121-2/+0
| |
| * configure/utils: Add ipv6 support for mingw buildAvuton Olrich2011-12-121-1/+5
| |
* | pcm_buffer: poison the old buffer before returning itMax Kellermann2011-12-131-0/+4
| | | | | | | | | | | | Make valgrind find more buffer misuses. Buffer contents are not persistent, they get invalidated by pcm_buffer_get(), because this function may allocate a new buffer, but will not copy old data.
* | pcm_buffer, output_plugin, ...: include config.hMax Kellermann2011-12-133-0/+4
| |
* | pcm_buffer: eliminate merge conflict falloutMax Kellermann2011-12-131-4/+0
| |
* | winmm_output_plugin: fail if wrong device specified instead of using fallback.Denis Krjuchkov2011-12-131-12/+29
| | | | | | | | | | Silently choosing default is misleading and can cause hours of investigation. It's better to fail immediately telling user what is wrong with config.
* | output_init: initialize replay gain filters to NULL in ao_base_init()Denis Krjuchkov2011-12-131-0/+2
| | | | | | | | | | | | If output plugin fails to init it will try to call ao_base_finish() immediately, which segfaults because replay gain filters are not initialized yet and contain garbage values.
* | input/soup: disable -Wcast-qual to work around libsoup header problemMax Kellermann2011-12-121-0/+13
| |
* | Merge branch 'v0.16.x'Max Kellermann2011-11-2817-78/+410
|\| | | | | | | | | | | | | | | | | | | Conflicts: Makefile.am NEWS configure.ac src/encoder/flac_encoder.c src/log.c src/pcm_buffer.c
| * decoder/ffmpeg: work around bogus channel countMax Kellermann2011-11-281-8/+12
| | | | | | | | | | Initialize the audio_format before calling avcodec_open(), because avcodec_open() will fill bogus values.
| * mapper: check "r" permission on music directoryMax Kellermann2011-11-281-0/+7
| | | | | | | | Yet another common support case.
| * mapper: check "x" permission on music directoryMax Kellermann2011-11-281-0/+8
| | | | | | | | | | This is a common support case, and hopefully, the new error message will allow the user to understand the error without requiring support.
| * mapper: fix the bogus "not a directory" error messageMax Kellermann2011-11-281-1/+13
| | | | | | | | | | Use stat() instead of g_file_test() to detect other types of errors, such as "permission denied".
| * mapper: move code to check_directory()Max Kellermann2011-11-281-8/+11
| |