Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | decoder_api: check state before emitting initial seek command | Max Kellermann | 2012-02-13 | 1 | -0/+6 |
| | | | | This fixes seeking in the vorbis decoder during MPD startup. | ||||
* | pcm_buffer: pcm_buffer_get() never returns NULL | Max Kellermann | 2012-02-13 | 2 | -0/+9 |
| | | | | | | This fixes a bug when libsamplerate returns an empty buffer for a very small input buffer. The caller thinks this is an error, bug there is no GError object. | ||||
* | output/winmm: remove pointless NULL check | Max Kellermann | 2012-02-13 | 1 | -5/+1 |
| | | | | pcm_buffer_get() cannot ever return NULL. | ||||
* | decoder/ffmpeg: use AV_SAMPLE_FMT_* if available | Max Kellermann | 2012-02-03 | 1 | -0/+8 |
| | | | | | Implements support for libavcodec 0.9, which removes the compatibility macros SAMPLE_FMT_* | ||||
* | decoder/ffmpeg: use sentinel for the ffmpeg_tag_maps table | Max Kellermann | 2012-02-03 | 1 | -3/+6 |
| | | | | Minor optimisation. | ||||
* | decoder/ffmpeg: support all MPD tags | Max Kellermann | 2012-02-03 | 1 | -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 Kellermann | 2012-02-03 | 1 | -5/+6 |
| | | | | Allow using this function without the ffmpeg_tag_map struct. | ||||
* | decoder/ffmpeg: merge code to _copy_dictionary() | Max Kellermann | 2012-02-03 | 1 | -6/+11 |
| | | | | Eliminate some duplicate code. | ||||
* | decoder/ffmpeg: add macros emulating AVDictionary | Max Kellermann | 2012-02-03 | 1 | -13/+7 |
| | | | | Move the #ifdefs out of _copy_metadata(). | ||||
* | decoder/ffmpeg: _copy_metadata() returns void | Max Kellermann | 2012-02-03 | 1 | -3/+1 |
| | | | | No interest in this return value. | ||||
* | decoder/ffmpeg: check libavutil version for AVDictionaryEntry | Max Kellermann | 2012-01-12 | 1 | -1/+5 |
| | | | | Require libavutil 51.5.0. | ||||
* | decoder/ffmpeg: raise version dependency for avformat_find_stream_info() | Max Kellermann | 2012-01-12 | 1 | -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. | ||||
* | decoder/ffmpeg: support libavformat 0.8 | Max Kellermann | 2012-01-05 | 1 | -2/+46 |
| | |||||
* | decoder/ffmpeg: use avcodec_decode_audio4(), support libavcodec 0.8 | Max Kellermann | 2012-01-04 | 1 | -1/+58 |
| | |||||
* | decoder/ffmpeg: include libavutil/mathematics.h | Max Kellermann | 2012-01-04 | 1 | -0/+1 |
| | | | | Needed for av_rescale_q() in ffmpeg 0.8. | ||||
* | decoder/ffmpeg: use avcodec_open2() on newer ffmpeg versions | Max Kellermann | 2012-01-04 | 1 | -1/+6 |
| | | | | avcodec_open() has been deprecated. | ||||
* | decoder/ffpmeg: don't use av_metadata_conv() in ffmpeg 0.7 | Max Kellermann | 2012-01-04 | 1 | -0/+2 |
| | | | | It's a no-op and deprecated. | ||||
* | decoder/ffmpeg: use AVIOContext instead of ByteIOContext | Max Kellermann | 2012-01-04 | 1 | -0/+8 |
| | |||||
* | input/ffmpeg: use the new AVIOContext API | Max Kellermann | 2012-01-04 | 1 | -1/+37 |
| | | | | URLContext is deprecated. | ||||
* | input/ffmpeg: define AV_VERSION_INT if not present | Max Kellermann | 2012-01-04 | 1 | -0/+4 |
| | | | | Support ancient ffmpeg versions. | ||||
* | output/osx: clear render buffer when there's not enough data | Max Kellermann | 2011-12-24 | 1 | -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 callback | Max Kellermann | 2011-12-24 | 1 | -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 song | Maarten Sebregts | 2011-12-21 | 1 | -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. | ||||
* | output/openal: force 16 bit playback, as 8 bit doesn't work | Max Kellermann | 2011-12-13 | 1 | -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 Kellermann | 2011-12-13 | 1 | -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 Kellermann | 2011-12-13 | 1 | -0/+2 |
| | |||||
* | decoder/mp4ff: work around assertion failure in read() callback | Max Kellermann | 2011-12-13 | 1 | -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()s | Avuton Olrich | 2011-12-12 | 1 | -2/+0 |
| | |||||
* | configure/utils: Add ipv6 support for mingw build | Avuton Olrich | 2011-12-12 | 1 | -1/+5 |
| | |||||
* | decoder/ffmpeg: work around bogus channel count | Max Kellermann | 2011-11-28 | 1 | -8/+12 |
| | | | | | Initialize the audio_format before calling avcodec_open(), because avcodec_open() will fill bogus values. | ||||
* | mapper: check "r" permission on music directory | Max Kellermann | 2011-11-28 | 1 | -0/+7 |
| | | | | Yet another common support case. | ||||
* | mapper: check "x" permission on music directory | Max Kellermann | 2011-11-28 | 1 | -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 message | Max Kellermann | 2011-11-28 | 1 | -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 Kellermann | 2011-11-28 | 1 | -8/+11 |
| | |||||
* | log: print reason for failure | Max Kellermann | 2011-11-28 | 1 | -2/+2 |
| | |||||
* | encoder/wave: support packed 24 bit samples | Max Kellermann | 2011-11-28 | 1 | -0/+5 |
| | | | | Convert to padded 24 bit samples, instead of falling back to 16 bit. | ||||
* | encoder/null: use fifo_buffer instead of pcm_buffer | Max Kellermann | 2011-11-28 | 1 | -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. | ||||
* | encoder/wave: use fifo_buffer instead of pcm_buffer | Max Kellermann | 2011-11-28 | 1 | -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. | ||||
* | encoder/flac: use fifo_buffer instead of pcm_buffer | Max Kellermann | 2011-11-28 | 1 | -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. | ||||
* | growing_fifo: new utility library for growing fifo_buffer | Max Kellermann | 2011-11-28 | 2 | -0/+163 |
| | |||||
* | fifo_buffer: add function fifo_buffer_realloc() | Max Kellermann | 2011-11-28 | 2 | -2/+47 |
| | | | | For growing FIFO buffers. | ||||
* | fifo_buffer: add functions _capacity() and _available() | Max Kellermann | 2011-11-27 | 2 | -0/+29 |
| | |||||
* | pcm_buffer: add assertions | Max Kellermann | 2011-11-27 | 2 | -0/+10 |
| | |||||
* | pcm_buffer: move formula to new function align_8k() | Max Kellermann | 2011-11-27 | 1 | -2/+11 |
| | |||||
* | pcm_buffer: un-inline pcm_buffer_get() | Max Kellermann | 2011-11-27 | 2 | -14/+38 |
| | | | | This method is too complex for inlining. | ||||
* | directory: rename attribute "stat" to "have_stat" | Max Kellermann | 2011-11-27 | 2 | -3/+3 |
| | | | | | "stat" is a macro on mingw32, which is a pretty stupid thing, and this commit works around this build failure. | ||||
* | directory: convert "stat" to a bool | Max Kellermann | 2011-11-27 | 2 | -2/+2 |
| | |||||
* | stats: explicitly cast "time_t" to "long" | Max Kellermann | 2011-11-27 | 1 | -1/+1 |
| | | | | Fixes warning on mingw32. | ||||
* | decoder_api: cancel initial seek when song is not seekable | Max Kellermann | 2011-11-27 | 1 | -0/+6 |
| | | | | Fixes assertion failure. | ||||
* | path: autodetect filesystem encoding on Win32 | Denis Krjuchkov | 2011-10-23 | 1 | -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. |