aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
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
2011-12-13output/openal: use alGetSourcei(AL_BUFFER) to force-unqueue buffersMax Kellermann1-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.
2011-12-13output/openal: make attribute "filled" unsignedMax Kellermann1-1/+1
2011-12-13output/openal: remove bogus format check from _open()Max Kellermann1-8/+0
The expression "!format" does not make sense, and cannot occur.
2011-12-13output/fifo: implement output_plugin method delay()Max Kellermann1-3/+11
2011-12-13output/null: implement output_plugin method delay()Max Kellermann1-3/+11
2011-12-13output/null: don't initialize the "timer" attribute in _init()Max Kellermann1-6/+1
Unnecessary overhead.
2011-12-13output/openal: force 16 bit playback, as 8 bit doesn't workMax Kellermann1-10/+4
The OpenAL specification says that AL_FORMAT_MONO8 and AL_FORMAT_STEREO8 expect unsigned 8 bit samples, but MPD uses unsigned samples.
2011-12-13timer: fix time unit mixup in timer_delay()Max Kellermann1-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.
2011-12-13update_walk: print debug message for song_file_load()Max Kellermann1-0/+2
2011-12-13decoder/mp4ff: work around assertion failure in read() callbackMax Kellermann1-0/+6
This workaround leads to an infinite loop instead of an assertion failure, but hey, now it's libmp4ff's fault.
2011-12-13pcm_buffer: poison the old buffer before returning itMax Kellermann1-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.
2011-12-13pcm_buffer, output_plugin, ...: include config.hMax Kellermann3-0/+4
2011-12-13pcm_buffer: eliminate merge conflict falloutMax Kellermann1-4/+0
2011-12-13winmm_output_plugin: fail if wrong device specified instead of using fallback.Denis Krjuchkov1-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.
2011-12-13output_init: initialize replay gain filters to NULL in ao_base_init()Denis Krjuchkov1-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.
2011-12-12input/soup: disable -Wcast-qual to work around libsoup header problemMax Kellermann1-0/+13
2011-12-12cmdline: Remove duplicate g_free()sAvuton Olrich1-2/+0
2011-12-12configure/utils: Add ipv6 support for mingw buildAvuton Olrich1-1/+5
2011-11-28decoder/ffmpeg: work around bogus channel countMax Kellermann1-8/+12
Initialize the audio_format before calling avcodec_open(), because avcodec_open() will fill bogus values.
2011-11-28mapper: check "r" permission on music directoryMax Kellermann1-0/+7
Yet another common support case.
2011-11-28mapper: check "x" permission on music directoryMax Kellermann1-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.
2011-11-28mapper: fix the bogus "not a directory" error messageMax Kellermann1-1/+13
Use stat() instead of g_file_test() to detect other types of errors, such as "permission denied".
2011-11-28mapper: move code to check_directory()Max Kellermann1-8/+11
2011-11-28log: print reason for failureMax Kellermann1-2/+2
2011-11-28encoder/wave: support packed 24 bit samplesMax Kellermann1-0/+5
Convert to padded 24 bit samples, instead of falling back to 16 bit.
2011-11-28encoder/null: use fifo_buffer instead of pcm_bufferMax Kellermann1-19/+15
This fixes a buffer corruption bug; pcm_buffer is not designed to be a persistent buffers, and will discard anything between two consecutive calls.
2011-11-28encoder/wave: use fifo_buffer instead of pcm_bufferMax Kellermann1-19/+27
This fixes a buffer corruption bug; pcm_buffer is not designed to be a persistent buffers, and will discard anything between two consecutive calls.
2011-11-28encoder/flac: use fifo_buffer instead of pcm_bufferMax Kellermann1-16/+20
This fixes a buffer corruption bug; pcm_buffer is not designed to be a persistent buffers, and will discard anything between two consecutive calls.
2011-11-28growing_fifo: new utility library for growing fifo_bufferMax Kellermann2-0/+163
2011-11-28fifo_buffer: add function fifo_buffer_realloc()Max Kellermann2-2/+47
For growing FIFO buffers.
2011-11-27fifo_buffer: add functions _capacity() and _available()Max Kellermann2-0/+29
2011-11-27pcm_buffer: add assertionsMax Kellermann2-0/+10
2011-11-27pcm_buffer: move formula to new function align_8k()Max Kellermann1-2/+11
2011-11-27pcm_buffer: un-inline pcm_buffer_get()Max Kellermann2-14/+38
This method is too complex for inlining.
2011-11-27directory: rename attribute "stat" to "have_stat"Max Kellermann2-3/+3
"stat" is a macro on mingw32, which is a pretty stupid thing, and this commit works around this build failure.
2011-11-27directory: convert "stat" to a boolMax Kellermann2-2/+2
2011-11-27stats: explicitly cast "time_t" to "long"Max Kellermann1-1/+1
Fixes warning on mingw32.
2011-11-27io_thread: fix race condition during startupMax Kellermann1-0/+8
Ensure that the io.thread variable is set before entering the event loop.
2011-11-27decoder_api: cancel initial seek when song is not seekableMax Kellermann1-0/+6
Fixes assertion failure.
2011-10-23path: autodetect filesystem encoding on Win32Denis Krjuchkov1-0/+16
WinAPI explicitly declares filesystem encoding. It can be determined by GetACP(). Use that instead of Glib routine that always "detects" UTF-8 on Win32, which is incorrect for MPD case.
2011-10-20decoder/dsdiff: provide floating point samplesMax Kellermann1-30/+3
Eliminate the conversion to integer samples, the MPD core can do this now.
2011-10-20decoder/wavpack: read float samples as-is, don't convert to integerMax Kellermann1-5/+4
For MPD's new floating point support: when a decoded wavpack file needs to be resampled, don't convert float to int and back to float.
2011-10-20pcm_format: implement conversion to floatMax Kellermann3-1/+218