Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | input/curl: clear the "paused" flag before resuming | Max Kellermann | 2011-09-16 | 1 | -1/+1 | |
| | | | | | | | | | | curl_easy_pause(CURLPAUSE_CONT) may have added enough data to go into pause again. | |||||
* | | input/curl: remove _schedule_update() | Max Kellermann | 2011-09-16 | 1 | -48/+1 | |
| | | | | | | | | | | Call _update_fds() directly. This is possible because it's only called from within the I/O thread. | |||||
* | | input/curl: unlock the mutex for io_thread_call() | Max Kellermann | 2011-09-16 | 1 | -1/+4 | |
| | | | | | | | | Fix deadlock. | |||||
* | | test/test_queue_priority: work around "set but not used" warning | Max Kellermann | 2011-09-16 | 1 | -0/+1 | |
| | | ||||||
* | | input/soup: fix "unused local variable" warnings | Max Kellermann | 2011-09-16 | 1 | -1/+1 | |
| | | ||||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-09-16 | 5 | -7/+11 | |
|\| | ||||||
| * | configure.ac: disable assertions in the non-debugging build | Max Kellermann | 2011-09-16 | 2 | -4/+4 | |
| | | | | | | | | Add -DNDEBUG to AM_CPPFLAGS. | |||||
| * | input/curl, output/pulse: fix "unused local variable" warnings | Max Kellermann | 2011-09-16 | 2 | -2/+3 | |
| | | ||||||
| * | configure.ac: enable -Werror for C++ | Max Kellermann | 2011-09-16 | 1 | -0/+1 | |
| | | ||||||
| * | configure.ac: pass AM_CXXFLAGS, AM_CPPFLAGS to Makefile.am | Max Kellermann | 2011-09-16 | 2 | -1/+3 | |
| | | ||||||
* | | input_stream: add "nonnull" attributes | Max Kellermann | 2011-09-15 | 1 | -0/+12 | |
| | | ||||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-09-15 | 4 | -11/+44 | |
|\| | | | | | | | | | | | Conflicts: NEWS configure.ac | |||||
| * | decoder/ffmpeg: flush the codec after seeking | Max Kellermann | 2011-09-15 | 1 | -1/+3 | |
| | | | | | | | | | | Let the codec start with fresh buffers. This should fix the remaining seeking issues. | |||||
| * | decoder/ffmpeg: explicitly specify the current stream for seeking | Max Kellermann | 2011-09-15 | 1 | -2/+11 | |
| | | | | | | | | | | Use AVStream.time_base to convert the decoder_seek_where() value, and pass the current stream number to av_seek_frame(). | |||||
| * | decoder/ffmpeg: don't require key frame for seeking | Max Kellermann | 2011-09-15 | 2 | -1/+3 | |
| | | | | | | | | Use flag AV_TIME_BASE. | |||||
| * | decoder/ffmpeg: higher precision timestamps | Max Kellermann | 2011-09-15 | 2 | -1/+4 | |
| | | ||||||
| * | decoder/ffmpeg: move formula to time_from_ffmpeg() | Max Kellermann | 2011-09-15 | 1 | -2/+10 | |
| | | ||||||
| * | decoder/ffmpeg: add local variable "av_stream" | Max Kellermann | 2011-09-15 | 1 | -3/+4 | |
| | | | | | | | | Code simplification. | |||||
| * | input/rewind: copy the MIME type only once | Max Kellermann | 2011-09-15 | 2 | -1/+5 | |
| | | | | | | | | Reduce heap usage by reducing the number of malloc() / free() calls. | |||||
| * | .gitignore: add doxygen.conf | Max Kellermann | 2011-09-09 | 1 | -0/+1 | |
| | | ||||||
| * | pcm_format: fix 32-to-24 bit conversion (the "silence" bug) | Max Kellermann | 2011-09-08 | 2 | -2/+3 | |
| | | | | | | | | | | | | D'oh, we were reading 16 bit integers instead of 32 bit integers! That caused silence when trying to play a 32 bit input file on a 24 bit sound card (e.g. USB sound chips with 24 bit packed samples). | |||||
| * | Modify version string to post-release version 0.16.5~git | Avuton Olrich | 2011-09-01 | 2 | -1/+4 | |
| | | ||||||
* | | input/curl: per-request mutex/cond | Max Kellermann | 2011-09-15 | 1 | -33/+35 | |
| | | | | | | | | | | | | | | The global data structures are now lock-free, because they are accessed only from the I/O thread. By using per-request locks, we have finer grained locking, preparing for locks shared with the client. | |||||
* | | input/curl: move all libCURL calls to the I/O thread | Max Kellermann | 2011-09-15 | 1 | -29/+69 | |
| | | | | | | | | | | | | This adds some overheads for indirect calls to the I/O thread, but reduces the amount of global locks. Next step will be switching to per-request locks. | |||||
* | | input/file: return NULL instead of "false" | Max Kellermann | 2011-09-15 | 2 | -5/+5 | |
| | | ||||||
* | | Makefile.am: allow out-of-tree sparse call | Max Kellermann | 2011-09-15 | 1 | -1/+2 | |
| | | ||||||
* | | input/curl: don't set "ready" on _easy_free() | Max Kellermann | 2011-09-15 | 1 | -3/+2 | |
| | | | | | | | | | | Move the assignment to _request_done(), right before the GCond is signalled. This might fix spurious wakeups. | |||||
* | | input/curl: add assertions on io_thread_inside() | Max Kellermann | 2011-09-15 | 1 | -0/+9 | |
| | | ||||||
* | | input/curl: merge _request_abort() into _request_done() | Max Kellermann | 2011-09-15 | 1 | -31/+19 | |
| | | | | | | | | | | This is a trivial function. Merge some duplicate code, e.g. the g_cond_broadcast() call. | |||||
* | | udp_server: disable -Wmissing-field-initializers | Max Kellermann | 2011-09-15 | 1 | -0/+7 | |
| | | ||||||
* | | gcc.h: add macro GCC_CHECK_VERSION | Max Kellermann | 2011-09-15 | 1 | -1/+6 | |
| | | ||||||
* | | input/curl: API documentation fix | Max Kellermann | 2011-09-15 | 1 | -1/+1 | |
| | | ||||||
* | | input_plugin: add method update() | Max Kellermann | 2011-09-14 | 4 | -0/+33 | |
| | | | | | | | | | | Update the struct attributes, important for facades like the "rewind" plugin. To replace buffer(). | |||||
* | | input_internal: add assertions | Max Kellermann | 2011-09-14 | 1 | -0/+9 | |
| | | ||||||
* | | input_stream: move input_stream_init(), _deinit() to _internal.c | Max Kellermann | 2011-09-14 | 15 | -20/+89 | |
| | | ||||||
* | | decoder_internal: don't call input_stream_buffer() | Max Kellermann | 2011-09-14 | 3 | -37/+12 | |
| | | | | | | | | | | | | This is not necessary since all relevant input plugins have been moved to the I/O thread, and there is no remaining useful buffer() implementation. This also fixes a busy loop when playing radio. | |||||
* | | test/read_tags: initialize the tag_pool library | Max Kellermann | 2011-09-13 | 1 | -0/+5 | |
| | | ||||||
* | | test/read_tags: call g_thread_init() | Max Kellermann | 2011-09-13 | 1 | -0/+1 | |
| | | | | | | | | Needed for the I/O thread. | |||||
* | | db_print: move code to function db_selection_print() | Max Kellermann | 2011-09-13 | 8 | -134/+27 | |
| | | | | | | | | Use it in handle_lsinfo(), and eliminate some duplicate code. | |||||
* | | db_visitor: add method playlist() | Max Kellermann | 2011-09-13 | 3 | -0/+54 | |
| | | ||||||
* | | db_plugin: add method visit() | Max Kellermann | 2011-09-13 | 8 | -22/+148 | |
| | | ||||||
* | | database: don't allow uri==NULL | Max Kellermann | 2011-09-13 | 7 | -10/+34 | |
| | | | | | | | | Add nonnull attributes and fix all callers. | |||||
* | | gcc.h: add macro gcc_nonnull | Max Kellermann | 2011-09-13 | 1 | -0/+4 | |
| | | ||||||
* | | gcc.h: change "mpd_" prefix to "gcc_" | Max Kellermann | 2011-09-13 | 2 | -19/+19 | |
| | | | | | | | | This is specific to gcc, not to mpd. | |||||
* | | db_plugin: add method get_song() | Max Kellermann | 2011-09-13 | 3 | -2/+39 | |
| | | | | | | | | New db_get_song() implementation. | |||||
* | | database: generate GError when database is disabled | Max Kellermann | 2011-09-13 | 3 | -5/+20 | |
| | | ||||||
* | | directory: don't visit "self" in _walk() | Max Kellermann | 2011-09-13 | 2 | -4/+8 | |
| | | | | | | | | Let the caller decide if the current directory should be visited. | |||||
* | | locate: remove unused function locate_item_new() | Max Kellermann | 2011-09-13 | 2 | -17/+0 | |
| | | ||||||
* | | directory: don't require a "directory" visitor | Max Kellermann | 2011-09-13 | 1 | -6/+6 | |
| | | | | | | | | | | .. to recurse. A visitor may not have one, but still be interested in a recursive search. | |||||
* | | database: add struct db_visitor | Max Kellermann | 2011-09-13 | 13 | -196/+363 | |
| | | | | | | | | Use this struct for db_walk(). |