Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2012-03-28 | output/osx: use the fifo_buffer library instead of rolling own | Max Kellermann | 1 | -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. | |||||
2012-02-13 | output/winmm: remove pointless NULL check | Max Kellermann | 1 | -5/+1 | |
pcm_buffer_get() cannot ever return NULL. | |||||
2011-12-24 | output/osx: clear render buffer when there's not enough data | Max Kellermann | 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. | |||||
2011-12-24 | output/osx: remove sleep call from render callback | Max Kellermann | 1 | -4/+0 | |
Blocking inside the render callback is forbidden, and this sleep call didn't make any sense. | |||||
2011-12-13 | output/openal: force 16 bit playback, as 8 bit doesn't work | Max Kellermann | 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. | |||||
2011-10-08 | output/openal: auto-fallback to mono if channel count is unsupported | Max Kellermann | 1 | -9/+9 | |
.. instead of failing playback completely. | |||||
2011-10-08 | output/alsa: remove "default" case from switch | Max Kellermann | 1 | -3/+6 | |
Allow gcc to warn when a new format isn't supported. | |||||
2011-09-20 | fd_util: add function close_socket() | Max Kellermann | 1 | -2/+2 | |
Wrap close(), use closesocket() on WIN32/WinSock. | |||||
2011-09-20 | glib_socket.h: wrap g_io_channel_*_new() calls portably | Max Kellermann | 1 | -5/+2 | |
The server_socket library (used by the httpd output plugin) didn't check for WIN32, that's fixed now. | |||||
2011-09-19 | configure.ac: add option --enable-solaris-output | Max Kellermann | 1 | -1/+19 | |
Allow enabling the plugin explicitly without running Solaris, to test the build. | |||||
2011-09-17 | output/pulse: improve locking | Max Kellermann | 1 | -11/+11 | |
Always lock the main loop when operating on PULSE objects. Document this. | |||||
2011-09-16 | input/curl, output/pulse: fix "unused local variable" warnings | Max Kellermann | 1 | -1/+2 | |
2011-09-01 | output/osx: don't drain the buffer when closing | Max Kellermann | 1 | -6/+0 | |
Eliminate an unnecessary source of deadlocks. | |||||
2011-09-01 | output/osx: signal the GCond while mutex is locked | Max Kellermann | 1 | -1/+1 | |
2011-08-31 | output/pulse: reset callbacks before closing stream/context | Max Kellermann | 1 | -0/+10 | |
Fixes assertion failure when a stream callback is invoked too late after a format change. | |||||
2011-08-31 | output/pulse: add function _delete_stream() | Max Kellermann | 1 | -5/+16 | |
Merge common code. | |||||
2011-08-31 | output/pulse: use _delete_context() | Max Kellermann | 1 | -16/+15 | |
Eliminate duplicate code. | |||||
2011-08-23 | output/pulse: fix deadlock when the stream was suspended | Max Kellermann | 1 | -0/+31 | |
Check if the stream is suspended; wake up the main loop when it becomes suspended. | |||||
2011-08-23 | output/pulse: add assertions | Max Kellermann | 1 | -0/+30 | |
2011-08-23 | output/pulse: return 0 on error | Max Kellermann | 1 | -1/+1 | |
Not a bool. | |||||
2011-08-23 | pulse/output: fix deadlock when resuming the stream | Max Kellermann | 1 | -1/+3 | |
Unlock the mainloop in all code paths. | |||||
2011-08-23 | output/httpd: add assertions | Max Kellermann | 1 | -1/+17 | |
2011-08-23 | output/httpd: don't warn on client disconnect | Max Kellermann | 1 | -1/+8 | |
This warning should only be logged when we really received something. When the client disconnects, G_IO_IN is triggered, and the read returns G_IO_STATUS_EOF. | |||||
2011-07-20 | encoder_plugin: add method pre_tag() | Max Kellermann | 2 | -2/+2 | |
In the "vorbis" plugin, this is a copy of the old flush() method, while flush() gets a lot of code remove, it just sets the "flush" flag and nothing else. It doesn't start a new stream now, which should fix a few problems in some players. | |||||
2011-07-20 | output/httpd: explicitly convert size_t to bool in pause() | Max Kellermann | 1 | -1/+2 | |
2011-07-20 | output/alsa: fix SIGFPE when alsa announces a period size of 0 | Max Kellermann | 1 | -0/+8 | |
2011-07-18 | output/shout: fix a memory leak | Jonathan Neuschäfer | 1 | -12/+16 | |
2011-07-18 | output/recorder: fix a memory leak | Jonathan Neuschäfer | 1 | -3/+7 | |
2011-07-18 | output/httpd: add missing g_free in error path | Jonathan Neuschäfer | 1 | -0/+1 | |
2011-07-18 | output/ao: add missing g_free in error path | Jonathan Neuschäfer | 1 | -0/+3 | |
2011-03-18 | output/httpd: include sys/socket.h only when building with libwrap | Max Kellermann | 1 | -1/+1 | |
Fixes build failure on WIN32. | |||||
2011-03-09 | output/httpd: include sys/socket.h for AF_UNIX | Ulrich Spörlein | 1 | -0/+1 | |
2011-02-28 | output/oss: disable 24 bit playback on FreeBSD | Max Kellermann | 1 | -0/+9 | |
See code comment. | |||||
2011-02-28 | output/oss: AFMT_S24_PACKED is little-endian | Max Kellermann | 1 | -0/+12 | |
According to the Solaris dsp manpage, AFMT_S24_PACKED is little-endian: http://download.oracle.com/docs/cd/E19963-01/821-1475/6nmf5baot/index.html The Minix soundcard.h header says the same. | |||||
2011-02-27 | output/jack: fix crash with mono playback | Max Kellermann | 1 | -1/+1 | |
With mono sound, jack_sample_size is smaller than frame_size (4 vs 2 bytes), and "space/jack_sample_size==0". That means mpd_jack_play() will return 0, although no error has occurred. | |||||
2011-02-25 | output/jack: rename variable sample_size to jack_sample_size | Max Kellermann | 1 | -5/+6 | |
2011-02-15 | Insure proper initialization of stack-allocated struct. | Christopher Brannon | 1 | -1/+4 | |
Version 1.0.0 of the libao library added a new field to the ao_sample_format struct. It is a char * named matrix. When an ao_sample_format is allocated on the stack, this field contains garbage. The proper course is to insure that is initialized to NULL. NULL indicates that we do not want any mapping. The struct is now initialized using a static initializer, and this technique is compatible with all known versions of libao. | |||||
2011-02-09 | general: whitespace cleanup | Thomas Jansen | 3 | -3/+3 | |
Remove trailing whitespace found by this command: find -name '*.[ch]' | xargs grep "[[:space:]]$" | |||||
2011-02-09 | output/httpd: initialize unflushed_input | Thomas Jansen | 1 | -0/+1 | |
This fixes the following valgrind warning occuring on the first call of httpd_output_read_page: ==20124== Conditional jump or move depends on uninitialised value(s) ==20124== at 0x425E65: httpd_output_read_page (httpd_output_plugin.c:240) ==20124== by 0x426087: httpd_output_open (httpd_output_plugin.c:279) ==20124== by 0x41D862: ao_open (output_plugin.h:206) ==20124== by 0x41E133: audio_output_task (output_thread.c:590) | |||||
2011-01-07 | output/httpd: define G_LOG_DOMAIN in httpd_client.c | Max Kellermann | 1 | -0/+3 | |
2011-01-07 | output/osx: fix up audio format first, then apply it to device | Max Kellermann | 1 | -9/+10 | |
This is a MPD 0.16 regression: when playing a 24 bit file, the switch to 16 bit was made only partially, after mBytesPerPacket and mBytesPerFrame had already been applied. That means mBytesPerFrame referred to 24 bit, and mBitsPerChannel referred to 16 bits. Of course, that cannot work. | |||||
2010-12-21 | output/solaris: add missing parameter to open_cloexec() call | Alex Viskovatoff | 1 | -1/+1 | |
2010-11-08 | output/shout: artist comes first in stream title | Max Kellermann | 1 | -1/+1 | |
After popular demand, I've switched the order of "artist" and "title" in the stream title. There is no standard, and there is no reliable way to parse those from the stream title. | |||||
2010-11-05 | output/alsa: dump buffer and period limits | Max Kellermann | 1 | -0/+20 | |
2010-11-05 | output/httpd: implement delay() | Max Kellermann | 1 | -2/+11 | |
2010-11-05 | output/shout: implement delay() | Max Kellermann | 1 | -8/+13 | |
This makes the plugin more responsive to control commands, because it will listen to control events while waiting. | |||||
2010-11-04 | output/ffado: transfer_playback_buffers() returns a boolean | Max Kellermann | 1 | -1/+4 | |
libffado documentation says this function returns -1 on error, but that is a lie - it returns a boolean value, and "false" means error. | |||||
2010-11-04 | winmm_output: handle empty string case when parsing device id | Denis Krjuchkov | 1 | -1/+1 | |
2010-11-04 | winmm_output: added "device" configuration option | Denis Krjuchkov | 1 | -2/+35 | |
Device can be specified either by magic index (starting with 0) or by device name. | |||||
2010-11-03 | winmm_output: improved test_default_device | Denis Krjuchkov | 1 | -2/+1 | |
If no device is available test_default_device returns false. |