aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* decoder/ffmpeg: improve "decoding failed" messageJonathan Neuschäfer2012-05-291-1/+1
| | | | | "Frame skipped" might cause the impression that the decoding of a whole song failed.
* decoder/ffmpeg: add webm as a supported formatJonathan Neuschäfer2012-05-291-1/+3
|
* encoder/vorbis: generate end-of-stream packet when playback endsMax Kellermann2012-04-056-4/+42
| | | | | Add the encoder_plugin method end(). This is important for the recorder plugin.
* encoder_plugin: add state assertionsMax Kellermann2012-04-051-2/+61
|
* encoder/vorbis: generate end-of-stream packet before tagMax Kellermann2012-04-041-2/+0
| | | | | Don't reset the ogg_stream_state object, because this discards the end-of-stream packet that was just added.
* output/jack: check for connection failure before starting playbackMax Kellermann2012-04-041-0/+3
|
* output/jack: workaround for libjack1 crash bugMax Kellermann2012-04-041-0/+13
|
* directory: use strrchr() instead of g_basename()Max Kellermann2012-04-041-1/+9
| | | | g_basename() is deprecated in GLib 2.32.
* uri: remove g_basename() call from uri_get_suffix()Max Kellermann2012-04-041-2/+2
| | | | | g_basename() is deprecated in GLib 2.32. Instead, verify that the suffix does not have a backslash, to catch Windows path names.
* update: properly skip symlinks in path that is to be updated.Anton Khirnov2012-04-041-1/+5
|
* output/osx: use the fifo_buffer library instead of rolling ownMax Kellermann2012-03-281-56/+37
| | | | | | | | The existing buffer implementation has a major flaw: it is unable to re-fill the buffer until it has been consumed completely, leading to many occasions where the render callback needs to generate silence, just because the play() implementation was unable to append more data. The fifo_buffer library handles that well.
* Use g_message and not g_debug when removing songDan McGee2012-03-261-1/+1
| | | | | | | | | When adding or updating a song, we get a log message even if debug is not enabled. It seems odd that removing a song shouldn't be done at the same log level; otherwise looking at the log leads you to believe songs are never removed from the library on update. Signed-off-by: Dan McGee <dan@archlinux.org>
* event_pipe, test: explicitly ignore write() return valueMax Kellermann2012-03-191-1/+2
| | | | | Some compilers are very picky, but we really aren't interested in the return value.
* decoder/audiofile: fix compiler warnings with libaudiofile 0.3.3Jonathan Neuschäfer2012-03-191-4/+4
| | | | This might break older versions, I didn't test.
* text_input_stream: detect end-of-fileMax Kellermann2012-03-191-2/+17
| | | | | Fixes endless loop when the last line of a text file was not terminated (bug 3470).
* decoder/ffmpeg: read the "year" tagMax Kellermann2012-02-131-1/+1
| | | | | | This was disabled when compiled with a new ffmpeg version. Older ffmpeg versions used it explicitly, while newer ones may pass it through from the codec.
* decoder_api: check state before emitting initial seek commandMax Kellermann2012-02-131-0/+6
| | | | This fixes seeking in the vorbis decoder during MPD startup.
* pcm_buffer: pcm_buffer_get() never returns NULLMax Kellermann2012-02-132-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 checkMax Kellermann2012-02-131-5/+1
| | | | pcm_buffer_get() cannot ever return NULL.
* decoder/ffmpeg: use AV_SAMPLE_FMT_* if availableMax Kellermann2012-02-031-0/+8
| | | | | Implements support for libavcodec 0.9, which removes the compatibility macros SAMPLE_FMT_*
* decoder/ffmpeg: use sentinel for the ffmpeg_tag_maps tableMax Kellermann2012-02-031-3/+6
| | | | Minor optimisation.
* decoder/ffmpeg: support all MPD tagsMax Kellermann2012-02-031-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 Kellermann2012-02-031-5/+6
| | | | Allow using this function without the ffmpeg_tag_map struct.
* decoder/ffmpeg: merge code to _copy_dictionary()Max Kellermann2012-02-031-6/+11
| | | | Eliminate some duplicate code.
* decoder/ffmpeg: add macros emulating AVDictionaryMax Kellermann2012-02-031-13/+7
| | | | Move the #ifdefs out of _copy_metadata().
* decoder/ffmpeg: _copy_metadata() returns voidMax Kellermann2012-02-031-3/+1
| | | | No interest in this return value.
* 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.
* 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: 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.
* 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
|
* 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
|